LXD_VERSION=5.0
JUJU_VERSION=2.9
-JUJU_AGENT_VERSION=2.9.33
+JUJU_AGENT_VERSION=2.9.43
K8S_CLOUD_NAME="k8s-cloud"
KUBECTL="microk8s.kubectl"
-MICROK8S_VERSION=1.23
+MICROK8S_VERSION=1.26
OSMCLIENT_VERSION=latest
IMAGES_OVERLAY_FILE=~/.osm/images-overlay.yaml
PASSWORD_OVERLAY_FILE=~/.osm/password-overlay.yaml
sudo snap install microk8s --classic --channel=${MICROK8S_VERSION}/stable ||
FATAL_TRACK k8scluster "snap install microk8s ${MICROK8S_VERSION}/stable failed"
sudo usermod -a -G microk8s `whoami`
+ # Workaround bug in calico MTU detection
+ if [ ${DEFAULT_IF_MTU} -ne 1500 ] ; then
+ sudo mkdir -p /var/lib/calico
+ sudo ln -sf /var/snap/microk8s/current/var/lib/calico/mtu /var/lib/calico/mtu
+ fi
sudo cat /var/snap/microk8s/current/args/kube-apiserver | grep advertise-address || (
echo "--advertise-address $DEFAULT_IP" | sudo tee -a /var/snap/microk8s/current/args/kube-apiserver
sg ${KUBEGRP} -c microk8s.stop
else
sg ${KUBEGRP} -c "echo ${DEFAULT_IP}-${DEFAULT_IP} | microk8s.enable metallb"
sg ${KUBEGRP} -c "microk8s.enable ingress"
- sg ${KUBEGRP} -c "microk8s.enable storage dns"
+ sg ${KUBEGRP} -c "microk8s.enable hostpath-storage dns"
TIME_TO_WAIT=30
start_time="$(date -u +%s)"
while true
sudo usermod -a -G lxd `whoami`
cat /usr/share/osm-devops/installers/lxd-preseed.conf | sed 's/^config: {}/config:\n core.https_address: '$LXDENDPOINT':8443/' | sg lxd -c "lxd init --preseed"
sg lxd -c "lxd waitready"
- DEFAULT_MTU=$(ip addr show $DEFAULT_IF | perl -ne 'if (/mtu\s(\d+)/) {print $1;}')
- sg lxd -c "lxc profile device set default eth0 mtu $DEFAULT_MTU"
- sg lxd -c "lxc network set lxdbr0 bridge.mtu $DEFAULT_MTU"
cat << EOF > $LXD_CLOUD
clouds:
API_SERVER="$(echo $hostport | sed -e 's,:.*,,g')"
fi
# Configure VCA Integrator
- juju config vca \
- k8s-cloud=microk8s \
- lxd-cloud=lxd-cloud:lxd-cloud \
- controllers="`cat ~/.local/share/juju/controllers.yaml`" \
- accounts="`cat ~/.local/share/juju/accounts.yaml`" \
- public-key="`cat ~/.local/share/juju/ssh/juju_id_rsa.pub`"
+ if [ ! -v INSTALL_NOLXD ]; then
+ juju config vca \
+ k8s-cloud=microk8s \
+ lxd-cloud=lxd-cloud:lxd-cloud \
+ controllers="`cat ~/.local/share/juju/controllers.yaml`" \
+ accounts="`cat ~/.local/share/juju/accounts.yaml`" \
+ public-key="`cat ~/.local/share/juju/ssh/juju_id_rsa.pub`"
+ else
+ juju config vca \
+ k8s-cloud=microk8s \
+ controllers="`cat ~/.local/share/juju/controllers.yaml`" \
+ accounts="`cat ~/.local/share/juju/accounts.yaml`" \
+ public-key="`cat ~/.local/share/juju/ssh/juju_id_rsa.pub`"
+ fi
# Expose OSM services
juju config -m $MODEL_NAME nbi external-hostname=nbi.${API_SERVER}.nip.io
juju config -m $MODEL_NAME ng-ui external-hostname=ui.${API_SERVER}.nip.io
cat << EOF >> /tmp/images-overlay.yaml
${charm}:
resources:
- image: /tmp/${charm}_registry.yaml
+ ${charm}-image: /tmp/${charm}_registry.yaml
EOF
done
DEFAULT_IF=`ip route list match 0.0.0.0 | awk '{print $5; exit}'`
DEFAULT_IP=`ip -o -4 a |grep ${DEFAULT_IF}|awk '{split($4,a,"/"); print a[1]; exit}'`
+DEFAULT_IF_MTU=`ip a show ${DEFAULT_IF} | grep mtu | awk '{print $5}'`
check_arguments $@
mkdir -p ~/.osm