From 46e9959e4f9b74b45bda965f03c314e83450c09e Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Mon, 16 Apr 2018 13:32:02 +0200 Subject: [PATCH] Generalization of lightweight build install Swarm init with advertised address Docker-compose file exposing only relevant ports Docker env files updated to be generated by the installer Change-Id: I8325d929b76564f5f1bf9fb49144e9b8c239f128 Signed-off-by: garciadeblas --- installers/docker/docker-compose.yaml | 14 ++++++++------ installers/docker/lcm.env | 4 ++-- installers/docker/mon.env | 1 + installers/docker/ro-db.env | 2 +- installers/docker/ro.env | 2 +- installers/install_osm.sh | 26 +++++++++++++++++++++----- 6 files changed, 34 insertions(+), 15 deletions(-) create mode 100644 installers/docker/mon.env diff --git a/installers/docker/docker-compose.yaml b/installers/docker/docker-compose.yaml index 0b24db26..82d0d09f 100644 --- a/installers/docker/docker-compose.yaml +++ b/installers/docker/docker-compose.yaml @@ -10,8 +10,8 @@ networks: services: zookeeper: image: wurstmeister/zookeeper - ports: - - "2181:2181" +# ports: +# - "2181:2181" networks: - netOSM kafka: @@ -30,8 +30,8 @@ services: # - zookeeper mongo: image: mongo - ports: - - "27017:27017" +# ports: +# - "27017:27017" networks: - netOSM nbi: @@ -70,8 +70,8 @@ services: - netOSM env_file: - ./ro-db.env - ports: - - "3306:3306" +# ports: +# - "3306:3306" ro: image: osm/ro networks: @@ -90,6 +90,8 @@ services: - netOSM environment: BROKER_URI: kafka:9092 + env_file: + - ./mon.env #depends_on: # - kafka ports: diff --git a/installers/docker/lcm.env b/installers/docker/lcm.env index 9c9de25b..f0baac4a 100644 --- a/installers/docker/lcm.env +++ b/installers/docker/lcm.env @@ -1,2 +1,2 @@ -OSMLCM_VCA_HOST=`juju show-controller|grep api-endpoints|awk -F\' '{print $2}'|awk -F\: '{print $1}'` -OSMLCM_VCA_SECRET=`grep password /home/ubuntu/.local/share/juju/accounts.yaml |awk '{print $2}'` +OSMLCM_VCA_HOST=__JUJU_CONTROLLER_IP__ +OSMLCM_VCA_SECRET=__JUJU_PASSWORD__ diff --git a/installers/docker/mon.env b/installers/docker/mon.env new file mode 100644 index 00000000..10a03888 --- /dev/null +++ b/installers/docker/mon.env @@ -0,0 +1 @@ +OS_NOTIFIER_URI=http://__DEFAULT_IP__:8662 diff --git a/installers/docker/ro-db.env b/installers/docker/ro-db.env index 6f7297e4..ac2a8d80 100644 --- a/installers/docker/ro-db.env +++ b/installers/docker/ro-db.env @@ -1 +1 @@ -MYSQL_ROOT_PASSWORD=osm4u +MYSQL_ROOT_PASSWORD=__MYSQL_ROOT_PASSWORD__ diff --git a/installers/docker/ro.env b/installers/docker/ro.env index ca257f1f..aa475937 100644 --- a/installers/docker/ro.env +++ b/installers/docker/ro.env @@ -1 +1 @@ -RO_DB_ROOT_PASSWORD=osm4u +RO_DB_ROOT_PASSWORD=__MYSQL_ROOT_PASSWORD__ diff --git a/installers/install_osm.sh b/installers/install_osm.sh index a523796f..e34ee133 100755 --- a/installers/install_osm.sh +++ b/installers/install_osm.sh @@ -511,12 +511,25 @@ EONG echo "Finished generation of docker images" } +function generate_docker_env_files() { + echo "Generating docker env files" + OSMLCM_VCA_HOST=`juju show-controller|grep api-endpoints|awk -F\' '{print $2}'|awk -F\: '{print $1}'` + OSMLCM_VCA_SECRET=`grep password /home/ubuntu/.local/share/juju/accounts.yaml |awk '{print $2}'` + MYSQL_ROOT_PASSWORD=`date +%s | sha256sum | base64 | head -c 32` + echo "OSMLCM_VCA_HOST=${OSMLCM_VCA_HOST}" > ${OSM_DEVOPS}/installers/docker/lcm.env + echo "OSMLCM_VCA_SECRET=${OSMLCM_VCA_SECRET}" >> ${OSM_DEVOPS}/installers/docker/lcm.env + echo "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" > ${OSM_DEVOPS}/installers/docker/ro-db.env + echo "RO_DB_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" > ${OSM_DEVOPS}/installers/docker/ro.env + echo "OS_NOTIFIER_URI=http://${DEFAULT_IP}:8662" > ${OSM_DEVOPS}/installers/docker/mon.env + echo "Finished generation of docker env files" +} + function deploy_lightweight() { echo "Deploying lightweight build" newgrp docker << EONG - docker swarm init + docker swarm init --advertise-addr ${DEFAULT_IP} docker network create --driver=overlay --attachable netOSM - docker stack deploy -c $OSM_DEVOPS/installers/docker/docker-compose.yaml osm + docker stack deploy -c ${OSM_DEVOPS}/installers/docker/docker-compose.yaml osm EONG echo "Finished deployment of lightweight build" } @@ -539,10 +552,13 @@ function install_osmclient_sol005() { function install_lightweight() { echo "Installing lightweight build of OSM" LWTEMPDIR="$(mktemp -d -q --tmpdir "installosmlight.XXXXXX")" - trap 'rm -rf "$LWTEMPDIR"' EXIT + trap 'rm -rf "${LWTEMPDIR}"' EXIT + DEFAULT_IF=`route -n |awk '$1~/^0.0.0.0/ {print $8}'` + DEFAULT_IP=`ip -o -4 a |grep ${DEFAULT_IF}|awk '{split($4,a,"/"); print a[1]}'` install_juju install_docker_ce generate_docker_images + generate_docker_env_files deploy_lightweight #install_osmclient #For the moment, the osmclient is installed from the repo @@ -564,14 +580,14 @@ function install_vimemu() { echo "Waiting for 'vim-emu' container to start ..." sleep 5 export VIMEMU_HOSTNAME=$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vim-emu) - echo "vim-emu running at $VIMEMU_HOSTNAME ..." + echo "vim-emu running at ${VIMEMU_HOSTNAME} ..." echo -e "You might be interested in adding the following OSM client env variables to your .bashrc file:" echo " export OSM_HOSTNAME=${OSM_HOSTNAME}" echo " export OSM_RO_HOSTNAME=${OSM_RO_HOSTNAME}" echo -e "You might be interested in adding the following vim-emu env variables to your .bashrc file:" echo " export VIMEMU_HOSTNAME=${VIMEMU_HOSTNAME}" echo -e "\nTo add the emulated VIM to OSM you should do:" - echo " osm vim-create --name emu-vim1 --user username --password password --auth_url http://$VIMEMU_HOSTNAME:6001/v2.0 --tenant tenantName --account_type openstack" + echo " osm vim-create --name emu-vim1 --user username --password password --auth_url http://${VIMEMU_HOSTNAME}:6001/v2.0 --tenant tenantName --account_type openstack" } function dump_vars(){ -- 2.25.1