Update OSM installer to allow an external IP address for the cluster
Change-Id: Ic760f427dddbaf50532c87074834585b4674cd7e
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
Signed-off-by: ramonsalguer <javier.ramon@telefonica.com>
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index c3fbb8d..f6f30e0 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -187,9 +187,10 @@
python3 -m pip install -r /usr/lib/python3/dist-packages/osmclient/requirements.txt
fi
echo -e "\nOSM client installed"
- echo -e "OSM client assumes that OSM host is running in localhost (127.0.0.1)."
- echo -e "In case you want to interact with a different OSM host, you will have to configure this env variable in your .bashrc file:"
- echo " export OSM_HOSTNAME=nbi.${OSM_DEFAULT_IP}.nip.io"
+ echo "You can get the OSM NBI endpoint using the following command"
+ echo ' kubectl -n osm get ingress nbi-ingress -o jsonpath="{.spec.rules[0].host}"'
+ echo "You will have to configure this env variable in your .bashrc file:"
+ echo " export OSM_HOSTNAME=nbi.${OSM_K8S_EXTERNAL_IP}.nip.io"
[ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
return 0
}
@@ -222,10 +223,10 @@
[ ! "$OSM_DOCKER_TAG" == "testing-daily" ] && OSM_HELM_OPTS="${OSM_HELM_OPTS} --set-string global.image.tag=${OSM_DOCKER_TAG}"
[ ! "$OSM_DOCKER_TAG" == "testing-daily" ] && OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.server.sidecarContainers.prometheus-config-sidecar.image=${DOCKER_REGISTRY_URL}${DOCKER_USER}/prometheus:${OSM_DOCKER_TAG}"
- OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.hostname=${OSM_DEFAULT_IP}.nip.io"
- OSM_HELM_OPTS="${OSM_HELM_OPTS} --set grafana.ingress.hosts={grafana.${OSM_DEFAULT_IP}.nip.io}"
- OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.server.ingress.hosts={prometheus.${OSM_DEFAULT_IP}.nip.io}"
- # OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.alertmanager.ingress.hosts={alertmanager.${OSM_DEFAULT_IP}.nip.io}"
+ OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.hostname=${OSM_K8S_EXTERNAL_IP}.nip.io"
+ OSM_HELM_OPTS="${OSM_HELM_OPTS} --set grafana.ingress.hosts={grafana.${OSM_K8S_EXTERNAL_IP}.nip.io}"
+ OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.server.ingress.hosts={prometheus.${OSM_K8S_EXTERNAL_IP}.nip.io}"
+ # OSM_HELM_OPTS="${OSM_HELM_OPTS} --set prometheus.alertmanager.ingress.hosts={alertmanager.${OSM_K8S_EXTERNAL_IP}.nip.io}"
if [ -z "${INSTALL_MGMT_CLUSTER}" ]; then
OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.gitops.enabled=false"
else
@@ -290,7 +291,7 @@
function install_osm_ngsa_service() {
[ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
- NGSA_OPTS="-i ${OSM_DEFAULT_IP} -d ${OSM_HELM_WORK_DIR} -D ${OSM_DEVOPS} -s ${OSM_NAMESPACE} -t ${OSM_DOCKER_TAG} -U ${DOCKER_USER} ${DEBUG_INSTALL}"
+ NGSA_OPTS="-i ${OSM_K8S_EXTERNAL_IP} -d ${OSM_HELM_WORK_DIR} -D ${OSM_DEVOPS} -s ${OSM_NAMESPACE} -t ${OSM_DOCKER_TAG} -U ${DOCKER_USER} ${DEBUG_INSTALL}"
[ -n "${DOCKER_REGISTRY_URL}" ] && NGSA_OPTS="${NGSA_OPTS} -r ${DOCKER_REGISTRY_URL}"
$OSM_DEVOPS/installers/install_ngsa.sh ${NGSA_OPTS} || \
FATAL_TRACK install_osm_ngsa_service "install_ngsa.sh failed"
@@ -300,7 +301,7 @@
function add_local_k8scluster() {
[ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
# OSM_HOSTNAME=$(kubectl get --namespace osm -o jsonpath="{.spec.rules[0].host}" ingress nbi-ingress)
- OSM_HOSTNAME="nbi.${OSM_DEFAULT_IP}.nip.io:443"
+ OSM_HOSTNAME="nbi.${OSM_K8S_EXTERNAL_IP}.nip.io:443"
/usr/bin/osm --hostname ${OSM_HOSTNAME} --all-projects vim-create \
--name _system-osm-vim \
--account_type dummy \
@@ -437,6 +438,7 @@
FATAL_TRACK k8scluster "install_cluster_addons.sh failed for kubeadm cluster"
elif [ "${K8S_CLUSTER_ENGINE}" == "k3s" ]; then
K3S_INSTALL_OPTS="-i ${OSM_DEFAULT_IP} -D ${OSM_DEVOPS} ${DEBUG_INSTALL}"
+ [ "${OSM_K8S_EXTERNAL_IP}" != "${OSM_DEFAULT_IP}" ] && K3S_INSTALL_OPTS="${K3S_INSTALL_OPTS} -e ${OSM_K8S_EXTERNAL_IP}"
[ -n "${DOCKER_PROXY_URL}" ] && K3S_INSTALL_OPTS="${K3S_INSTALL_OPTS} -p ${DOCKER_PROXY_URL}"
[ -n "${DOCKER_REGISTRY_URL}" ] && K3S_INSTALL_OPTS="${K3S_INSTALL_OPTS} -d ${DOCKER_REGISTRY_URL}"
[ -n "${DOCKER_REGISTRY_USER}" ] && K3S_INSTALL_OPTS="${K3S_INSTALL_OPTS} -u ${DOCKER_REGISTRY_USER}"
@@ -501,6 +503,7 @@
[ -z "$OSM_DEFAULT_IF" ] && FATAL "Not possible to determine the interface with the default route 0.0.0.0"
OSM_DEFAULT_IP=`ip -o -4 a s ${OSM_DEFAULT_IF} |awk '{split($4,a,"/"); print a[1]; exit}'`
[ -z "$OSM_DEFAULT_IP" ] && FATAL "Not possible to determine the IP address of the interface with the default route"
+ OSM_K8S_EXTERNAL_IP=${OSM_K8S_EXTERNAL_IP:-${OSM_DEFAULT_IP}}
# configure apt proxy
[ -n "$APT_PROXY_URL" ] && configure_apt_proxy $APT_PROXY_URL
@@ -697,6 +700,7 @@
echo "OPENSTACK_VM_NAME"="$OPENSTACK_VM_NAME"
echo "OSM_DEVOPS=$OSM_DEVOPS"
echo "OSM_DOCKER_TAG=$OSM_DOCKER_TAG"
+ echo "OSM_K8S_EXTERNAL_IP=$OSM_K8S_EXTERNAL_IP"
echo "OSM_HELM_WORK_DIR=$OSM_HELM_WORK_DIR"
echo "OSM_NAMESPACE=$OSM_NAMESPACE"
echo "OSM_VCA_HOST=$OSM_VCA_HOST"
@@ -802,7 +806,7 @@
MODULE_DOCKER_TAG=
OSM_INSTALLATION_TYPE="Default"
-while getopts ":a:c:r:n:k:u:R:D:o:O:N:H:S:s:t:U:P:A:l:L:K:d:p:T:f:F:G:M:-: hy" o; do
+while getopts ":a:c:e:r:n:k:u:R:D:o:O:N:H:S:s:t:U:P:A:l:L:K:d:p:T:f:F:G:M:-: hy" o; do
case "${o}" in
a)
APT_PROXY_URL=${OPTARG}
@@ -814,6 +818,9 @@
echo -e "Invalid argument for -c : ' ${K8S_CLUSTER_ENGINE}'\n" >&2
usage && exit 1
;;
+ e)
+ OSM_K8S_EXTERNAL_IP="${OPTARG}"
+ ;;
r)
REPOSITORY="${OPTARG}"
REPO_ARGS+=(-r "$REPOSITORY")