- echo "Finished generation of docker env files"
-}
-
-function generate_osmclient_script () {
- echo "docker run -ti --network net${OSM_STACK_NAME} ${DOCKER_USER}/osmclient:${OSM_DOCKER_TAG}" | $WORKDIR_SUDO tee $OSM_DOCKER_WORK_DIR/osm
- $WORKDIR_SUDO chmod +x "$OSM_DOCKER_WORK_DIR/osm"
- echo "osmclient sidecar container can be found at: $OSM_DOCKER_WORK_DIR/osm"
-}
-
-#installs kubernetes packages
-function install_kube() {
- sudo apt-get update && sudo apt-get install -y apt-transport-https
- curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- sudo add-apt-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
- sudo apt-get update
- echo "Installing Kubernetes Packages ..."
- sudo apt-get install -y kubelet=1.15.0-00 kubeadm=1.15.0-00 kubectl=1.15.0-00
-}
-
-#initializes kubernetes control plane
-function init_kubeadm() {
- sudo swapoff -a
- sudo kubeadm init --config $1
- sleep 5
-}
-
-function kube_config_dir() {
- [ ! -d $K8S_MANIFEST_DIR ] && FATAL "Cannot Install Kubernetes"
- mkdir -p $HOME/.kube
- sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
- sudo chown $(id -u):$(id -g) $HOME/.kube/config
-}
-
-#deploys flannel as daemonsets
-function deploy_cni_provider() {
- CNI_DIR="$(mktemp -d -q --tmpdir "flannel.XXXXXX")"
- trap 'rm -rf "${CNI_DIR}"' EXIT
- wget -q https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml -P $CNI_DIR
- kubectl apply -f $CNI_DIR
- [ $? -ne 0 ] && FATAL "Cannot Install Flannel"
-}
-
-#creates secrets from env files which will be used by containers
-function kube_secrets(){
- kubectl create ns $OSM_STACK_NAME
- kubectl create secret generic lcm-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/lcm.env
- kubectl create secret generic mon-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/mon.env
- kubectl create secret generic nbi-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/nbi.env
- kubectl create secret generic ro-db-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/ro-db.env
- kubectl create secret generic ro-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/ro.env
- kubectl create secret generic keystone-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/keystone.env
- kubectl create secret generic lwui-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/lwui.env
- kubectl create secret generic pol-secret -n $OSM_STACK_NAME --from-env-file=$OSM_DOCKER_WORK_DIR/pol.env
-}
-
-#deploys osm pods and services
-function deploy_osm_services() {
- K8S_MASTER=$(kubectl get nodes | awk '$3~/master/'| awk '{print $1}')
- kubectl taint node $K8S_MASTER node-role.kubernetes.io/master:NoSchedule-
- sleep 5
- kubectl apply -n $OSM_STACK_NAME -f $OSM_K8S_WORK_DIR
-}
-
-function deploy_osm_pla_service() {
- # corresponding to parse_yaml
- [ ! $OSM_DOCKER_TAG == "7" ] && $WORKDIR_SUDO sed -i "s/opensourcemano\/pla:.*/opensourcemano\/pla:$OSM_DOCKER_TAG/g" $OSM_DOCKER_WORK_DIR/osm_pla/pla.yaml
- # corresponding to namespace_vol
- $WORKDIR_SUDO sed -i "s#path: /var/lib/osm#path: $OSM_NAMESPACE_VOL#g" $OSM_DOCKER_WORK_DIR/osm_pla/pla.yaml
- # corresponding to deploy_osm_services
- kubectl apply -n $OSM_STACK_NAME -f $OSM_DOCKER_WORK_DIR/osm_pla
-}
-
-function parse_yaml() {
- osm_services="nbi lcm ro pol mon light-ui ng-ui keystone"
- TAG=$1
- for osm in $osm_services; do
- $WORKDIR_SUDO sed -i "s/opensourcemano\/$osm:.*/$DOCKER_USER\/$osm:$TAG/g" $OSM_K8S_WORK_DIR/$osm.yaml
- done
-}
-
-function namespace_vol() {
- osm_services="nbi lcm ro pol mon kafka mongo mysql"
- for osm in $osm_services; do
- $WORKDIR_SUDO sed -i "s#path: /var/lib/osm#path: $OSM_NAMESPACE_VOL#g" $OSM_K8S_WORK_DIR/$osm.yaml
- done
-}
-
-function init_docker_swarm() {
- if [ "${DEFAULT_MTU}" != "1500" ]; then
- DOCKER_NETS=`sg docker -c "docker network list" | awk '{print $2}' | egrep -v "^ID$" | paste -d " " -s`
- DOCKER_GW_NET=`sg docker -c "docker network inspect ${DOCKER_NETS}" | grep Subnet | awk -F\" '{print $4}' | egrep "^172" | sort -u | tail -1 | awk -F\. '{if ($2 != 255) print $1"."$2+1"."$3"."$4; else print "-1";}'`
- sg docker -c "docker network create --subnet ${DOCKER_GW_NET} --opt com.docker.network.bridge.name=docker_gwbridge --opt com.docker.network.bridge.enable_icc=false --opt com.docker.network.bridge.enable_ip_masquerade=true --opt com.docker.network.driver.mtu=${DEFAULT_MTU} docker_gwbridge"
- fi
- sg docker -c "docker swarm init --advertise-addr ${DEFAULT_IP}"