X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Finstall_juju.sh;h=dd9eb3b3987f89ad3f931e9e372b3cc843be0e6b;hb=cb7dc67d460141b98472561ce080cf378c9cd785;hp=26de8ddfdec84d3709d02758a52b8e4374f5311e;hpb=7735f6a86e290c0c15c4f41f5f81b5930b14cc73;p=osm%2Fdevops.git diff --git a/installers/install_juju.sh b/installers/install_juju.sh index 26de8ddf..dd9eb3b3 100755 --- a/installers/install_juju.sh +++ b/installers/install_juju.sh @@ -55,9 +55,28 @@ function juju_createcontroller_k8s(){ [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function cat $HOME/.kube/config | juju add-k8s $OSM_VCA_K8S_CLOUDNAME --client \ || FATAL "Failed to add K8s endpoint and credential for client in cloud $OSM_VCA_K8S_CLOUDNAME" + + JUJU_BOOTSTRAP_OPTS="" + if [ -n "${OSM_BEHIND_PROXY}" ] ; then + K8S_SVC_CLUSTER_IP=$(kubectl get svc/kubernetes -o jsonpath='{.spec.clusterIP}') + NO_PROXY="${NO_PROXY},${K8S_SVC_CLUSTER_IP},.svc,.cluster.local" + mkdir -p /tmp/.osm + JUJU_MODEL_CONFIG_FILE=/tmp/.osm/model-config.yaml + cat << EOF > $JUJU_MODEL_CONFIG_FILE +apt-http-proxy: ${HTTP_PROXY} +apt-https-proxy: ${HTTPS_PROXY} +juju-http-proxy: ${HTTP_PROXY} +juju-https-proxy: ${HTTPS_PROXY} +juju-no-proxy: ${NO_PROXY} +snap-http-proxy: ${HTTP_PROXY} +snap-https-proxy: ${HTTPS_PROXY} +EOF + JUJU_BOOTSTRAP_OPTS="--model-default /tmp/.osm/model-config.yaml" + fi juju bootstrap -v --debug $OSM_VCA_K8S_CLOUDNAME $OSM_STACK_NAME \ --config controller-service-type=loadbalancer \ --agent-version=$JUJU_AGENT_VERSION \ + ${JUJU_BOOTSTRAP_OPTS} \ || FATAL "Failed to bootstrap controller $OSM_STACK_NAME in cloud $OSM_VCA_K8S_CLOUDNAME" [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } @@ -94,6 +113,19 @@ EOF juju add-credential -c $OSM_STACK_NAME $OSM_VCA_CLOUDNAME -f $LXD_CREDENTIALS sg lxd -c "lxd waitready" juju controller-config features=[k8s-operators] + if [ -n "${OSM_BEHIND_PROXY}" ] ; then + if [ -n "${HTTP_PROXY}" ]; then + juju model-default lxd-cloud apt-http-proxy="$HTTP_PROXY" + juju model-default lxd-cloud juju-http-proxy="$HTTP_PROXY" + juju model-default lxd-cloud snap-http-proxy="$HTTP_PROXY" + fi + if [ -n "${HTTPS_PROXY}" ]; then + juju model-default lxd-cloud apt-https-proxy="$HTTPS_PROXY" + juju model-default lxd-cloud juju-https-proxy="$HTTPS_PROXY" + juju model-default lxd-cloud snap-https-proxy="$HTTPS_PROXY" + fi + [ -n "${NO_PROXY}" ] && juju model-default lxd-cloud juju-no-proxy="$NO_PROXY" + fi [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } @@ -124,8 +156,9 @@ function juju_createproxy() { DEBUG_INSTALL="" INSTALL_CACHELXDIMAGES="" INSTALL_NOJUJU="" -JUJU_AGENT_VERSION=2.9.35 +JUJU_AGENT_VERSION=2.9.34 JUJU_VERSION=2.9 +OSM_BEHIND_PROXY="" OSM_DEVOPS= OSM_STACK_NAME=osm OSM_VCA_HOST= @@ -133,7 +166,7 @@ OSM_VCA_CLOUDNAME="localhost" OSM_VCA_K8S_CLOUDNAME="k8scloud" RE_CHECK='^[a-z0-9]([-a-z0-9]*[a-z0-9])?$' -while getopts ":D:i:s:H:l:L:K:-: h" o; do +while getopts ":D:i:s:H:l:L:K:-: hP" o; do case "${o}" in D) OSM_DEVOPS="${OPTARG}" @@ -156,6 +189,9 @@ while getopts ":D:i:s:H:l:L:K:-: h" o; do K) CONTROLLER_NAME="${OPTARG}" ;; + P) + OSM_BEHIND_PROXY="y" + ;; -) [ "${OPTARG}" == "help" ] && usage && exit 0 [ "${OPTARG}" == "debug" ] && DEBUG_INSTALL="--debug" && continue @@ -186,6 +222,7 @@ source $OSM_DEVOPS/common/track echo "DEBUG_INSTALL=$DEBUG_INSTALL" echo "DEFAULT_IP=$DEFAULT_IP" +echo "OSM_BEHIND_PROXY=$OSM_BEHIND_PROXY" echo "OSM_DEVOPS=$OSM_DEVOPS" echo "HOME=$HOME"