-function deploy_lightweight() {
-
- echo "Deploying lightweight build"
- OSM_NBI_PORT=9999
- OSM_RO_PORT=9090
- OSM_KEYSTONE_PORT=5000
- OSM_UI_PORT=80
- OSM_MON_PORT=8662
- OSM_PROM_PORT=9090
- OSM_PROM_CADVISOR_PORT=8080
- OSM_PROM_HOSTPORT=9091
- OSM_GRAFANA_PORT=3000
- [ -n "$INSTALL_ELK" ] && OSM_ELK_PORT=5601
- #[ -n "$INSTALL_PERFMON" ] && OSM_PM_PORT=3000
-
- if [ -n "$NO_HOST_PORTS" ]; then
- OSM_PORTS+=(OSM_NBI_PORTS=$OSM_NBI_PORT)
- OSM_PORTS+=(OSM_RO_PORTS=$OSM_RO_PORT)
- OSM_PORTS+=(OSM_KEYSTONE_PORTS=$OSM_KEYSTONE_PORT)
- OSM_PORTS+=(OSM_UI_PORTS=$OSM_UI_PORT)
- OSM_PORTS+=(OSM_MON_PORTS=$OSM_MON_PORT)
- OSM_PORTS+=(OSM_PROM_PORTS=$OSM_PROM_PORT)
- OSM_PORTS+=(OSM_PROM_CADVISOR_PORTS=$OSM_PROM_CADVISOR_PORT)
- OSM_PORTS+=(OSM_GRAFANA_PORTS=$OSM_GRAFANA_PORT)
- #[ -n "$INSTALL_PERFMON" ] && OSM_PORTS+=(OSM_PM_PORTS=$OSM_PM_PORT)
- [ -n "$INSTALL_ELK" ] && OSM_PORTS+=(OSM_ELK_PORTS=$OSM_ELK_PORT)
- else
- OSM_PORTS+=(OSM_NBI_PORTS=$OSM_NBI_PORT:$OSM_NBI_PORT)
- OSM_PORTS+=(OSM_RO_PORTS=$OSM_RO_PORT:$OSM_RO_PORT)
- OSM_PORTS+=(OSM_KEYSTONE_PORTS=$OSM_KEYSTONE_PORT:$OSM_KEYSTONE_PORT)
- OSM_PORTS+=(OSM_UI_PORTS=$OSM_UI_PORT:$OSM_UI_PORT)
- OSM_PORTS+=(OSM_MON_PORTS=$OSM_MON_PORT:$OSM_MON_PORT)
- OSM_PORTS+=(OSM_PROM_PORTS=$OSM_PROM_HOSTPORT:$OSM_PROM_PORT)
- OSM_PORTS+=(OSM_PROM_CADVISOR_PORTS=$OSM_PROM_CADVISOR_PORT:$OSM_PROM_CADVISOR_PORT)
- OSM_PORTS+=(OSM_GRAFANA_PORTS=$OSM_GRAFANA_PORT:$OSM_GRAFANA_PORT)
- #[ -n "$INSTALL_PERFMON" ] && OSM_PORTS+=(OSM_PM_PORTS=$OSM_PM_PORT:$OSM_PM_PORT)
- [ -n "$INSTALL_ELK" ] && OSM_PORTS+=(OSM_ELK_PORTS=$OSM_ELK_PORT:$OSM_ELK_PORT)
- fi
- echo "export ${OSM_PORTS[@]}" | $WORKDIR_SUDO tee $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export OSM_NETWORK=net${OSM_STACK_NAME}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export TAG=${OSM_DOCKER_TAG}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export DOCKER_USER=${DOCKER_USER}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export KAFKA_TAG=${KAFKA_TAG}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export PROMETHEUS_TAG=${PROMETHEUS_TAG}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export KEYSTONEDB_TAG=${KEYSTONEDB_TAG}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export PROMETHEUS_CADVISOR_TAG=${PROMETHEUS_CADVISOR_TAG}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
- echo "export GRAFANA_TAG=${GRAFANA_TAG}" | $WORKDIR_SUDO tee --append $OSM_DOCKER_WORK_DIR/osm_ports.sh
-
- pushd $OSM_DOCKER_WORK_DIR
- if [ -n "$INSTALL_PLA" ]; then
- track deploy_osm_pla
- sg docker -c ". ./osm_ports.sh; docker stack deploy -c $OSM_DOCKER_WORK_DIR/docker-compose.yaml -c $OSM_DOCKER_WORK_DIR/docker-compose-ui.yaml -c $OSM_DOCKER_WORK_DIR/osm_pla/docker-compose.yaml $OSM_STACK_NAME"
- else
- sg docker -c ". ./osm_ports.sh; docker stack deploy -c $OSM_DOCKER_WORK_DIR/docker-compose.yaml -c $OSM_DOCKER_WORK_DIR/docker-compose-ui.yaml $OSM_STACK_NAME"
- fi
- popd
-
- echo "Finished deployment of lightweight build"
-}
-
-function deploy_elk() {
- echo "Pulling docker images for ELK"
- sg docker -c "docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTIC_VERSION}" || FATAL "cannot get elasticsearch docker image"
- sg docker -c "docker pull docker.elastic.co/beats/metricbeat:${ELASTIC_VERSION}" || FATAL "cannot get metricbeat docker image"
- sg docker -c "docker pull docker.elastic.co/beats/filebeat:${ELASTIC_VERSION}" || FATAL "cannot get filebeat docker image"
- sg docker -c "docker pull docker.elastic.co/kibana/kibana-oss:${ELASTIC_VERSION}" || FATAL "cannot get kibana docker image"
- sg docker -c "docker pull bobrik/curator:${ELASTIC_CURATOR_VERSION}" || FATAL "cannot get curator docker image"
- echo "Finished pulling elk docker images"
- $WORKDIR_SUDO mkdir -p "$OSM_DOCKER_WORK_DIR/osm_elk"
- $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/osm_elk/* $OSM_DOCKER_WORK_DIR/osm_elk
- remove_stack osm_elk
- echo "Deploying ELK stack"
- sg docker -c "OSM_NETWORK=net${OSM_STACK_NAME} docker stack deploy -c $OSM_DOCKER_WORK_DIR/osm_elk/docker-compose.yml osm_elk"
- echo "Waiting for ELK stack to be up and running"
- time=0
- step=5
- timelength=40
- elk_is_up=1
- while [ $time -le $timelength ]; do
- if [[ $(curl -f -XGET http://127.0.0.1:5601/status -I 2>/dev/null | grep "HTTP/1.1 200 OK" | wc -l ) -eq 1 ]]; then
- elk_is_up=0
- break
- fi
- sleep $step
- time=$((time+step))
- done
- if [ $elk_is_up -eq 0 ]; then
- echo "ELK is up and running. Trying to create index pattern..."
- #Create index pattern
- curl -f -XPOST -H "Content-Type: application/json" -H "kbn-xsrf: anything" \
- "http://127.0.0.1:5601/api/saved_objects/index-pattern/filebeat-*" \
- -d"{\"attributes\":{\"title\":\"filebeat-*\",\"timeFieldName\":\"@timestamp\"}}" 2>/dev/null
- #Make it the default index
- curl -f -XPOST -H "Content-Type: application/json" -H "kbn-xsrf: anything" \
- "http://127.0.0.1:5601/api/kibana/settings/defaultIndex" \
- -d"{\"value\":\"filebeat-*\"}" 2>/dev/null
- else
- echo "Cannot connect to Kibana to create index pattern."
- echo "Once Kibana is running, you can use the following instructions to create index pattern:"
- echo 'curl -f -XPOST -H "Content-Type: application/json" -H "kbn-xsrf: anything" \
- "http://127.0.0.1:5601/api/saved_objects/index-pattern/filebeat-*" \
- -d"{\"attributes\":{\"title\":\"filebeat-*\",\"timeFieldName\":\"@timestamp\"}}"'
- echo 'curl -XPOST -H "Content-Type: application/json" -H "kbn-xsrf: anything" \
- "http://127.0.0.1:5601/api/kibana/settings/defaultIndex" \
- -d"{\"value\":\"filebeat-*\"}"'
- fi
- echo "Finished deployment of ELK stack"
- return 0
-}
-
-function add_local_k8scluster() {
- /usr/bin/osm --all-projects vim-create \
- --name _system-osm-vim \
- --account_type dummy \
- --auth_url http://dummy \
- --user osm --password osm --tenant osm \
- --description "dummy" \
- --config '{management_network_name: mgmt}'
- /usr/bin/osm --all-projects k8scluster-add \
- --creds ${HOME}/.kube/config \
- --vim _system-osm-vim \
- --k8s-nets '{"net1": null}' \
- --version '1.15' \
- --description "OSM Internal Cluster" \
- _system-osm-k8s
-}