added support for kubernetes job. 55/27255/2
authorNarinder Gupta <narinder.gupta@canonical.com>
Thu, 19 Jan 2017 22:34:18 +0000 (16:34 -0600)
committerNarinder Gupta <narinder.gupta@canonical.com>
Thu, 19 Jan 2017 22:47:02 +0000 (16:47 -0600)
This patch is to add support for Kubernetes jobs in JOID. We have
added os (openstack) or k8 (kubernetes) during deployment.

Change-Id: Ide33cb3c1d1d0e8c4b99af2acd721c0a41073dd6
Signed-off-by: Narinder Gupta <narinder.gupta@canonical.com>
jjb/global/installer-params.yml
jjb/joid/joid-daily-jobs.yml
jjb/joid/joid-deploy.sh

index 4a50a59..8e957eb 100644 (file)
             name: INSTALLER_TYPE
             default: joid
             description: 'Installer used for deploying OPNFV on this POD'
+        - string:
+            name: MODEL
+            default: 'os'
+            description: 'Model to deploy (os|k8)'
         - string:
             name: OS_RELEASE
             default: 'newton'
index 91fcc88..9766f03 100644 (file)
             auto-trigger-name: 'daily-trigger-disabled'
         - 'os-ocl-nofeature-noha':
             auto-trigger-name: 'daily-trigger-disabled'
+        - 'k8-nosdn-nofeature-noha':
+            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+        - 'k8-nosdn-lb-noha':
+            auto-trigger-name: 'daily-trigger-disabled'
 
     jobs:
         - 'joid-{scenario}-{pod}-daily-{stream}'
     name: 'joid-os-nosdn-nofeature-noha-orange-pod1-danube-trigger'
     triggers:
         - timed: ''
+# k8-nosdn-nofeature-noha trigger - branch: master
+- trigger:
+    name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger'
+    triggers:
+        - timed: '5 15 * * *'
+- trigger:
+    name: 'joid-k8-nosdn-nofeature-noha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-master-trigger'
+    triggers:
+        - timed: ''
+# k8-nosdn-nofeature-noha trigger - branch: danube
+- trigger:
+    name: 'joid-k8-nosdn-nofeature-noha-baremetal-danube-trigger'
+    triggers:
+        - timed: '0 15 * * *'
+- trigger:
+    name: 'joid-k8-nosdn-nofeature-noha-virtual-danube-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-danube-trigger'
+    triggers:
+        - timed: ''
+# k8-nosdn-lb-noha trigger - branch: master
+- trigger:
+    name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger'
+    triggers:
+        - timed: '5 20 * * *'
+- trigger:
+    name: 'joid-k8-nosdn-lb-noha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'joid-k8-nosdn-lb-noha-orange-pod1-master-trigger'
+    triggers:
+        - timed: ''
+# k8-nosdn-lb-noha trigger - branch: danube
+- trigger:
+    name: 'joid-k8-nosdn-lb-noha-baremetal-danube-trigger'
+    triggers:
+        - timed: '0 20 * * *'
+- trigger:
+    name: 'joid-k8-nosdn-lb-noha-virtual-danube-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'joid-k8-nosdn-lb-noha-orange-pod1-danube-trigger'
+    triggers:
+        - timed: ''
index 05c2de1..88dbe22 100644 (file)
@@ -64,8 +64,9 @@ fi
 
 # Based on scenario naming we can get joid options
 # naming convention:
-#    os-<controller>-<nfvfeature>-<mode>[-<extrastuff>]
+#    <model>-<controller>-<nfvfeature>-<mode>[-<extrastuff>]
 # With parameters:
+#    model=(os|k8)
 #    controller=(nosdn|odl_l3|odl_l2|onos|ocl)
 #       No odl_l3 today
 #    nfvfeature=(kvm|ovs|dpdk|nofeature)
@@ -77,6 +78,7 @@ fi
 IFS='-' read -r -a DEPLOY_OPTIONS <<< "${DEPLOY_SCENARIO}--"
 #last -- need to avoid nounset error
 
+JOID_MODEL=${DEPLOY_OPTIONS[0]}
 SDN_CONTROLLER=${DEPLOY_OPTIONS[1]}
 NFV_FEATURES=${DEPLOY_OPTIONS[2]}
 HA_MODE=${DEPLOY_OPTIONS[3]}
@@ -103,49 +105,60 @@ fi
 ## Configure Joid deployment
 ##
 
-echo "------ Deploy with juju ------"
-echo "Execute: ./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
+if [ "$JOID_MODEL" == 'k8' ]; then
+  echo "------ Deploy with juju ------"
+  echo "Execute: ./deploy.sh -m $JOID_MODEL -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
 
-./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
-exit_on_error $? "Main deploy FAILED"
+  ./deploy.sh -m kubernetes -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
+  exit_on_error $? "Main deploy FAILED"
+fi
 
 ##
 ## Set Admin RC
 ##
-JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc
-echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
-
-# get controller IP
-case "$SDN_CONTROLLER" in
-    "odl")
-        SDN_CONTROLLER_IP=$(juju status odl-controller/0 |grep public-address|sed -- 's/.*\: //')
-        ;;
-    "onos")
-        SDN_CONTROLLER_IP=$(juju status onos-controller/0 |grep public-address|sed -- 's/.*\: //')
-        ;;
-    *)
-        SDN_CONTROLLER_IP='none'
-        ;;
-esac
-SDN_PASSWORD='admin'
-
-# export the openrc file by getting the one generated by joid and add SDN
-# controller for Functest
-cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC
-cat << EOF >> $JOID_ADMIN_OPENRC
-export SDN_CONTROLLER=$SDN_CONTROLLER_IP
-export SDN_PASSWORD=$SDN_PASSWORD
-EOF
-
-##
-## Backup local juju env
-##
+if [ "$JOID_MODEL" == 'os' ]; then
+  echo "------ Deploy with juju ------"
+  echo "Execute: ./deploy.sh -m $JOID_MODEL -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
+
+  ./deploy.sh -m openstack -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
+  exit_on_error $? "Main deploy FAILED"
+
+  JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc
+  echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
+
+  # get controller IP
+  case "$SDN_CONTROLLER" in
+      "odl")
+          SDN_CONTROLLER_IP=$(juju status odl-controller/0 |grep public-address|sed -- 's/.*\: //')
+          ;;
+      "onos")
+          SDN_CONTROLLER_IP=$(juju status onos-controller/0 |grep public-address|sed -- 's/.*\: //')
+          ;;
+      *)
+          SDN_CONTROLLER_IP='none'
+          ;;
+  esac
+  SDN_PASSWORD='admin'
+
+  # export the openrc file by getting the one generated by joid and add SDN
+  # controller for Functest
+  cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC
+  cat << EOF >> $JOID_ADMIN_OPENRC
+  export SDN_CONTROLLER=$SDN_CONTROLLER_IP
+  export SDN_PASSWORD=$SDN_PASSWORD
+  EOF
+
+  ##
+  ## Backup local juju env
+  ##
+
+  echo "------ Backup Juju environment ------"
+  cp environments.yaml $LAB_CONFIG/
+  cp deployment.yaml $LAB_CONFIG/
+  if [ -e deployconfig.yaml ]; then
+      cp deployconfig.yaml $LAB_CONFIG
+  fi
 
-echo "------ Backup Juju environment ------"
-cp environments.yaml $LAB_CONFIG/
-cp deployment.yaml $LAB_CONFIG/
-if [ -e deployconfig.yaml ]; then
-    cp deployconfig.yaml $LAB_CONFIG
 fi
 
 ##