echo -e " -b tags/v1.1.0 (a specific tag)"
echo -e " ..."
echo -e " -a <apt proxy url>: use this apt proxy url when downloading apt packages (air-gapped installation)"
+ echo -e " -c <kubernetes engine>: use a specific kubernetes engine (options: kubeadm, k3s, microk8s), default is kubeadm"
echo -e " -s <namespace> namespace when installed using k8s, default is osm"
echo -e " -H <VCA host> use specific juju host controller IP"
echo -e " -S <VCA secret> use VCA/juju secret key"
track prereq prereqok_ok
- if [ -n "$INSTALL_DOCKER" ]; then
+ if [ -n "$INSTALL_DOCKER" ] || [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ]; then
DOCKER_CE_OPTS="-D ${OSM_DEVOPS} ${DEBUG_INSTALL}"
[ -n "${DOCKER_PROXY_URL}" ] && DOCKER_CE_OPTS="${DOCKER_CE_OPTS} -p ${DOCKER_PROXY_URL}"
[ -n "${OSM_BEHIND_PROXY}" ] && DOCKER_CE_OPTS="${DOCKER_CE_OPTS} -P"
track docker_ce docker_ce_ok
- $OSM_DEVOPS/installers/install_kubeadm_cluster.sh -i ${OSM_DEFAULT_IP} -d ${OSM_WORK_DIR} -D ${OSM_DEVOPS} ${DEBUG_INSTALL} || \
- FATAL_TRACK k8scluster "install_kubeadm_cluster.sh failed"
- track k8scluster k8scluster_ok
+ if [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ]; then
+ $OSM_DEVOPS/installers/install_kubeadm_cluster.sh -i ${OSM_DEFAULT_IP} -d ${OSM_WORK_DIR} -D ${OSM_DEVOPS} ${DEBUG_INSTALL} || \
+ FATAL_TRACK k8scluster "install_kubeadm_cluster.sh failed"
+ track k8scluster k8scluster_ok
+ fi
if [ -n "${INSTALL_JUJU}" ]; then
JUJU_OPTS="-D ${OSM_DEVOPS} -s ${OSM_NAMESPACE} -i ${OSM_DEFAULT_IP} ${DEBUG_INSTALL} ${INSTALL_CACHELXDIMAGES}"
function dump_vars(){
[ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
echo "APT_PROXY_URL=$APT_PROXY_URL"
+ echo "K8S_CLUSTER_ENGINE=$K8S_CLUSTER_ENGINE"
echo "DEVELOP=$DEVELOP"
echo "DEBUG_INSTALL=$DEBUG_INSTALL"
echo "DOCKER_NOBUILD=$DOCKER_NOBUILD"
COMMIT_ID=""
ASSUME_YES=""
APT_PROXY_URL=""
+K8S_CLUSTER_ENGINE="kubeadm"
INSTALL_FROM_SOURCE=""
DEBUG_INSTALL=""
RELEASE="ReleaseTEN"
MODULE_DOCKER_TAG=
OSM_INSTALLATION_TYPE="Default"
-while getopts ":a:b:r:n:k:u:R:D:o:O:m:N:H:S:s:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o; do
+while getopts ":a:b:c:r:n:k:u:R:D:o:O:m:N:H:S:s:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o; do
case "${o}" in
a)
APT_PROXY_URL=${OPTARG}
COMMIT_ID=${OPTARG}
PULL_IMAGES=""
;;
+ c)
+ K8S_CLUSTER_ENGINE=${OPTARG}
+ [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ] && continue
+ [ "${K8S_CLUSTER_ENGINE}" == "k3s" ] && continue
+ [ "${K8S_CLUSTER_ENGINE}" == "microk8s" ] && continue
+ echo -e "Invalid argument for -c : ' ${K8S_CLUSTER_ENGINE}'\n" >&2
+ usage && exit 1
+ ;;
r)
REPOSITORY="${OPTARG}"
REPO_ARGS+=(-r "$REPOSITORY")
os_info="${os_distro}_${os_release}"
os_info="${os_info// /_}"
-# Charmed installation
if [ -n "$CHARMED" ]; then
+ # Charmed installation
sudo snap install jq || FATAL "Could not install jq (snap package). Make sure that snap works"
${OSM_DEVOPS}/installers/charmed_install.sh --tag $OSM_DOCKER_TAG "$@" || \
FATAL_TRACK charmed_install "charmed_install.sh failed"
wget -q -O- https://osm-download.etsi.org/ftp/osm-15.0-fifteen/README2.txt &> /dev/null
echo -e "\nDONE"
exit 0
-fi
-
-# Installation to Openstack
-if [ -n "$INSTALL_TO_OPENSTACK" ]; then
+elif [ -n "$INSTALL_TO_OPENSTACK" ]; then
+ # Installation to Openstack
install_to_openstack $OPENSTACK_OPENRC_FILE_OR_CLOUD $OPENSTACK_PUBLIC_NET_NAME $OPENSTACK_ATTACH_VOLUME
echo -e "\nDONE"
exit 0
+else
+ # Community_installer
+ # Check incompatible options
+ [ -n "$TO_REBUILD" ] && [ "$TO_REBUILD" != " NONE" ] && echo $TO_REBUILD | grep -q NONE && FATAL "Incompatible option: -m NONE cannot be used with other -m options"
+ [ -n "$TO_REBUILD" ] && [ "$TO_REBUILD" == " PLA" ] && [ -z "$INSTALL_PLA" ] && FATAL "Incompatible option: -m PLA cannot be used without --pla option"
+ # Special cases go first
+ # if develop, we force master
+ [ -z "$COMMIT_ID" ] && [ -n "$DEVELOP" ] && COMMIT_ID="master"
+ [ -n "$INSTALL_ONLY" ] && [ -n "$INSTALL_K8S_MONITOR" ] && install_k8s_monitoring
+ [ -n "$INSTALL_ONLY" ] && [ -n "$INSTALL_NGSA" ] && install_osm_ngsa_service
+ [ -n "$INSTALL_ONLY" ] && echo -e "\nDONE" && exit 0
+ # This is where installation starts
+ install_osm
+ echo -e "\nDONE"
+ exit 0
fi
-
-# Community_installer
-# Check incompatible options
-[ -n "$TO_REBUILD" ] && [ "$TO_REBUILD" != " NONE" ] && echo $TO_REBUILD | grep -q NONE && FATAL "Incompatible option: -m NONE cannot be used with other -m options"
-[ -n "$TO_REBUILD" ] && [ "$TO_REBUILD" == " PLA" ] && [ -z "$INSTALL_PLA" ] && FATAL "Incompatible option: -m PLA cannot be used without --pla option"
-# Special cases go first
-# if develop, we force master
-[ -z "$COMMIT_ID" ] && [ -n "$DEVELOP" ] && COMMIT_ID="master"
-[ -n "$INSTALL_ONLY" ] && [ -n "$INSTALL_K8S_MONITOR" ] && install_k8s_monitoring
-[ -n "$INSTALL_ONLY" ] && [ -n "$INSTALL_NGSA" ] && install_osm_ngsa_service
-[ -n "$INSTALL_ONLY" ] && echo -e "\nDONE" && exit 0
-# This is where installation starts
-install_osm
-echo -e "\nDONE"
-exit 0