+ if [ -v KUBECFG ]; then
+ cat $KUBECFG | juju add-k8s $K8S_CLOUD_NAME $ADD_K8S_OPTS
+ [ -v BOOTSTRAP_NEEDED ] && juju bootstrap $K8S_CLOUD_NAME $CONTROLLER_NAME \
+ --config controller-service-type=loadbalancer \
+ --agent-version=2.8.1
+ else
+ sg ${KUBEGRP} -c "echo ${DEFAULT_IP}-${DEFAULT_IP} | microk8s.enable metallb"
+ sg ${KUBEGRP} -c "microk8s.enable storage dns"
+ TIME_TO_WAIT=30
+ start_time="$(date -u +%s)"
+ while true
+ do
+ now="$(date -u +%s)"
+ if [[ $(( now - start_time )) -gt $TIME_TO_WAIT ]];then
+ echo "Microk8s storage failed to enable"
+ sg ${KUBEGRP} -c "microk8s.status"
+ exit 1
+ fi
+ storage_status=`sg ${KUBEGRP} -c "microk8s.status -a storage"`
+ if [[ $storage_status == "enabled" ]]; then
+ break
+ fi
+ sleep 1
+ done
+
+ [ ! -v BOOTSTRAP_NEEDED ] && sg ${KUBEGRP} -c "microk8s.config" | juju add-k8s $K8S_CLOUD_NAME $ADD_K8S_OPTS
+ [ -v BOOTSTRAP_NEEDED ] && sg ${KUBEGRP} -c \
+ "juju bootstrap microk8s $CONTROLLER_NAME --config controller-service-type=loadbalancer --agent-version=2.8.1" \
+ && K8S_CLOUD_NAME=microk8s
+ fi