Add --only-vca flag to charmed installer
It will help feature 10239, in order to automate the deployment of the
VCA without needing to deploy OSM.
When the option is enabled in the installation, in the end a string will
be printed out with the command to be executed in OSM to register the
installed VCA.
Change-Id: I1b284a5a650b50e89c07a6d08507406823c6cc2d
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/installers/charmed_install.sh b/installers/charmed_install.sh
index b36d582..107397f 100755
--- a/installers/charmed_install.sh
+++ b/installers/charmed_install.sh
@@ -41,6 +41,7 @@
--ha) BUNDLE=$OSM_HA_BUNDLE ;;
--tag) TAG="$2" ;;
--registry) REGISTRY_INFO="$2" ;;
+ --only-vca) ONLY_VCA=y ;;
esac
shift
done
@@ -235,7 +236,6 @@
esac
fi
- create_overlay
echo "Creating OSM model"
if [ -v KUBECFG ]; then
juju add-model $MODEL_NAME $K8S_CLOUD_NAME
@@ -440,25 +440,40 @@
mkdir -p ~/.osm
install_snaps
bootstrap_k8s_lxd
-deploy_charmed_osm
-install_osmclient
-export OSM_HOSTNAME=$(juju config -m $MODEL_NAME nbi site_url | sed "s/http.*\?:\/\///"):443
-sleep 10
-add_local_k8scluster
+create_overlay
+if [ -v ONLY_VCA ]; then
+ HOME=/home/$USER
+ vca_user=$(cat $HOME/.local/share/juju/accounts.yaml | yq e .controllers.$CONTROLLER_NAME.user - )
+ vca_secret=$(cat $HOME/.local/share/juju/accounts.yaml | yq e .controllers.$CONTROLLER_NAME.password - )
+ vca_host=$(cat $HOME/.local/share/juju/controllers.yaml | yq e .controllers.$CONTROLLER_NAME.api-endpoints[0] - | cut -d ":" -f 1)
+ vca_port=$(cat $HOME/.local/share/juju/controllers.yaml | yq e .controllers.$CONTROLLER_NAME.api-endpoints[0] - | cut -d ":" -f 2)
+ vca_pubkey=\"$(cat $HOME/.local/share/juju/ssh/juju_id_rsa.pub)\"
+ vca_cloud="lxd-cloud"
+ vca_cacert=$(cat $HOME/.local/share/juju/controllers.yaml | yq e .controllers.$CONTROLLER_NAME.ca-cert - | base64 | tr -d \\n)
+ hostname=`cat /etc/hostname`
-if [ -v MICROSTACK ]; then
- install_microstack
+ echo "Use the following command to register the installed VCA to your OSM:"
+ echo -e " osm vca-add --endpoints $vca_host:$vca_port \ \n --user $vca_user \ \n --secret $vca_secret \ \n --cacert $vca_cacert \ \n --lxd-cloud lxd-cloud \ \n --lxd-credentials lxd-cloud \ \n --k8s-cloud microk8s \ \n --k8s-credentials microk8s\ \n $hostname-vca"
+else
+ deploy_charmed_osm
+ install_osmclient
+ export OSM_HOSTNAME=$(juju config -m $MODEL_NAME nbi site_url | sed "s/http.*\?:\/\///"):443
+ sleep 10
+ add_local_k8scluster
+ if [ -v MICROSTACK ]; then
+ install_microstack
+ fi
+
+ echo "Your installation is now complete, follow these steps for configuring the osmclient:"
+ echo
+ echo "1. Create the OSM_HOSTNAME environment variable with the NBI IP"
+ echo
+ echo "export OSM_HOSTNAME=$OSM_HOSTNAME"
+ echo
+ echo "2. Add the previous command to your .bashrc for other Shell sessions"
+ echo
+ echo "echo \"export OSM_HOSTNAME=$OSM_HOSTNAME\" >> ~/.bashrc"
+ echo
+ echo "DONE"
fi
-
-echo "Your installation is now complete, follow these steps for configuring the osmclient:"
-echo
-echo "1. Create the OSM_HOSTNAME environment variable with the NBI IP"
-echo
-echo "export OSM_HOSTNAME=$OSM_HOSTNAME"
-echo
-echo "2. Add the previous command to your .bashrc for other Shell sessions"
-echo
-echo "echo \"export OSM_HOSTNAME=$OSM_HOSTNAME\" >> ~/.bashrc"
-echo
-echo "DONE"
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index 11723fe..57cc4fb 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -1824,6 +1824,7 @@
[ "${OPTARG}" == "lxd" ] && continue
[ "${OPTARG}" == "lxd-cred" ] && continue
[ "${OPTARG}" == "microstack" ] && continue
+ [ "${OPTARG}" == "only-vca" ] && continue
[ "${OPTARG}" == "vca" ] && continue
[ "${OPTARG}" == "ha" ] && continue
[ "${OPTARG}" == "tag" ] && continue