diff options
7 files changed, 44 insertions, 410 deletions
diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian index 044e3aa20b..b07c8c9472 100644 --- a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-arquillian @@ -5,14 +5,8 @@ FROM openecomp/wildfly:1.0 MAINTAINER "The OpenECOMP Team" LABEL Description="This image contains the OpenECOMP MSO base for arquillian" Version="1.0" -ARG chef_repo_branch_name -ARG chef_repo_address -ARG chef_repo_git_name -ARG chef_repo_git_username -ENV BRANCH_NAME=$chef_repo_branch_name -ENV REPO_USERNAME=$chef_repo_git_username -ENV REPO_ADDRESS=$chef_repo_address -ENV CHEF_REPO_NAME=$chef_repo_git_name +ENV CHEF_REPO_NAME="chef-repo" +ENV CHEF_CONFIG_NAME="mso-config" ### Downloading dependencies @@ -23,7 +17,6 @@ RUN chown -R jboss:jboss /tmp/jacoco ### Install Chef RUN dpkg -i chefdk_0.17.17-1_amd64.deb -COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh RUN chown jboss:jboss /opt/mso/scripts/* @@ -42,34 +35,30 @@ RUN mkdir /shared RUN chown jboss:jboss /shared # Setup chef folders +RUN mkdir -p /var/chef/nodes +RUN chown jboss:jboss /var/chef/nodes RUN mkdir /var/berks-cookbooks RUN chown jboss:jboss /var/berks-cookbooks -COPY chef-configs/solo.rb /tmp/git/solo.rb -RUN chown -R jboss:jboss /tmp/git/ +RUN mkdir -p /home/jboss/.chef/nodes +RUN chown jboss:jboss /home/jboss/.chef/nodes -COPY id_rsa /home/jboss/user -RUN chmod 600 /home/jboss/user -RUN chown -R jboss:jboss /home/jboss +COPY chef-configs/${CHEF_REPO_NAME} /var/berks-cookbooks/${CHEF_REPO_NAME} +COPY chef-configs/${CHEF_CONFIG_NAME} /var/berks-cookbooks/${CHEF_CONFIG_NAME} +COPY chef-configs/solo.rb /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb # Start Chef config -RUN mkdir -p /var/nodes -RUN chown jboss:jboss /var/nodes - -RUN mkdir -p /home/jboss/.chef/nodes -RUN mkdir /home/jboss/.ssh +RUN sed "s/CHEF_REPO_NAME_TO_REPLACE/${CHEF_REPO_NAME}/g" -i /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb +RUN chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra] - -RUN apt-get install -y git && sed -i "s@jboss:/bin/false@jboss:/bin/bash@g" /etc/passwd && su jboss -c "/opt/mso/scripts/init-chef.sh" && sed -i "s@jboss:/bin/bash@jboss:/bin/false@g" /etc/passwd && apt-get remove --purge -y git && apt-get autoremove -y -RUN rm -rf /home/jboss/.ssh -RUN rm /home/jboss/user +RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json RUN echo "" > /shared/mso-docker.json +RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json + +# Jacoco config RUN echo "" > /shared/jacoco-it.exec RUN ls -latr / RUN ls -latr /shared RUN chown jboss:jboss /shared/jacoco-it.exec -RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json -RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json -RUN rm -rf /tmp/git ## Create the log folder for MSO RUN mkdir -p /var/log/ecomp/MSO/ diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-build b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-build deleted file mode 100644 index ddf0ac793d..0000000000 --- a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-build +++ /dev/null @@ -1,62 +0,0 @@ -FROM ubuntu:16.04 - -### File Author / Maintainer -MAINTAINER "The OpenECOMP Team" -LABEL Description="This image builds OpenECOMP MSO" Version="1.0" - -ARG http_proxy -ARG https_proxy - -ARG mso_git_repository -ARG mso_git_branch - -ARG mvn_central_user -ARG mvn_central_pwd - -ENV HTTP_PROXY=$http_proxy -ENV HTTPS_PROXY=$https_proxy -ENV http_proxy=$HTTP_PROXY -ENV https_proxy=$HTTPS_PROXY - - -ENV mso_git_repository=$mso_git_repository -ENV mso_git_branch=$mso_git_branch - - -ENV mvn_central_user=$mvn_central_user -ENV mvn_central_pwd=$mvn_central_pwd - -ENV JBOSS_HOME=/opt/jboss - -USER root - -COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh -RUN chmod 755 /opt/mso/scripts/init-chef.sh - -COPY scripts/build-and-start.sh /opt/mso/scripts/build-and-start.sh -RUN chmod 755 /opt/mso/scripts/build-and-start.sh - -# should be copied at final destination once jboss user is created -COPY id_rsa /tmp/id_rsa -COPY settings.xml /tmp/settings.xml - -# should be copied at final destination once jboss is installed -COPY jboss-configs/module.xml /tmp/jboss-configs/module.xml -COPY jboss-configs/standalone-full-ha.xml /tmp/jboss-configs/standalone-full-ha.xml -COPY jboss-configs/modules/mariadb/main/module.xml /tmp/jboss-configs/modules/mariadb/main -COPY jboss-configs/configuration/standalone-full-ha.xml /tmp/jboss-configs/standalone/configuration/standalone-full-ha-mso.xml -COPY jboss-configs/configuration/mgmt-users.properties /tmp/jboss-configs/standalone/configuration/mgmt-users.properties -COPY jboss-configs/configuration/mgmt-groups.properties /tmp/jboss-configs/standalone/configuration/mgmt-groups.properties -COPY jboss-configs/configuration/application-users.properties /tmp/jboss-configs/standalone/configuration/application-users.properties -COPY jboss-configs/configuration/application-roles.properties /tmp/jboss-configs/standalone/configuration/application-roles.properties - - -### Open Ports -EXPOSE 8080 - -### Start EAP -VOLUME /shared - - -CMD ["/opt/mso/scripts/build-and-start.sh"] - diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final index 24751120b3..ff7f44bcfd 100644 --- a/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final +++ b/packages/docker/src/main/docker/docker-files/Dockerfile.mso-chef-final @@ -7,19 +7,14 @@ LABEL Description="This image contains the OpenECOMP MSO" Version="1.0" ARG http_proxy ARG https_proxy -ARG chef_repo_branch_name -ARG chef_repo_address -ARG chef_repo_git_name -ARG chef_repo_git_username -ENV BRANCH_NAME=$chef_repo_branch_name -ENV REPO_USERNAME=$chef_repo_git_username -ENV REPO_ADDRESS=$chef_repo_address -ENV CHEF_REPO_NAME=$chef_repo_git_name ENV HTTP_PROXY=$http_proxy ENV HTTPS_PROXY=$https_proxy ENV http_proxy=$HTTP_PROXY ENV https_proxy=$HTTPS_PROXY +ENV CHEF_REPO_NAME="chef-repo" +ENV CHEF_CONFIG_NAME="mso-config" + ### Downloading dependencies USER root @@ -28,7 +23,6 @@ RUN apt-get install -y curl && curl -LO https://packages.chef.io/stable/ubuntu/ ### Install Chef RUN dpkg -i chefdk_0.17.17-1_amd64.deb -COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh RUN chown jboss:jboss /opt/mso/scripts/* @@ -47,30 +41,24 @@ RUN mkdir /shared RUN chown jboss:jboss /shared # Setup chef folders +RUN mkdir -p /var/chef/nodes +RUN chown jboss:jboss /var/chef/nodes RUN mkdir /var/berks-cookbooks RUN chown jboss:jboss /var/berks-cookbooks -COPY chef-configs/solo.rb /tmp/git/solo.rb -RUN chown -R jboss:jboss /tmp/git/ +RUN mkdir -p /home/jboss/.chef/nodes +RUN chown jboss:jboss /home/jboss/.chef/nodes -COPY id_rsa /home/jboss/user -RUN chmod 600 /home/jboss/user -RUN chown -R jboss:jboss /home/jboss +COPY chef-configs/${CHEF_REPO_NAME} /var/berks-cookbooks/${CHEF_REPO_NAME} +COPY chef-configs/${CHEF_CONFIG_NAME} /var/berks-cookbooks/${CHEF_CONFIG_NAME} +COPY chef-configs/solo.rb /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb # Start Chef config -RUN mkdir -p /var/nodes -RUN chown jboss:jboss /var/nodes - -RUN mkdir -p /home/jboss/.chef/nodes -RUN mkdir /home/jboss/.ssh +RUN sed "s/CHEF_REPO_NAME_TO_REPLACE/${CHEF_REPO_NAME}/g" -i /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb +RUN chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra] - -RUN apt-get install -y git && sed -i "s@jboss:/bin/false@jboss:/bin/bash@g" /etc/passwd && su jboss -c "/opt/mso/scripts/init-chef.sh" && sed -i "s@jboss:/bin/bash@jboss:/bin/false@g" /etc/passwd && apt-get remove --purge -y git && apt-get autoremove -y -RUN rm -rf /home/jboss/.ssh -RUN rm /home/jboss/user -RUN echo "" > /shared/mso-docker.json RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json +RUN echo "" > /shared/mso-docker.json RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json -RUN rm -rf /tmp/git ## Create the log folder for MSO RUN mkdir -p /var/log/ecomp/MSO/ diff --git a/packages/docker/src/main/docker/docker-files/chef-configs/readme.md b/packages/docker/src/main/docker/docker-files/chef-configs/readme.md new file mode 100644 index 0000000000..6d42de8d23 --- /dev/null +++ b/packages/docker/src/main/docker/docker-files/chef-configs/readme.md @@ -0,0 +1 @@ +Please clone the 'chef-repo' and 'mso-config' repository here before building images. diff --git a/packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh b/packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh deleted file mode 100644 index 3694981628..0000000000 --- a/packages/docker/src/main/docker/docker-files/scripts/build-and-start.sh +++ /dev/null @@ -1,230 +0,0 @@ -#!/bin/bash -x - -GIT_REPO=$mso_git_repository -GIT_BRANCH=$mso_git_branch -! [[ $GIT_SSH_KEY ]] && GIT_SSH_KEY=/home/jboss/user -MVN_CENTRAL_USER=$mvn_central_user -MVN_CENTRAL_PWD=$mvn_central_pwd -WILDFLY_TAR=wildfly-10.1.0.Final.tar.gz; -CHEF_DEB=chefdk_0.17.17-1_amd64.deb - -echo "Jboss Home:" -echo ${JBOSS_HOME} -echo "Repository :" -echo ${GIT_REPO} -echo "Branch :" -echo ${GIT_BRANCH} -echo "Ssh key file :" -echo ${GIT_SSH_KEY} -echo "Maven central user :" -echo ${MVN_CENTRAL_USER} - -[[ ${MVN_CENTRAL_PWD} ]] && echo "with password" || echo "without password" - -function update_terminal() { - echo "--------------------------------------------------------------------------" - echo $* - echo "--------------------------------------------------------------------------" -} - -function update_ubuntu() { - update_terminal "Updating ubuntu" - apt-get update - apt-get -y dist-upgrade -} - - -function set_ssh_key() { - [[ -f /home/jboss/user ]] && return || update_terminal "Setting ssh key" - mkdir -p /home/jboss/.ssh/ - mv /tmp/id_rsa /home/jboss/user - chown jboss:jboss -R /home/jboss/user - chmod 600 /home/jboss/user - chown jboss:jboss /home/jboss/.ssh - chmod 700 /home/jboss/.ssh - -} - -function set_maven_settings() { - [[ -f /home/jboss/.m2/settings.xml ]] && return || update_terminal "Updating maven settings" - mkdir -p /home/jboss/.m2/ - mv /tmp/settings.xml /home/jboss/.m2/settings.xml - chown -R jboss:jboss /home/jboss/.m2/ - - # set login and password for maven central - sed -i "s/#PASSWORD#/$MVN_CENTRAL_PWD/g" /home/jboss/.m2/settings.xml \ - && sed -i "s/#USERNAME#/$MVN_CENTRAL_USER/g" /home/jboss/.m2/settings.xml -} - -function install_jboss() { - [[ -f $JBOSS_HOME/bin/standalone.conf ]] && [[ $(grep "LAUNCH_JBOSS_IN_BACKGROUND=true" $JBOSS_HOME/bin/standalone.conf) ]] && return || update_terminal "Installing jboss"; - - - adduser --system --group jboss - - curl -C - -LO http://download.jboss.org/wildfly/10.1.0.Final/$WILDFLY_TAR ; - tar xvfz $WILDFLY_TAR -C /opt/; - mv /opt/${WILDFLY_TAR%.tar.gz} $JBOSS_HOME; - - chown -R jboss:jboss $JBOSS_HOME - 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 - echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf - -} - -function create_log_folders() { - [[ -d /var/log/ecomp ]] && [[ /var/log/ecomp/MSO/ ]] && return || update_terminal "Creating log folders" - mkdir -p /var/log/ecomp/MSO/ - chown -R jboss:jboss /var/log/ecomp -} - -function install_mariadb_connector() { - [[ -f $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml ]] && return || update_terminal "Installing mariadb connector" - MARIADB_DIR=$JBOSS_HOME/modules/mariadb - 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 - mkdir -p $MARIADB_DIR/main - mv mariadb-java-client-1.5.4.jar $MARIADB_DIR/main - cp /tmp/jboss-configs//modules/mariadb/main/module.xml $MARIADB_DIR/main - cp /tmp/jboss-configs/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml - cp /tmp/jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties - cp /tmp/jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties - cp /tmp/jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties - cp /tmp/jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties - - chown -R jboss:jboss $MARIADB_DIR -} - -function dep_install() { - update_terminal "Installing dependencies" - # install requirements - apt-get -y install openjdk-8-jre-headless curl git maven - STATUS=$? - if [[ $STATUS != 0 ]]; - then - exit 1 - fi -} - -function clone_mso() { - [[ $("ls /tmp/mso-core") ]] && return || update_terminal "Cloning mso repository" - # build git command - GIT_CMD="git clone --single-branch -b ${GIT_BRANCH-master} ${GIT_REPO} -v" - - # build ssh command - export GIT_SSH_COMMAND="ssh -i ${GIT_SSH_KEY} -o StrictHostKeyChecking=false" - - # cloning - su - jboss -s /bin/bash -c "export GIT_SSH_COMMAND=\"ssh -i ${GIT_SSH_KEY} -o StrictHostKeyChecking=false\"; cd /tmp/; ${GIT_CMD} mso-core" - STATUS=$? - if [[ $STATUS != 0 ]]; - then - exit 2 - fi -} -#export MAVEN_OPTS="$MAVEN_OPTS -Dhttp.proxyHost=one.proxy.att.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=one.proxy.att.com -Dhttps.proxyPort=8080" - -function mso_build() { - update_terminal "Building Mso core" - # building - cd /tmp/mso-core - su jboss -s /bin/bash -c "mvn clean install" - STATUS=$? - if [[ $STATUS != 0 ]]; - then - exit 4 - fi -} - -function war_to_temp() { - [[ $("ls /tmp/wars/") ]] && return || update_terminal "Copying wars to tmp directory" - function copy_wars() { - for war in `find . -iname "*.war" `; - do - cp $war /tmp/wars/ - done - } - export -f copy_wars - su - jboss -s /bin/bash -c copy_wars - #tar xzf ./packages/deliveries/target/assembly/war-packs/*.tar.gz -C /tmp/wars/ -} - -function install_chef() { - [[ -d /home/jboss/.chef/nodes ]] && return || update_terminal "Installing chef" - curl -C - -LO https://packages.chef.io/stable/ubuntu/12.04/$CHEF_DEB - dpkg -i $CHEF_DEB - for dir in "/etc/chef /etc/mso /var/berks-cookbooks /tmp/git /var/nodes /home/jboss/.chef/nodes"; - do - mkdir -p $dir - chown jboss:jboss $dir - chmod 700 $dir - done -} - -function chef_init() { - update_terminal "Initializing chef" - mkdir -p /tmp/git - cp /shared/solo.rb /tmp/git/ - chown -R jboss:jboss /tmp/git - su - jboss -s /bin/bash -c /opt/mso/scripts/init-chef.sh - mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json - ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json -} - -function cleanup() { - # cleaning & space freeup - echo "Cleaning up" - - rm -rf /tmp/git/mso-core - rm -f /$WILDFLY_TAR; - rm -f /$CHEF_DEB - - rm -rf /home/jboss/.m2 - apt-get remove -y maven git curl - -} - -function build() { - update_ubuntu - dep_install - - install_jboss - create_log_folders - install_mariadb_connector - - set_ssh_key - - install_chef - chef_init - - - clone_mso - - set_maven_settings - mso_build - war_to_temp - cleanup -} - -function init_certif() { - # Copy the certificates - cp /shared/*.crt /usr/local/share/ca-certificates - update-ca-certificates -} - -function start() { - su - jboss -s /bin/bash -c /opt/mso/scripts/start-jboss-server.sh -} - -rm -f "$JBOSS_HOME/standalone/deployments/README.txt" -if ! [[ "$(ls -A $JBOSS_HOME/standalone/deployments/)" ]]; -then - mkdir -p /tmp/wars/ - build - cp /tmp/wars/* $JBOSS_HOME/standalone/deployments/ - rm -rf /tmp/wars/ - init_certif -fi - -cd /opt/jboss - -start diff --git a/packages/docker/src/main/docker/docker-files/scripts/init-chef.sh b/packages/docker/src/main/docker/docker-files/scripts/init-chef.sh deleted file mode 100644 index 0a562e715e..0000000000 --- a/packages/docker/src/main/docker/docker-files/scripts/init-chef.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Copyright 2015 AT&T Intellectual Properties -############################################################################## -# Script to initialize the chef-repo branch and.chef -# -############################################################################## - -set -x -cd /tmp/git/ -export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=false -i ~/user" -git clone -b ${BRANCH_NAME:-master} --single-branch ssh://${REPO_USERNAME}@${REPO_ADDRESS}/${CHEF_REPO_NAME}.git - - -# Will have to be removed later -#mkdir -p /var/chef/nodes -sed "s/CHEF_REPO_NAME_TO_REPLACE/${CHEF_REPO_NAME}/g" -i /tmp/git/solo.rb -mv /tmp/git/solo.rb /tmp/git/${CHEF_REPO_NAME}/ -cd /tmp/git/${CHEF_REPO_NAME} - -echo "Vendor cookbooks with Berkshelf" -berks vendor /var/berks-cookbooks -b Berksfile.mso-docker - -# Execute the ChefClient to configure the mso-config -echo "Update config with chef solo" -chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra]
\ No newline at end of file @@ -7,11 +7,11 @@ OpenECOMP MSO is delivered with **2 Docker containers**, 1 hosting the **database** (MariaDB) and 1 hosting the **JBoss** application server running all OpenECOMP MSO code. -Both containers runs on the same machine and can be started with a **`docker-compose`**. +Both containers runs on the same machine and can be started with **`docker-compose`**. # Compiling MSO -MSO can be compiled easily with a `mvn clean install`. Integration tests are started with the following profile +MSO can be compiled with `mvn clean install`. Integration tests are started with the following profile `-P with-integration-tests` **to be edited for rrelease** @@ -20,54 +20,26 @@ Docker containers are build with the following profile # Getting the containers -***to be changed for rrelease*** OpenECOMP MSO containers are stored on the Rackspace Nexus Docker Registry +OpenECOMP MSO containers are stored on [here](https://nexus3.openecomp.org:10002) for the releases, and [here](https://nexus3.openecomp.org:10003) for the snapshots The following Docker images are the actual deployment images used for running MSO | Name | Tag | Description | |-----------------|---------|-------------------------------------------------------------------------------------------------------------------------------| -| ecomp/mso | 1.0.0 | Contains **JBoss** + **OpenJDK** + **MSO** components (BPMN engine and MSO API handlers and adapters) | +| openecomp/mso | 1.0.0 | Contains **JBoss** + **OpenJDK** + **MSO** components (BPMN engine and MSO API handlers and adapters) | | library/mariadb | 10.1.11 | **MariaDB** image from Docker.io, this image hosts the database and is preloaded with MSO schema and configuration at startup | # Starting MSO -There are several ways to start OpenECOMP MSO : +### docker-compose -### Trough the sample Jenkins Job on the Deployment Jenkins host ***to be changed for rrelease*** - -A Jenkins instance is available at [Deployment-Jenkins](http://162.242.237.52:8080/login?from=%2F). It provides **job that can run** the containers on a sample host. ***add job link for rrelease** - -*** for rrelease all this should go in the job description*** -``` -The VM is running a Docker Engine (1.12) and has the Nexus repository certificate imported, Jenkins will use this host to deploy and run the containers. - -It will first **clone** the configuration repository to its local workspace, **transfer needed configuration files**, mount a specific **docker volume** with these files and start up the containers (attached to this volume) so that they can run the startup scripts that is embedded and run openecomp MSO and its database container. - -It is important to understand that the Docker containers are using a configuration file (JSON) in order to provision MSO basic configuration, in the above Jenkins Job, Jenkins pulls that JSON file from the MSO repository, any other mean to provide that JSON file (for specific environments) would also work. ***add link on rrelease***more information about configuring MSO. -Note : the above is just an automation of the container deployment on a sample host, it is perfectly possible to do exactly the same on any host (be it your laptop or any other host that can run Docker 1.12 and reach the Nexus repository, and optionally the MSO gitlab repo to download other configurations) -``` - -The database is preloaded with all the basic configuration, it is possible to change the configuration without deploying the containers again (or rebuilding them) - -***provide a link on rrelease*** -To get a feel of how the deployment is actually performed, it is best to review the Docker Strategy of MSO and look at the actual Jenkins Job - -### Trough the use of `docker-compose` ***to be changed for rrelease*** - -`docker-compose` can be used to start MSO. The files can be downloaded from the Nexus repository <add-link-to-Docker-Compose> - -***to be changed for rrelease** - -This job ***add link*** has been created to run the compose file. - -***this info will go in the job description ?*** -``` -It job uses the Sample Docker Host described above as a Jenkins Slave (so when the build is triggered on Jenkins, it runs locally on the remote Docker Host). It pulls the needed information from MSO Git lab repository (deploy.sh and `docker-compose` file) -``` +You can use `docker-compose` to start MSO. +The file is as the root of the directory. +See `Getting the containers` to pull the images ### Heat template -a Heat template that can be used on RackSpace to spin up the MSO Host VM and run docker-compose is currently being built by the Demo Team. +A heat template that can be used on RackSpace to spin up the MSO Host VM and run docker-compose is currently being built by the Demo Team. # Accessing MSO @@ -79,9 +51,9 @@ JBoss Wildly provides administrative functions through the application [server c Said console can be used to have a look at the status of MSO. It is providing details on deployed artifacts and gives a remote access to the main server log file -***to be changed for the rrelease*** The UI can be accessed trough http://containerHostName:9990/ or on the sample host below : http://104.130.172.123:52090 (the sample host has port 9990 remapped to 52090 on the Rackspace VM) +The UI can be accessed trough http://containerHostName:9990/ -The configuration preloads a default user (admin) with the standard OpenECOMP UI password ***provide link on rrelease***. +The configuration preloads a default user (admin) with the standard `placeholder` password. The configuration of JBoss should not be touched. But it is possible to look at the two following sections for insights on the MSO health : @@ -105,11 +77,12 @@ MSO orchestration processes can be monitored with the [Camunda Engine cockpit UI #### Accessing the Cockpit -***to be changed for the rrelease*** The cockpit is available at the following address : http://containerHostname:8080/cockpit or on the Sample host below http://104.130.172.123:52080/cockpit (the sample host has port 8080 remapped to 52080 on the Rackspace VM) +The cockpit is available at the following address : http://containerHostname:8080/cockpit -When the container is started, as it starts up from a fresh instance, it will create a default admin user (admin) with the default OpenECOMP password for UI***provide link on rrelease*** +When the container is started it will create a default admin user (admin) with the password `placeholder` for UI -The cockpit gives an overview of the available BPMN (orchestration) processes (with a visual representation), it is also possible to trigger them from the UI if you know the parameters that are needed. +The cockpit gives an overview of the available BPMN (orchestration) processes (with a visual representation). +It is also possible to trigger them from the UI if you know the parameters that are needed. ***screenshots to be uploaded when rrelease*** |