Move openstack and kubernetes jobs to separate jjb files 81/2081/3
authorFatih Degirmenci <fdegir@gmail.com>
Wed, 28 Aug 2019 08:40:55 +0000 (08:40 +0000)
committerFatih Degirmenci <fdegir@gmail.com>
Wed, 28 Aug 2019 08:46:13 +0000 (08:46 +0000)
Change-Id: Ib7eb54a4c1ac0e9b07d37dfcccfa698e98c539ed

jjb/cloud-infra/cloud-infra-periodic-kubernetes.yaml [moved from jjb/cloud-infra/cloud-infra-periodic-scenario.yaml with 90% similarity]
jjb/cloud-infra/cloud-infra-periodic-openstack.yml [new file with mode: 0644]

similarity index 90%
rename from jjb/cloud-infra/cloud-infra-periodic-scenario.yaml
rename to jjb/cloud-infra/cloud-infra-periodic-kubernetes.yaml
index c2ae6377763913206c20123f65826db3671ea0ca..0214b7a9bcb461ab0d04e1a0912888c5f734ae8b 100644 (file)
@@ -36,7 +36,7 @@
 #--------------------------------------------------------------------------------------
 
 - project:
 #--------------------------------------------------------------------------------------
 
 - project:
-    name: 'cloud-infra-periodic-scenario'
+    name: 'cloud-infra-periodic-kubernetes'
 
     project: 'infra/engine'
 
 
     project: 'infra/engine'
 
       - centos7:
           disabled: 'true'
 
       - centos7:
           disabled: 'true'
 
+    deploy-scenario:
+      - k8-calico-nofeature
+      - k8-flannel-nofeature
+      - k8-canal-nofeature
+      - k8-cilium-nofeature
+      - k8-weave-nofeature
+      - k8-multus-nofeature
+
     ci-loop:
       - daily
 
     ci-loop:
       - daily
 
-    deploy-scenario:
-      - k8-calico-nofeature:
-          installer-type: kubespray
-      - k8-flannel-nofeature:
-          installer-type: kubespray
-      - k8-canal-nofeature:
-          installer-type: kubespray
-      - k8-cilium-nofeature:
-          installer-type: kubespray
-      - k8-weave-nofeature:
-          installer-type: kubespray
-      - k8-multus-nofeature:
-          installer-type: kubespray
-      - os-nosdn-nofeature:
-          installer-type: kolla
-
     type:
       - baremetal:
     type:
       - baremetal:
-          slave-label: 'baremetal-deploy'
+          pod-name: est-baremetal
+          provisioner-type: bifrost
+          installer-type: kubespray
+          slave-label: baremetal-deploy
           yardstick-dispatcher: 'influxdb'
           yardstick-dispatcher: 'influxdb'
-          provisioner-type: 'bifrost'
 
     phase:
       - deploy:
 
     phase:
       - deploy:
           build-timeout: 5
 
     jobs:
           build-timeout: 5
 
     jobs:
-      - '{deploy-scenario}-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
-      - 'scenario-{distro}-{phase}-{type}-{ci-loop}-{stream}'
+      - '{deploy-scenario}-{distro}-kubespray-{type}-{ci-loop}-{stream}'
+      - 'kubernetes-{phase}-{distro}-kubespray-{type}-{ci-loop}-{stream}'
 
 - job-template:
 
 - job-template:
-    name: '{deploy-scenario}-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
+    name: '{deploy-scenario}-{distro}-kubespray-{type}-{ci-loop}-{stream}'
 
     project-type: multijob
 
 
     project-type: multijob
 
           name: deploy
           condition: SUCCESSFUL
           projects:
           name: deploy
           condition: SUCCESSFUL
           projects:
-            - name: 'scenario-{distro}-deploy-{type}-{ci-loop}-{stream}'
+            - name: 'kubernetes-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
               current-parameters: true
               predefined-parameters: |
                 DISTRO=$DISTRO
               current-parameters: true
               predefined-parameters: |
                 DISTRO=$DISTRO
               abort-all-job: true
       - multijob:
           name: functest
               abort-all-job: true
       - multijob:
           name: functest
-          condition: SUCCESSFUL
+          condition: ALWAYS
           projects:
           projects:
-            - name: 'scenario-{distro}-functest-{type}-{ci-loop}-{stream}'
+            - name: 'kubernetes-functest-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
               current-parameters: true
               predefined-parameters: |
                 DISTRO=$DISTRO
               current-parameters: true
               predefined-parameters: |
                 DISTRO=$DISTRO
               abort-all-job: false
       - multijob:
           name: yardstick
               abort-all-job: false
       - multijob:
           name: yardstick
-          condition: SUCCESSFUL
+          condition: ALWAYS
           projects:
           projects:
