3 GIT_REPO=$mso_git_repository
4 GIT_BRANCH=$mso_git_branch
5 ! [[ $GIT_SSH_KEY ]] && GIT_SSH_KEY=/home/jboss/user
6 MVN_CENTRAL_USER=$mvn_central_user
7 MVN_CENTRAL_PWD=$mvn_central_pwd
8 WILDFLY_TAR=wildfly-10.1.0.Final.tar.gz;
9 CHEF_DEB=chefdk_0.17.17-1_amd64.deb
19 echo "Maven central user :"
20 echo ${MVN_CENTRAL_USER}
22 [[ ${MVN_CENTRAL_PWD} ]] && echo "with password" || echo "without password"
24 function update_terminal() {
25 echo "--------------------------------------------------------------------------"
27 echo "--------------------------------------------------------------------------"
30 function update_ubuntu() {
31 update_terminal "Updating ubuntu"
33 apt-get -y dist-upgrade
37 function set_ssh_key() {
38 [[ -f /home/jboss/user ]] && return || update_terminal "Setting ssh key"
39 mkdir -p /home/jboss/.ssh/
40 mv /tmp/id_rsa /home/jboss/user
41 chown jboss:jboss -R /home/jboss/user
42 chmod 600 /home/jboss/user
43 chown jboss:jboss /home/jboss/.ssh
44 chmod 700 /home/jboss/.ssh
48 function set_maven_settings() {
49 [[ -f /home/jboss/.m2/settings.xml ]] && return || update_terminal "Updating maven settings"
50 mkdir -p /home/jboss/.m2/
51 mv /tmp/settings.xml /home/jboss/.m2/settings.xml
52 chown -R jboss:jboss /home/jboss/.m2/
54 # set login and password for maven central
55 sed -i "s/#PASSWORD#/$MVN_CENTRAL_PWD/g" /home/jboss/.m2/settings.xml \
56 && sed -i "s/#USERNAME#/$MVN_CENTRAL_USER/g" /home/jboss/.m2/settings.xml
59 function install_jboss() {
60 [[ -f $JBOSS_HOME/bin/standalone.conf ]] && [[ $(grep "LAUNCH_JBOSS_IN_BACKGROUND=true" $JBOSS_HOME/bin/standalone.conf) ]] && return || update_terminal "Installing jboss";
63 adduser --system --group jboss
65 curl -C - -LO http://download.jboss.org/wildfly/10.1.0.Final/$WILDFLY_TAR ;
66 tar xvfz $WILDFLY_TAR -C /opt/;
67 mv /opt/${WILDFLY_TAR%.tar.gz} $JBOSS_HOME;
69 chown -R jboss:jboss $JBOSS_HOME
70 echo "JAVA_OPTS=\"\$JAVA_OPTS -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 -Dmso.db=MARIADB -Dmso.config.path=/etc/mso/config.d/ -Dmso.aaf.enable=false \"" >> $JBOSS_HOME/bin/standalone.conf
71 echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf
75 function create_log_folders() {
76 [[ -d /var/log/ecomp ]] && [[ /var/log/ecomp/MSO/ ]] && return || update_terminal "Creating log folders"
77 mkdir -p /var/log/ecomp/MSO/
78 chown -R jboss:jboss /var/log/ecomp
81 function install_mariadb_connector() {
82 [[ -f $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml ]] && return || update_terminal "Installing mariadb connector"
83 MARIADB_DIR=$JBOSS_HOME/modules/mariadb
84 curl -C - -O -L http://central.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/1.5.4/mariadb-java-client-1.5.4.jar
85 mkdir -p $MARIADB_DIR/main
86 mv mariadb-java-client-1.5.4.jar $MARIADB_DIR/main
87 cp /tmp/jboss-configs//modules/mariadb/main/module.xml $MARIADB_DIR/main
88 cp /tmp/jboss-configs/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml
89 cp /tmp/jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties
90 cp /tmp/jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties
91 cp /tmp/jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties
92 cp /tmp/jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties
94 chown -R jboss:jboss $MARIADB_DIR
97 function dep_install() {
98 update_terminal "Installing dependencies"
99 # install requirements
100 apt-get -y install openjdk-8-jre-headless curl git maven
102 if [[ $STATUS != 0 ]];
108 function clone_mso() {
109 [[ $("ls /tmp/mso-core") ]] && return || update_terminal "Cloning mso repository"
111 GIT_CMD="git clone --single-branch -b ${GIT_BRANCH-master} ${GIT_REPO} -v"
114 export GIT_SSH_COMMAND="ssh -i ${GIT_SSH_KEY} -o StrictHostKeyChecking=false"
117 su - jboss -s /bin/bash -c "export GIT_SSH_COMMAND=\"ssh -i ${GIT_SSH_KEY} -o StrictHostKeyChecking=false\"; cd /tmp/; ${GIT_CMD} mso-core"
119 if [[ $STATUS != 0 ]];
124 #export MAVEN_OPTS="$MAVEN_OPTS -Dhttp.proxyHost=one.proxy.att.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=one.proxy.att.com -Dhttps.proxyPort=8080"
126 function mso_build() {
127 update_terminal "Building Mso core"
130 su jboss -s /bin/bash -c "mvn clean install"
132 if [[ $STATUS != 0 ]];
138 function war_to_temp() {
139 [[ $("ls /tmp/wars/") ]] && return || update_terminal "Copying wars to tmp directory"
140 function copy_wars() {
141 for war in `find . -iname "*.war" `;
147 su - jboss -s /bin/bash -c copy_wars
148 #tar xzf ./packages/deliveries/target/assembly/war-packs/*.tar.gz -C /tmp/wars/
151 function install_chef() {
152 [[ -d /home/jboss/.chef/nodes ]] && return || update_terminal "Installing chef"
153 curl -C - -LO https://packages.chef.io/stable/ubuntu/12.04/$CHEF_DEB
155 for dir in "/etc/chef /etc/mso /var/berks-cookbooks /tmp/git /var/nodes /home/jboss/.chef/nodes";
158 chown jboss:jboss $dir
163 function chef_init() {
164 update_terminal "Initializing chef"
166 cp /shared/solo.rb /tmp/git/
167 chown -R jboss:jboss /tmp/git
168 su - jboss -s /bin/bash -c /opt/mso/scripts/init-chef.sh
169 mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json
170 ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json
174 # cleaning & space freeup
177 rm -rf /tmp/git/mso-core
181 rm -rf /home/jboss/.m2
182 apt-get remove -y maven git curl
192 install_mariadb_connector
208 function init_certif() {
209 # Copy the certificates
210 cp /shared/*.crt /usr/local/share/ca-certificates
211 update-ca-certificates
215 su - jboss -s /bin/bash -c /opt/mso/scripts/start-jboss-server.sh
218 rm -f "$JBOSS_HOME/standalone/deployments/README.txt"
219 if ! [[ "$(ls -A $JBOSS_HOME/standalone/deployments/)" ]];
223 cp /tmp/wars/* $JBOSS_HOME/standalone/deployments/