X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Finstall_juju.sh;h=dd9eb3b3987f89ad3f931e9e372b3cc843be0e6b;hb=cb7dc67d460141b98472561ce080cf378c9cd785;hp=a5466376326ab6f0034fe470114f6b64db748f64;hpb=7114cfa5ce2e800115a43df175bedd6dbb0e5f71;p=osm%2Fdevops.git diff --git a/installers/install_juju.sh b/installers/install_juju.sh index a5466376..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 } @@ -80,27 +99,33 @@ clouds: ssl-hostname-verification: false EOF openssl req -nodes -new -x509 -keyout /tmp/.osm/client.key -out /tmp/.osm/client.crt -days 365 -subj "/C=FR/ST=Nice/L=Nice/O=ETSI/OU=OSM/CN=osm.etsi.org" - local server_cert=`cat /var/snap/lxd/common/lxd/server.crt | sed 's/^/ /'` - local client_cert=`cat /tmp/.osm/client.crt | sed 's/^/ /'` - local client_key=`cat /tmp/.osm/client.key | sed 's/^/ /'` - cat << EOF > $LXD_CREDENTIALS credentials: $OSM_VCA_CLOUDNAME: lxd-cloud: auth-type: certificate - server-cert: | -$server_cert - client-cert: | -$client_cert - client-key: | -$client_key + server-cert: /var/snap/lxd/common/lxd/server.crt + client-cert: /tmp/.osm/client.crt + client-key: /tmp/.osm/client.key EOF lxc config trust add local: /tmp/.osm/client.crt juju add-cloud -c $OSM_STACK_NAME $OSM_VCA_CLOUDNAME $LXD_CLOUD --force 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 } @@ -131,8 +156,9 @@ function juju_createproxy() { DEBUG_INSTALL="" INSTALL_CACHELXDIMAGES="" INSTALL_NOJUJU="" -JUJU_AGENT_VERSION=2.9.22 +JUJU_AGENT_VERSION=2.9.34 JUJU_VERSION=2.9 +OSM_BEHIND_PROXY="" OSM_DEVOPS= OSM_STACK_NAME=osm OSM_VCA_HOST= @@ -140,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}" @@ -163,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 @@ -193,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"