-            - name: 'scenario-{distro}-yardstick-{type}-{ci-loop}-{stream}'
+            - name: 'kubernetes-yardstick-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
               current-parameters: true
               predefined-parameters: |
                 DISTRO=$DISTRO
               current-parameters: true
               predefined-parameters: |
                 DISTRO=$DISTRO
               abort-all-job: true
 
 - job-template:
               abort-all-job: true
 
 - job-template:
-    name: 'scenario-{distro}-{phase}-{type}-{ci-loop}-{stream}'
+    name: 'kubernetes-{phase}-{distro}-kubespray-{type}-{ci-loop}-{stream}'
 
     disabled: false
 
 
     disabled: false
 
diff --git a/jjb/cloud-infra/cloud-infra-periodic-openstack.yml b/jjb/cloud-infra/cloud-infra-periodic-openstack.yml
new file mode 100644 (file)
index 0000000..c90853c
--- /dev/null
@@ -0,0 +1,323 @@
+---
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+#--------------------------------------------------------------------------------------
+# The jobs declared in this JJB configuration file are used for verifying cloud-infra
+# engine from the tip of the master branch periodically to check the stability of it.
+#
+# These jobs are set to run on slaves with label vpod-deploy-ubuntu1604.
+# The slaves have
+#   - Ubuntu1604 as the base distro
+#   - nested virtualization
+#   - internet access
+#   - passwordless sudo
+#   - 16 CPUs/32GB RAM/200 GB Disk
+#   - docker, git vim curl wget zip unzip chrony apt-transport-https ca-certificates curl
+#     gnupg-agent software-properties-common docker-ce docker-ce-cli containerd.io openjdk-8-jre
+#
+# The slaves should not have a cloud infra scenario deployed on them.
+#--------------------------------------------------------------------------------------
+
+- project:
+    name: 'cloud-infra-periodic-openstack'
+
+    project: 'infra/engine'
+
+    stream:
+      - 'master':
+          branch: '{stream}'
+          disabled: 'false'
+
+    distro:
+      - ubuntu1804:
+          disabled: 'false'
+      - centos7:
+          disabled: 'true'
+
+    deploy-scenario:
+      - os-nosdn-nofeature
+
+    ci-loop:
+      - daily
+
+    type:
+      - baremetal:
+          pod-name: est-baremetal
+          provisioner-type: bifrost
+          installer-type: kolla
+          slave-label: baremetal-deploy
+          yardstick-dispatcher: 'influxdb'
+
+    phase:
+      - deploy:
+          build-timeout: 90
+      - functest:
+          build-timeout: 240
+      - yardstick:
+          build-timeout: 120
+      - promote:
+          build-timeout: 5
+
+    jobs:
+      - '{deploy-scenario}-{distro}-kolla-{type}-{ci-loop}-{stream}'
+      - 'openstack-{phase}-{distro}-kolla-{type}-{ci-loop}-{stream}'
+
+- job-template:
+    name: '{deploy-scenario}-{distro}-kolla-{type}-{ci-loop}-{stream}'
+
+    project-type: multijob
+
+    disabled: '{obj:disabled}'
+
+    concurrent: true
+
+    parameters:
+      - project-parameters:
+          project: '{project}'
+          branch: '{branch}'
+      - nordix-gerrit-parameters
+      - label:
+          name: SLAVE_LABEL
+          default: '{slave-label}'
+          description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use'
+      - string:
+          name: DISTRO
+          default: '{distro}'
+          description: 'Distribution to use for configuring target nodes (networking etc.)'
+      - string:
+          name: DEPLOY_TYPE
+          default: '{type}'
+          description: 'Type of the deployment'
+      - string:
+          name: USE_PREBUILT_DEPLOYMENT_IMAGE
+          default: 'true'
+          description: 'Use prebuilt deployment image while running as part of CI/CD'
+      - string:
+          name: PROVISIONER_TYPE
+          default: '{provisioner-type}'
+          description: 'Provisioner to use for provisioning nodes'
+      - string:
+          name: INSTALLER_TYPE
+          default: '{installer-type}'
+          description: 'Installer to use for deploying the scenario'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{deploy-scenario}'
+          description: 'Scenario to deploy and test'
+      - string:
+          name: TEST_SUITE
+          default: 'smoke'
+          description: 'Test suite to run'
+      - string:
+          name: YARDSTICK_DISPATCHER
+          default: '{yardstick-dispatcher}'
+          description: 'Dispatcher to use for Yardstick reporting'
+      - string:
+          name: CLEANUP
+          default: 'true'
+          description: 'Cleanup leftovers of the previous run'
+
+    properties:
+      - logrotate
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'cloud-infra-periodic-engine-.*'
+            - 'k8-.*'
+            - 'os-.*'
+          block-level: 'NODE'
+      - throttle:
+          max-per-node: 1
+          max-total: 3
+          option: project
+
+    wrappers:
+      - build-timeout:
+          timeout: 455
+      - fix-workspace-permissions
+
+    scm:
+      - git-scm:
+          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+          branch: '{branch}'
+          refspec: ''
+          wipe_workspace: true
+          clean_before: false
+
+    triggers:
+      - timed: '@daily'
+
+    builders:
+      - description-setter:
+          description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO
+      - multijob:
+          name: deploy
+          condition: SUCCESSFUL
+          projects:
+            - name: 'openstack-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRO=$DISTRO
+                DEPLOY_TYPE=$DEPLOY_TYPE
+                USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE
+                PROVISIONER_TYPE=$PROVISIONER_TYPE
+                INSTALLER_TYPE=$INSTALLER_TYPE
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                CLEANUP=$CLEANUP
+              git-revision: true
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: functest
+          condition: ALWAYS
+          projects:
+            - name: 'openstack-functest-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRO=$DISTRO
+                DEPLOY_TYPE=$DEPLOY_TYPE
+                PROVISIONER_TYPE=$PROVISIONER_TYPE
+                INSTALLER_TYPE=$INSTALLER_TYPE
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
+                YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER
+                CLEANUP=$CLEANUP
+              node-parameters: true
+              kill-phase-on: NEVER
+              abort-all-job: false
+      - multijob:
+          name: yardstick
+          condition: ALWAYS
+          projects:
+            - name: 'openstack-yardstick-{distro}-{installer-type}-{type}-{ci-loop}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRO=$DISTRO
+                DEPLOY_TYPE=$DEPLOY_TYPE
+                PROVISIONER_TYPE=$PROVISIONER_TYPE
+                INSTALLER_TYPE=$INSTALLER_TYPE
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
+                YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER
+                CLEANUP=$CLEANUP
+              node-parameters: true
+              kill-phase-on: NEVER
+              abort-all-job: false
+      - multijob:
+          name: promote
+          condition: SUCCESSFUL
+          projects:
+            - name: 'scenario-{distro}-promote-{type}-{ci-loop}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRO=$DISTRO
+                DEPLOY_TYPE=$DEPLOY_TYPE
+                PROVISIONER_TYPE=$PROVISIONER_TYPE
+                INSTALLER_TYPE=$INSTALLER_TYPE
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
+                YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER
+                CLEANUP=$CLEANUP
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+
+- job-template:
+    name: 'openstack-{phase}-{distro}-kolla-{type}-{ci-loop}-{stream}'
+
+    disabled: false
+
+    concurrent: true
+
+    properties:
+      - logrotate
+
+    parameters:
+      - string:
+          name: PROJECT
+          default: $GERRIT_PROJECT
+      - string:
+          name: DISTRO
+          default: 'ubuntu1804'
+          description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.'
+      - string:
+          name: DEPLOY_TYPE
+          default: 'virtual'
+          description: 'Type of the deployment. Overriden by upstream job.'
+      - string:
+          name: USE_PREBUILT_DEPLOYMENT_IMAGE
+          default: 'false'
+          description: 'Use prebuilt deployment image while running as part of CI/CD'
+      - string:
+          name: ENGINE_ANSIBLE_PARAMS
+          default: ' -v '
+          description: 'Extra paramters that can be added when run the play books.'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'k8-calico-nofeature'
+          description: 'Scenario to deploy and test'
+      - string:
+          name: PROVISIONER_TYPE
+          default: 'bifrost'
+          description: 'Provisioner to use for provisioning nodes'
+      - string:
+          name: INSTALLER_TYPE
+          default: 'kolla'
+          description: 'Installer to use for deploying the scenario'
+      - string:
+          name: TEST_FW
+          default: '{phase}'
+          description: 'Test framework to use'
+      - string:
+          name: TEST_SUITE
+          default: 'smoke'
+          description: 'Test suite to run'
+      - string:
+          name: TEST_REPO_URL
+          default: 'https://gerrit.nordix.org/infra/test.git'
+          description: 'URL to Nordix Cloud Infra test repository'
+      - string:
+          name: YARDSTICK_DISPATCHER
+          default: 'file'
+          description: 'Dispatcher to use for Yardstick reporting'
+      - string:
+          name: CLEANUP
+          default: 'false'
+
+    wrappers:
+      - build-timeout:
+          timeout: '{build-timeout}'
+      - fix-workspace-permissions
+
+    scm:
+      - git-scm:
+          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+          branch: '{branch}'
+          refspec: ''
+          wipe_workspace: true
+          clean_before: false
+
+    builders:
+      - description-setter:
+          description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO
+      - 'scenario-{phase}-macro'
+
+# vim: set ts=2 sw=2 expandtab: