sudo apt-get update
sudo apt-get install -y python3-pip
sudo -H LC_ALL=C python3 -m pip install -U pip
- sudo -H LC_ALL=C python3 -m pip install -U python-magic pyangbind
+ sudo -H LC_ALL=C python3 -m pip install -U python-magic pyangbind verboselogs
sudo apt-get install -y python3-osm-im python3-osmclient
#sed 's,OSM_SOL005=[^$]*,OSM_SOL005=True,' -i ${HOME}/.bashrc
#echo 'export OSM_HOSTNAME=localhost' >> ${HOME}/.bashrc
function juju_createcontroller() {
if ! juju show-controller $OSM_STACK_NAME &> /dev/null; then
# Not found created, create the controller
+ sudo usermod -a -G lxd ${USER}
sg lxd -c "juju bootstrap --bootstrap-series=xenial localhost $OSM_STACK_NAME"
fi
[ $(juju controllers | awk "/^${OSM_STACK_NAME}[\*| ]/{print $1}"|wc -l) -eq 1 ] || FATAL "Juju installation failed"
$WORKDIR_SUDO sed -i "s|OSMLCM_VCA_APIPROXY.*|OSMLCM_VCA_APIPROXY=${OSM_VCA_APIPROXY}|g" $OSM_DOCKER_WORK_DIR/lcm.env
fi
+ if ! grep -Fq "OSMLCM_VCA_ENABLEOSUPGRADE" $OSM_DOCKER_WORK_DIR/lcm.env; then
+ echo "# OSMLCM_VCA_ENABLEOSUPGRADE=false" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/lcm.env
+ fi
+
+ if ! grep -Fq "OSMLCM_VCA_APTMIRROR" $OSM_DOCKER_WORK_DIR/lcm.env; then
+ echo "# OSMLCM_VCA_APTMIRROR=http://archive.ubuntu.com/ubuntu/" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/lcm.env
+ fi
+
# RO
MYSQL_ROOT_PASSWORD=$(generate_secret)
if [ ! -f $OSM_DOCKER_WORK_DIR/ro-db.env ]; then
remove_k8s_namespace $OSM_STACK_NAME
deploy_cni_provider
kube_secrets
- [ ! $OSM_DOCKER_TAG == "latest" ] && parse_yaml $OSM_DOCKER_TAG
+ [ ! $OSM_DOCKER_TAG == "7" ] && parse_yaml $OSM_DOCKER_TAG
namespace_vol
deploy_osm_services
track deploy_osm_services_k8s
echo "\nInstalling vim-emu"
EMUTEMPDIR="$(mktemp -d -q --tmpdir "installosmvimemu.XXXXXX")"
trap 'rm -rf "${EMUTEMPDIR}"' EXIT
+ # install prerequisites (OVS is a must for the emulator to work)
+ sudo apt-get install openvswitch-switch
# clone vim-emu repository (attention: branch is currently master only)
echo "Cloning vim-emu repository ..."
git clone https://osm.etsi.org/gerrit/osm/vim-emu.git $EMUTEMPDIR
}
function uninstall_k8s_monitoring() {
- # install OSM monitoring
+ # uninstall OSM monitoring
$WORKDIR_SUDO $OSM_DEVOPS/installers/k8s/uninstall_osm_k8s_monitoring.sh
}
K8S_MANIFEST_DIR="/etc/kubernetes/manifests"
RE_CHECK='^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
-while getopts ":hy-:b:r:c:k:u:R:l:p:D:o:m:H:S:s:w:t:U:P:A:" o; do
+while getopts ":b:r:c:k:u:R:l:p:D:o:m:H:S:s:w:t:U:P:A:-: hy" o; do
case "${o}" in
- h)
- usage && exit 0
- ;;
b)
COMMIT_ID=${OPTARG}
PULL_IMAGES=""
echo -e "Invalid argument for -i : ' $OPTARG'\n" >&2
usage && exit 1
;;
- R)
- RELEASE="${OPTARG}"
- REPO_ARGS+=(-R "$RELEASE")
- ;;
k)
REPOSITORY_KEY="${OPTARG}"
REPO_ARGS+=(-k "$REPOSITORY_KEY")
REPOSITORY_BASE="${OPTARG}"
REPO_ARGS+=(-u "$REPOSITORY_BASE")
;;
- U)
- DOCKER_USER="${OPTARG}"
+ R)
+ RELEASE="${OPTARG}"
+ REPO_ARGS+=(-R "$RELEASE")
;;
l)
LXD_REPOSITORY_BASE="${OPTARG}"
D)
OSM_DEVOPS="${OPTARG}"
;;
- s)
- OSM_STACK_NAME="${OPTARG}" && [ -n "$KUBERNETES" ] && [[ ! "${OPTARG}" =~ $RE_CHECK ]] && echo "Namespace $OPTARG is invalid. Regex used for validation is $RE_CHECK" && exit 0
- ;;
- H)
- OSM_VCA_HOST="${OPTARG}"
- ;;
- S)
- OSM_VCA_SECRET="${OPTARG}"
- ;;
- P)
- OSM_VCA_PUBKEY=$(cat ${OPTARG})
- ;;
- A)
- OSM_VCA_APIPROXY="${OPTARG}"
- ;;
- w)
- # when specifying workdir, do not use sudo for access
- WORKDIR_SUDO=
- OSM_WORK_DIR="${OPTARG}"
- ;;
- t)
- OSM_DOCKER_TAG="${OPTARG}"
- ;;
o)
INSTALL_ONLY="y"
[ "${OPTARG}" == "vimemu" ] && INSTALL_VIMEMU="y" && continue
[ "${OPTARG}" == "GRAFANA" ] && TO_REBUILD="$TO_REBUILD GRAFANA" && continue
[ "${OPTARG}" == "NONE" ] && TO_REBUILD="$TO_REBUILD NONE" && continue
;;
+ H)
+ OSM_VCA_HOST="${OPTARG}"
+ ;;
+ S)
+ OSM_VCA_SECRET="${OPTARG}"
+ ;;
+ s)
+ OSM_STACK_NAME="${OPTARG}" && [ -n "$KUBERNETES" ] && [[ ! "${OPTARG}" =~ $RE_CHECK ]] && echo "Namespace $OPTARG is invalid. Regex used for validation is $RE_CHECK" && exit 0
+ ;;
+ w)
+ # when specifying workdir, do not use sudo for access
+ WORKDIR_SUDO=
+ OSM_WORK_DIR="${OPTARG}"
+ ;;
+ t)
+ OSM_DOCKER_TAG="${OPTARG}"
+ ;;
+ U)
+ DOCKER_USER="${OPTARG}"
+ ;;
+ P)
+ OSM_VCA_PUBKEY=$(cat ${OPTARG})
+ ;;
+ A)
+ OSM_VCA_APIPROXY="${OPTARG}"
+ ;;
-)
[ "${OPTARG}" == "help" ] && usage && exit 0
[ "${OPTARG}" == "source" ] && INSTALL_FROM_SOURCE="y" && PULL_IMAGES="" && continue
echo -e "Invalid option: '--$OPTARG'\n" >&2
usage && exit 1
;;
+ :)
+ echo "Option -$OPTARG requires an argument" >&2
+ usage && exit 1
+ ;;
\?)
echo -e "Invalid option: '-$OPTARG'\n" >&2
usage && exit 1
;;
+ h)
+ usage && exit 0
+ ;;
y)
ASSUME_YES="y"
;;