X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Ffull_install_osm.sh;h=4747949e7578c6f0af57ab6a5001ba215366922e;hb=f09cc4831db2b732c80fafbe4da86bd9bf009e1a;hp=a26775041380849e96d77f64fd0534fe8795ef34;hpb=a2b02c755356c5655dae6d0ea4a1298ea132a5d8;p=osm%2Fdevops.git diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh index a2677504..4747949e 100755 --- a/installers/full_install_osm.sh +++ b/installers/full_install_osm.sh @@ -33,8 +33,8 @@ function usage(){ echo -e " -A use VCA/juju API proxy" echo -e " --pla: install the PLA module for placement support" echo -e " --old-sa: install old Service Assurance framework (MON, POL); do not install Airflow and Pushgateway" - echo -e " --ng-sa: install new Service Assurance framework (Airflow, AlertManager and Pushgateway) (enabled by default)" - echo -e " -o : ONLY (un)installs one of the addons (k8s_monitor, ng-sa)" + echo -e " --ng-sa: install new Service Assurance framework (Airflow, AlertManager and Pushgateway) (enabled by default)" + echo -e " -o : ONLY installs the specified component (k8s_monitor, ng-sa, k8scluster, docker, deploy-osm)" echo -e " -O : Install OSM to an OpenStack infrastructure. is required. If a is used, the clouds.yaml file should be under ~/.config/openstack/ or /etc/openstack/" echo -e " -N : Public network name required to setup OSM to OpenStack" echo -e " -f : Public SSH key to use to deploy OSM to OpenStack" @@ -199,7 +199,7 @@ function docker_login() { } #deploys osm pods and services -function deploy_osm_services() { +function deploy_osm_helm_chart() { [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function # Generate helm values to be passed with -f osm-values.yaml sudo mkdir -p ${OSM_HELM_WORK_DIR} @@ -382,6 +382,7 @@ Do you want to proceed with the installation (Y/n)? " y && echo "Cancelled!" && } function find_devops_folder() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function if [ -z "$OSM_DEVOPS" ]; then if [ -n "$TEST_INSTALLER" ]; then echo -e "\nUsing local devops repo for OSM installation" @@ -393,6 +394,49 @@ function find_devops_folder() { git clone https://osm.etsi.org/gerrit/osm/devops.git $OSM_DEVOPS fi fi + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + +function install_lxd() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + LXD_INSTALL_OPTS="-D ${OSM_DEVOPS} -i ${OSM_DEFAULT_IF} ${DEBUG_INSTALL}" + [ -n "${OSM_BEHIND_PROXY}" ] && LXD_INSTALL_OPTS="${LXD_INSTALL_OPTS} -P" + $OSM_DEVOPS/installers/install_lxd.sh ${LXD_INSTALL_OPTS} || FATAL_TRACK lxd "install_lxd.sh failed" + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + +function install_docker_ce() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + DOCKER_CE_OPTS="-D ${OSM_DEVOPS} ${DEBUG_INSTALL}" + [ -n "${DOCKER_PROXY_URL}" ] && DOCKER_CE_OPTS="${DOCKER_CE_OPTS} -p ${DOCKER_PROXY_URL}" + [ -n "${OSM_BEHIND_PROXY}" ] && DOCKER_CE_OPTS="${DOCKER_CE_OPTS} -P" + $OSM_DEVOPS/installers/install_docker_ce.sh ${DOCKER_CE_OPTS} || FATAL_TRACK docker_ce "install_docker_ce.sh failed" + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + +function install_k8s_cluster() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + if [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ]; then + KUBEADM_INSTALL_OPTS="-d ${OSM_WORK_DIR} -D ${OSM_DEVOPS} ${DEBUG_INSTALL}" + $OSM_DEVOPS/installers/install_kubeadm_cluster.sh ${KUBEADM_INSTALL_OPTS} || \ + FATAL_TRACK k8scluster "install_kubeadm_cluster.sh failed" + K8SCLUSTER_ADDONS_INSTALL_OPTS="-i ${OSM_DEFAULT_IP} -d ${OSM_WORK_DIR} -D ${OSM_DEVOPS} ${DEBUG_INSTALL}" + $OSM_DEVOPS/installers/install_cluster_addons.sh ${K8SCLUSTER_ADDONS_INSTALL_OPTS} || \ + FATAL_TRACK k8scluster "install_cluster_addons.sh failed" + fi + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + +function deploy_osm() { + deploy_mongodb + track deploy_osm deploy_mongodb_ok + deploy_osm_helm_chart + track deploy_osm deploy_osm_services_k8s_ok + if [ -n "$INSTALL_NGSA" ]; then + # optional NGSA install + install_osm_ngsa_service + track deploy_osm install_osm_ngsa_ok + fi } function install_osm() { @@ -430,11 +474,7 @@ function install_osm() { [ -n "$APT_PROXY_URL" ] && configure_apt_proxy $APT_PROXY_URL # if lxd is requested, we will install it - if [ -n "$INSTALL_LXD" ]; then - LXD_INSTALL_OPTS="-D ${OSM_DEVOPS} -i ${OSM_DEFAULT_IF} ${DEBUG_INSTALL}" - [ -n "${OSM_BEHIND_PROXY}" ] && LXD_INSTALL_OPTS="${LXD_INSTALL_OPTS} -P" - $OSM_DEVOPS/installers/install_lxd.sh ${LXD_INSTALL_OPTS} || FATAL_TRACK lxd "install_lxd.sh failed" - fi + [ -n "$INSTALL_LXD" ] && install_lxd track prereq prereqok_ok @@ -442,10 +482,7 @@ function install_osm() { if [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ]; then echo "Kubeadm requires docker, so docker will be installed." fi - DOCKER_CE_OPTS="-D ${OSM_DEVOPS} ${DEBUG_INSTALL}" - [ -n "${DOCKER_PROXY_URL}" ] && DOCKER_CE_OPTS="${DOCKER_CE_OPTS} -p ${DOCKER_PROXY_URL}" - [ -n "${OSM_BEHIND_PROXY}" ] && DOCKER_CE_OPTS="${DOCKER_CE_OPTS} -P" - $OSM_DEVOPS/installers/install_docker_ce.sh ${DOCKER_CE_OPTS} || FATAL_TRACK docker_ce "install_docker_ce.sh failed" + install_docker_ce fi track docker_ce docker_ce_ok @@ -453,14 +490,7 @@ function install_osm() { FATAL_TRACK k8scluster "install_helm_client.sh failed" track helm_client install_helm_client_ok - if [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ]; then - KUBEADM_INSTALL_OPTS="-d ${OSM_WORK_DIR} -D ${OSM_DEVOPS} ${DEBUG_INSTALL}" - $OSM_DEVOPS/installers/install_kubeadm_cluster.sh ${KUBEADM_INSTALL_OPTS} || \ - FATAL_TRACK k8scluster "install_kubeadm_cluster.sh failed" - K8SCLUSTER_ADDONS_INSTALL_OPTS="-i ${OSM_DEFAULT_IP} -d ${OSM_WORK_DIR} -D ${OSM_DEVOPS} ${DEBUG_INSTALL}" - $OSM_DEVOPS/installers/install_cluster_addons.sh ${K8SCLUSTER_ADDONS_INSTALL_OPTS} || \ - FATAL_TRACK k8scluster "install_cluster_addons.sh failed" - fi + install_k8s_cluster track k8scluster k8scluster_ok if [ -n "${INSTALL_JUJU}" ]; then @@ -475,23 +505,17 @@ function install_osm() { fi track juju juju_ok - # Deploy OSM services + # This track is maintained for backwards compatibility track docker_images docker_images_ok - deploy_mongodb - track deploy_osm deploy_mongodb_ok - deploy_osm_services - track deploy_osm deploy_osm_services_k8s_ok + # Deploy OSM (mongodb, OSM helm chart, NGSA) + deploy_osm + if [ -n "$INSTALL_K8S_MONITOR" ]; then # install OSM MONITORING install_k8s_monitoring track deploy_osm install_k8s_monitoring_ok fi - if [ -n "$INSTALL_NGSA" ]; then - # optional NGSA install - install_osm_ngsa_service - track deploy_osm install_osm_ngsa_ok - fi [ -z "$INSTALL_NOHOSTCLIENT" ] && install_osmclient track osmclient osmclient_ok @@ -601,6 +625,10 @@ function dump_vars(){ echo "INSTALL_NGSA=$INSTALL_NGSA" echo "INSTALL_DOCKER=$INSTALL_DOCKER" echo "INSTALL_ONLY=$INSTALL_ONLY" + echo "INSTALL_ONLY_DEPLOY_OSM=$INSTALL_ONLY_DEPLOY_OSM" + echo "INSTALL_ONLY_DOCKER_CE=$INSTALL_ONLY_DOCKER_CE" + echo "INSTALL_ONLY_K8S_CLUSTER=$INSTALL_ONLY_K8S_CLUSTER" + echo "INSTALL_ONLY_NGSA=$INSTALL_ONLY_NGSA" echo "INSTALL_PLA=$INSTALL_PLA" echo "INSTALL_TO_OPENSTACK=$INSTALL_TO_OPENSTACK" echo "INSTALL_VIMEMU=$INSTALL_VIMEMU" @@ -674,6 +702,10 @@ OPENSTACK_USERDATA_FILE="" OPENSTACK_VM_NAME="server-osm" OPENSTACK_PYTHON_VENV="$HOME/.virtual-envs/osm" INSTALL_ONLY="" +INSTALL_ONLY_DEPLOY_OSM="" +INSTALL_ONLY_DOCKER_CE="" +INSTALL_ONLY_K8S_CLUSTER="" +INSTALL_ONLY_NGSA="" INSTALL_DOCKER="" INSTALL_JUJU="" INSTALL_NOHOSTCLIENT="" @@ -748,7 +780,10 @@ while getopts ":a:c:r:n:k:u:R:D:o:O:N:H:S:s:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o; do o) INSTALL_ONLY="y" [ "${OPTARG}" == "k8s_monitor" ] && INSTALL_K8S_MONITOR="y" && continue - [ "${OPTARG}" == "ng-sa" ] && INSTALL_NGSA="y" && continue + [ "${OPTARG}" == "ng-sa" ] && INSTALL_ONLY_NGSA="y" && continue + [ "${OPTARG}" == "docker" ] && INSTALL_ONLY_DOCKER_CE="y" && continue + [ "${OPTARG}" == "k8scluster" ] && INSTALL_ONLY_K8S_CLUSTER="y" && continue + [ "${OPTARG}" == "deploy-osm" ] && INSTALL_ONLY_DEPLOY_OSM="y" && continue ;; O) INSTALL_TO_OPENSTACK="y" @@ -915,9 +950,14 @@ elif [ -n "$INSTALL_TO_OPENSTACK" ]; then else # Community_installer # Special cases go first - [ -n "$INSTALL_ONLY" ] && [ -n "$INSTALL_K8S_MONITOR" ] && install_k8s_monitoring - [ -n "$INSTALL_ONLY" ] && [ -n "$INSTALL_NGSA" ] && install_osm_ngsa_service - [ -n "$INSTALL_ONLY" ] && echo -e "\nDONE" && exit 0 + if [ -n "$INSTALL_ONLY" ]; then + [ -n "$INSTALL_ONLY_DOCKER_CE" ] && install_docker_ce + [ -n "$INSTALL_ONLY_K8S_CLUSTER" ] && install_k8s_cluster + [ -n "$INSTALL_K8S_MONITOR" ] && install_k8s_monitoring + [ -n "$INSTALL_ONLY_DEPLOY_OSM" ] && deploy_osm + [ -n "$INSTALL_ONLY_NGSA" ] && install_osm_ngsa_service + echo -e "\nDONE" && exit 0 + fi # This is where installation starts install_osm echo -e "\nDONE"