Sunday, May 18, 2014
Happy Mother's Day 2014
Happy Mother Day 2014 by danil-ko on deviantART
After a week of delay, I finally ended up finish it.
Completed in MyPaint, Krita.
Thanks.
Sincerely,
Danil
Monday, February 17, 2014
Setup Eclipse Binary for Eclipse Official Website in Fedora 20
Following is a sample note to setup eclipse binary from Official Eclipse Website instead of using yum.
I chose to go down this path since yum is several revisions behind the official version.
Thanks.
Sincerely,
Danil
I chose to go down this path since yum is several revisions behind the official version.
# Install jdk development if not already, to prevent some strange behavior when compiling code sudo yum -y install java-1.7.0-openjdk-devel.x86_64 # Download the eclipse from official site. (http://www.eclipse.org/) wget http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR1/eclipse-jee-kepler-SR1-linux-gtk-x86_64.tar.gz eclipse.tar.gz # Unpackage it mkdir -p eclipse cd eclipse tar -xvf ../eclipse.tar.gz # Create eclipse.desktop file cat > ~/eclipse.desktop <<"EOF" [Desktop Entry] Encoding=UTF-8 Name=Eclipse IDE Exec=/opt/eclipse/eclipse Icon=/opt/eclipse/icon.xpm Type=Application Categories=Development; EOF # Make it all permission chmod a+wrx eclipse.desktop cd .. # Copy the binary to opt sudo mv eclipse /opt/eclipse # Make the desktop symbolic link sudo ln /opt/eclipse/eclipse.desktop /usr/share/applications/eclipse.desktopOne should be able to see it in Search Menu
Thanks.
Sincerely,
Danil
Sunday, February 2, 2014
Happy New Year 2014
New Year 2014 by danil-ko on deviantART
Artwork is completed in Krita with GIMP to add texts and some enhancements.
Hope you guys like it and wish you guys happy New Year 2014.
Sincerely,
Danil
Hope you guys like it and wish you guys happy New Year 2014.
Sincerely,
Danil
Sunday, January 26, 2014
OpenShift Origin 3.0 with JBossews CentOS Installation
One can download the CentOS Minimal Image at
http://wiki.centos.org/Download
One of link is
http://mirror.trouble-free.net/centos/6.5/isos/x86_64/
Install the VM Image by using VirtualBox
https://www.virtualbox.org/
It is recommended to use
4GB Memory
40GB Dynamic Disk Space
Following needed to be set
Bridge Adapter
After the installation complete, run following bash script
(Host at github https://github.com/danilko/openshift-origin-3-jbossews-cartridge-installation)
#!/bin/bash
BROKER_OPENSHIFT_HOSTNAME=`hostname`
APP_OPENSHIFT_HOSTNAME=`echo ${BROKER_OPENSHIFT_HOSTNAME} | cut -d '.' -f2-`
# Make eth0 adapater enable during system start up
sed -i 's^ONBOOT=no^ONBOOT=yes^g' /etc/sysconfig/network-scripts/ifcfg-eth0
# Restart network service
service network restart
# Make current hostname to be resolvable
echo -e "\n127.0.0.1 broker.platform.local" >> /etc/hosts
yum -y install java-1.7.0-openjdk-devel wget unzip
cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6*.rpm;
cat > /etc/yum.repos.d/openshift-origin-deps.repo <<"EOF"
[openshift-origin-deps]
name=OpenShift Origin Dependencies - EL6
baseurl=http://mirror.openshift.com/pub/origin-server/release/3/rhel-6/dependencies/$basearch/
gpgcheck=0
EOF
yum install -y ruby193-ruby unzip curl bind httpd-tools puppet augeas
# Install default config file
cat > ~/.openshift/oo-install-cfg.yml <<"EOF"
---
Version: 0.0.1
Description: This is the configuration file for the OpenShift Installer.
Deployment:
DNS:
component_domain: broker.platform.local
register_components: Y
app_domain: platform.local
Hosts:
- ip_addr: 127.0.0.1
named_ip_addr: 127.0.0.1
user: root
host: broker.platform.local
state: new
ip_interface: eth0
roles:
- msgserver
- dbserver
- broker
- node
ssh_host: localhost
Vendor: OpenShift Origin Community
Subscription:
type: yum
jenkins_repo_base: http://pkg.jenkins-ci.org/redhat
repos_base: https://mirror.openshift.com/pub/origin-server/release/3/rhel-6
Name: OpenShift Installer Configuration
EOF
sh <(curl -s https://install.openshift.com/) -w origin_deploy
# Update the DNS of current host
nsupdate -k /var/named/Kplatform.local*.key
server ${BROKER_OPENSHIFT_HOSTNAME}
update delete ${BROKER_OPENSHIFT_HOSTNAME} A
update add 180 A 127.0.0.1
send
quit
######################################
## SSL Cert Generation
######################################
mkdir -p /tmp/pki
cd /tmp/pki
cat > platform.crt.config <<"EOF"
RANDFILE = $ENV::HOME/.rnd
[ req ]
default_bits = 1024
default_keyfile = keyfile.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
prompt = no
output_password = changeme
[ req_distinguished_name ]
C = US
ST = CA
L = SAN JOSE
O = PLATFORM
OU = PLATFORM
CN = *.platform.local
emailAddress = changeme
[ req_attributes ]
challengePassword = changeme
EOF
# Generate a new key that lasts 365 days
openssl req -batch -x509 -nodes -days 365 -newkey rsa:2048 -keyout platform.key -out platform.crt -config platform.crt.config
# Backup old certificate and key
\cp -rf /etc/pki/tls/certs/localhost.crt /etc/pki/tls/certs/localhost.crt.bak
\cp -rf /etc/pki/tls/private/localhost.key /etc/pki/tls/private/localhost.key.bak
# Copy certificate and key
\cp -rf platform.crt /etc/pki/tls/certs/localhost.crt
\cp -rf platform.key /etc/pki/tls/private/localhost.key
# Setup so the serveralias also contain *platform.local
sed -i 's^ServerAlias localhost^ServerAlias localhost *.platform.local^g' /etc/httpd/conf.d/000001_openshift_origin_node.conf
sed -i 's^ServerAlias localhost^ServerAlias localhost *.platform.local^g' /etc/httpd/conf.d/000002_openshift_origin_broker_proxy.conf
# Get certificate through opnenssl
# Do not need since the cert is auto generated
#echo -n | openssl s_client -connect broker.platform.local:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > platform.crt
# Import to java keystore to prevent ssl problem
keytool -import -trustcacerts -keystore /usr/lib/jvm/java-1.7.0-openjdk-1.7.*.x86_64/jre/lib/security/cacerts -storepass changeit -noprompt -alias platform_cert -file /tmp/pki/platform.crt
cd /tmp
rm -rf /tmp/pki
# Restart httpd
service httpd restart
# Ensure cgconfig and cgred is on to make sure gear config
/sbin/chkconfig cgconfig on
/sbin/chkconfig cgred on
reboot now
After the reboot, run the following bash script
#!/bin/bash
cd /tmp
TOMCAT7_VER=7.0.50
TOMCAT6_VER=6.0.37
MAVEN_VER=3.1.1
# Download binary
wget http://supergsego.com/apache/tomcat/tomcat-7/v${TOMCAT7_VER}/bin/apache-tomcat-${TOMCAT7_VER}.tar.gz
wget http://apache.mirrors.hoobly.com/tomcat/tomcat-6/v${TOMCAT6_VER}/bin/apache-tomcat-${TOMCAT6_VER}.tar.gz
wget http://apache.petsads.us/maven/maven-3/3.1.1/binaries/apache-maven-${MAVEN_VER}-bin.tar.gz
wget https://github.com/openshift/origin-server/archive/openshift-origin-release-3.zip
# Untar/Unzip binaries
tar -xvf apache-tomcat-${TOMCAT7_VER}.tar.gz
tar -xvf apache-tomcat-${TOMCAT6_VER}.tar.gz
tar -xvf apache-maven-${MAVEN_VER}-bin.tar.gz
unzip openshift-origin-release-3.zip
######################################
## Install Maven
######################################
\cp -rf apache-maven-${MAVEN_VER} /etc/alternatives/maven
# Setup maven path system wide
echo -e 'export M2_HOME=/etc/alternatives/maven\nexport PATH=${M2_HOME}/bin:${PATH}' > /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
mvn -v
######################################
## Install JBossews
######################################
# Copy jbossews/tomcat to correct location
\cp -rf apache-tomcat-${TOMCAT6_VER} /etc/alternatives/jbossews-1.0
\cp -rf apache-tomcat-${TOMCAT7_VER} /etc/alternatives/jbossews-2.0
# Copy openshift cartridges
\cp -rf origin-server-openshift-origin-release-3/cartridges/openshift-origin-cartridge-jbossews /usr/libexec/openshift/cartridges/jbossews
chmod a+x /usr/libexec/openshift/cartridges/jbossews/bin/*
# Install the cartridge
oo-admin-cartridge -a install -s /usr/libexec/openshift/cartridges/jbossews
# Clear broker cache
oo-admin-broker-cache -c
# Clean up folder
rm -rf origin-server-openshift-origin-release-3
rm -rf apache-maven-${MAVEN_VER}
rm -rf apache-tomcat-${TOMCAT7_VER}
rm -rf apache-tomcat-${TOMCAT6_VER}
######################################
## Change Default User Gear Size all to medium
######################################
# Resource limit file
RESOURCE_LIMIT_CONFIG_FILE=/etc/openshift/resource_limits.conf
sed -i 's^node_profile=small^node_profile=medium^g' ${RESOURCE_LIMIT_CONFIG_FILE}
sed -i 's^quota_blocks=1048576^quota_blocks=2097152^g' ${RESOURCE_LIMIT_CONFIG_FILE}
sed -i 's^quota_files=80000^quota_files=999999^g' ${RESOURCE_LIMIT_CONFIG_FILE}
sed -i 's^memory_limit_in_bytes=536870912 # 512MB^memory_limit_in_bytes=1073741824 # 1024MB^g' ${RESOURCE_LIMIT_CONFIG_FILE}
sed -i 's^memory_memsw_limit_in_bytes=641728512 # 512M + 100M (100M swap)^memory_memsw_limit_in_bytes=1178599424 # 1024M + 100M (100M swap)^g' ${RESOURCE_LIMIT_CONFIG_FILE}
# Set the file connection limit
RESOURCE_LIMIT_CONFIG_FILE=/etc/security/limits.conf
sed -i 's^#End of file^^g' ${RESOURCE_LIMIT_CONFIG_FILE}
echo -e "\n* soft nofile 32000\n* hard nofile 32000" >> ${RESOURCE_LIMIT_CONFIG_FILE}
echo -e "\n#End of file" >> ${RESOURCE_LIMIT_CONFIG_FILE}
# Reboot node services
service mcollective restart
oo-cgroup-enable --with-all-containers
oo-pam-enable --with-all-containers
oo-admin-ctl-tc restart
sed -i 's^"small"^"medium"^g' /etc/openshift/broker.conf
# Change demo user gear size
oo-admin-ctl-user --removegearsize small -l demo
oo-admin-ctl-user --addgearsize medium -l demo
# Clear broker cache
oo-admin-broker-cache -c
######################################
## Setup rhc tool
######################################
# Setup rhc tool
gem install rhc
echo yes | rhc setup --server=broker.platform.local -l demo -p changeme -k –no-create-token
By the end, one should have a working OpenShift configuration with JBossews Cartridges enable
Thanks.
Sincerely,
Danil
Sunday, February 10, 2013
Jersey + Multipart + Maven
I thought I should write about a problem that takes a long time for me to solve in case I forget about it.
I looked through tutorials and other articles to learn about Jersey Multipart. However, I ran into issues with missing dependency by following these tutorials. I finally solved it by setting up my maven POM file in the following way:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
In short, problems seem to come from version differences across jersey libraries as well as mimepull libraries. All libraries should be the same version. So even if other Jersey libraries already had 1.14 version, it should be safer to use 1.9 version since it was the latest version for mimepull.
The missing dependency error messages were not too informative at this case.
Thanks to authors of original articles and their comments who contribute to the solution.
Hope it helps others.
中文翻譯:
最近花了不少時間解決了一個問題, 想說先把解決方案寫下來以免忘記.
之前幾日在網路上尋找關於Jersey Multipart的教學. 在讀完許多教學後自己寫了一個簡單的範例.但是在Deploy時卻遇到missing dependency的問題. 最後終於在把Maven的POM檔做出以下修改後解決了問題:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
總結是Jersey libraries跟mimepull的版本必須要相同. 不然會出現Missing Dependency的問題. 所以即使Jersey libraries已有1.14版, 這裡必須使用1.9版, 因為mimepull只有到1.9版.
完全沒想到missing dependency會跟版本有相關性.
希望這篇文章可以幫到需要的朋友們.
Original Tutorial Site:
http://www.mkyong.com/webservices/jax-rs/file-upload-example-in-jersey/
Sincerely,
Danil
I looked through tutorials and other articles to learn about Jersey Multipart. However, I ran into issues with missing dependency by following these tutorials. I finally solved it by setting up my maven POM file in the following way:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
In short, problems seem to come from version differences across jersey libraries as well as mimepull libraries. All libraries should be the same version. So even if other Jersey libraries already had 1.14 version, it should be safer to use 1.9 version since it was the latest version for mimepull.
The missing dependency error messages were not too informative at this case.
Thanks to authors of original articles and their comments who contribute to the solution.
Hope it helps others.
中文翻譯:
最近花了不少時間解決了一個問題, 想說先把解決方案寫下來以免忘記.
之前幾日在網路上尋找關於Jersey Multipart的教學. 在讀完許多教學後自己寫了一個簡單的範例.但是在Deploy時卻遇到missing dependency的問題. 最後終於在把Maven的POM檔做出以下修改後解決了問題:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
總結是Jersey libraries跟mimepull的版本必須要相同. 不然會出現Missing Dependency的問題. 所以即使Jersey libraries已有1.14版, 這裡必須使用1.9版, 因為mimepull只有到1.9版.
完全沒想到missing dependency會跟版本有相關性.
希望這篇文章可以幫到需要的朋友們.
Original Tutorial Site:
http://www.mkyong.com/webservices/jax-rs/file-upload-example-in-jersey/
Sincerely,
Danil
Thursday, January 10, 2013
Happy New Year 2013
DeviantArt Link: http://browse.deviantart.com/#/d5pzedp
I managed to finish before the New Year in US.
Artwork is completed in MyPaint with GIMP to add texts and some enhancements.
Hope you guys like it and wish you guys happy New Year 2013.
總算在美國新年前完成.
Artwork is completed in MyPaint with GIMP to add texts and some enhancements.
Hope you guys like it and wish you guys happy New Year 2013.
總算在美國新年前完成.
作品是在MyPaint中完成, Gimp 加上文字與修正.
希望您們會喜歡也祝福各位新年快樂.
Sincerely,
Danil
Sincerely,
Danil
Subscribe to:
Posts (Atom)
