jjb: xci: Add postbuild publisher script to remove clean VM
[releng.git] / jjb / xci / xci-daily-jobs.yml
index 64659da..11db4e1 100644 (file)
@@ -1,85 +1,88 @@
-#--------------------------------
+---
+# -------------------------------
 # These jobs run on a daily basis and deploy OpenStack
 # using the pinned versions of opnfv/releng, openstack/bifrost
 # and openstack/openstack-ansible. Due to this, there is no
 # version/branch is set/passed to jobs and instead the versions
 # are checked out based on what is configured.
-#--------------------------------
+# -------------------------------
 - project:
     project: 'releng-xci'
 
     name: 'xci-daily'
-#--------------------------------
-# Branch Anchors
-#--------------------------------
+    # -------------------------------
+    # Branch Anchors
+    # -------------------------------
     master: &master
-        stream: master
-        opnfv-releng-version: master
-        gs-pathname: ''
-#--------------------------------
-# Scenarios
-#--------------------------------
+      stream: master
+      opnfv-releng-version: master
+      gs-pathname: ''
+    # -------------------------------
+    # Scenarios
+    # -------------------------------
     scenario:
-        - 'os-nosdn-nofeature-ha':
-            auto-trigger-name: 'daily-trigger-disabled'
-            xci-flavor: 'ha'
-        - 'os-nosdn-nofeature-noha':
-            auto-trigger-name: 'daily-trigger-disabled'
-            xci-flavor: 'noha'
-        - 'os-odl-sfc-ha':
-            auto-trigger-name: 'daily-trigger-disabled'
-            xci-flavor: 'ha'
-        - 'os-odl-sfc-noha':
-            auto-trigger-name: 'daily-trigger-disabled'
-            xci-flavor: 'noha'
-#--------------------------------
-# XCI PODs
-#--------------------------------
+      - 'os-nosdn-nofeature-ha':
+          auto-trigger-name: 'daily-trigger-disabled'
+          xci-flavor: 'ha'
+      - 'os-nosdn-nofeature-noha':
+          auto-trigger-name: 'daily-trigger-disabled'
+          xci-flavor: 'noha'
+      - 'os-odl-sfc-ha':
+          auto-trigger-name: 'daily-trigger-disabled'
+          xci-flavor: 'ha'
+      - 'os-odl-sfc-noha':
+          auto-trigger-name: 'daily-trigger-disabled'
+          xci-flavor: 'noha'
+    # -------------------------------
+    # XCI PODs
+    # -------------------------------
     pod:
-        - virtual:
-            <<: *master
-#--------------------------------
-# Supported Distros
-#--------------------------------
+      - virtual:
+          <<: *master
+    # -------------------------------
+    # Supported Distros
+    # -------------------------------
     distro:
-        - 'xenial':
-            disabled: false
-            slave-label: xci-xenial-virtual
-            dib-os-release: 'xenial'
-            dib-os-element: 'ubuntu-minimal'
-            dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptabls'
-            extra-dib-elements: 'openssh-server'
-        - 'centos7':
-            disabled: true
-            slave-label: xci-centos7-virtual
-            dib-os-release: '7'
-            dib-os-element: 'centos7'
-            dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
-            extra-dib-elements: 'openssh-server'
-        - 'suse':
-            disabled: true
-            slave-label: xci-suse-virtual
-            dib-os-release: '42.3'
-            dib-os-element: 'opensuse-minimal'
-            dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
-            extra-dib-elements: 'openssh-server'
-
-#--------------------------------
-#        Phases
-#--------------------------------
+      - 'xenial':
+          disabled: false
+          slave-label: xci-xenial-virtual
+          dib-os-release: 'xenial'
+          dib-os-element: 'ubuntu-minimal'
+          # yamllint disable rule:line-length
+          dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptabls'
+          # yamllint enable rule:line-length
+          extra-dib-elements: 'openssh-server'
+      - 'centos7':
+          disabled: true
+          slave-label: xci-centos7-virtual
+          dib-os-release: '7'
+          dib-os-element: 'centos7'
+          dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+          extra-dib-elements: 'openssh-server'
+      - 'suse':
+          disabled: true
+          slave-label: xci-suse-virtual
+          dib-os-release: '42.3'
+          dib-os-element: 'opensuse-minimal'
+          dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+          extra-dib-elements: 'openssh-server'
+
+    # -------------------------------
+    #        Phases
+    # -------------------------------
     phase:
-        - 'deploy'
-        - 'functest'
-#--------------------------------
-# jobs
-#--------------------------------
+      - 'deploy'
+      - 'functest'
+    # -------------------------------
+    # jobs
+    # -------------------------------
     jobs:
-        - 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
-        - 'xci-{phase}-{pod}-{distro}-daily-{stream}'
+      - 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
+      - 'xci-{phase}-{pod}-{distro}-daily-{stream}'
 
-#--------------------------------
+# -------------------------------
 # job templates
-#--------------------------------
+# -------------------------------
 - job-template:
     name: 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
 
     concurrent: false
 
     properties:
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - '^xci-os.*'
-                - '^xci-deploy.*'
-                - '^xci-functest.*'
-                - '^bifrost-.*periodic.*'
-                - '^osa-.*periodic.*'
-            block-level: 'NODE'
-        - logrotate-default
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - '^xci-os.*'
+            - '^xci-deploy.*'
+            - '^xci-functest.*'
+            - '^bifrost-.*periodic.*'
+            - '^osa-.*periodic.*'
+          block-level: 'NODE'
+      - logrotate-default
 
     parameters:
-        - string:
-            name: DEPLOY_SCENARIO
-            default: '{scenario}'
-        - string:
-            name: XCI_FLAVOR
-            default: '{xci-flavor}'
-        - label:
-            name: SLAVE_LABEL
-            default: '{slave-label}'
-        - string:
-            name: XCI_LOOP
-            default: 'daily'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+      - string:
+          name: XCI_FLAVOR
+          default: '{xci-flavor}'
+      - label:
+          name: SLAVE_LABEL
+          default: '{slave-label}'
+      - string:
+          name: CI_LOOP
+          default: 'daily'
 
     triggers:
-        - '{auto-trigger-name}'
+      - '{auto-trigger-name}'
 
     wrappers:
-        - fix-workspace-permissions
+      - fix-workspace-permissions
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - trigger-builds:
-            - project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                XCI_FLAVOR=$XCI_FLAVOR
-                XCI_LOOP=$XCI_LOOP
-              same-node: true
-              block: true
-        - trigger-builds:
-            - project: 'xci-functest-{pod}-{distro}-daily-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                XCI_FLAVOR=$XCI_FLAVOR
-                XCI_LOOP=$XCI_LOOP
-              same-node: true
-              block: true
-              block-thresholds:
-                build-step-failure-threshold: 'never'
-                failure-threshold: 'never'
-                unstable-threshold: 'FAILURE'
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - trigger-builds:
+          - project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters: |
+              DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+              XCI_FLAVOR=$XCI_FLAVOR
+              CI_LOOP=$CI_LOOP
+            same-node: true
+            block: true
+      - trigger-builds:
+          - project: 'xci-functest-{pod}-{distro}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters: |
+              DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+              XCI_FLAVOR=$XCI_FLAVOR
+              CI_LOOP=$CI_LOOP
+            same-node: true
+            block: true
+            block-thresholds:
+              build-step-failure-threshold: 'never'
+              failure-threshold: 'never'
+              unstable-threshold: 'FAILURE'
 
     publishers:
-        - email:
-            recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
-        - email-jenkins-admins-on-failure
+      # yamllint disable rule:line-length
+      - email:
+          recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
+      # yamllint enable rule:line-length
+      - email-jenkins-admins-on-failure
+      - postbuildscript:
+          script-only-if-succeeded: false
+          script-only-if-failed: false
+          builders:
+            - shell:
+                !include-raw: ./xci-cleanup.sh
 
 - job-template:
     name: 'xci-{phase}-{pod}-{distro}-daily-{stream}'
     concurrent: false
 
     properties:
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - '^xci-deploy.*'
-                - '^xci-functest.*'
-                - '^bifrost-.*periodic.*'
-                - '^osa-.*periodic.*'
-            block-level: 'NODE'
-        - logrotate-default
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - '^xci-deploy.*'
+            - '^xci-functest.*'
+            - '^bifrost-.*periodic.*'
+            - '^osa-.*periodic.*'
+          block-level: 'NODE'
+      - logrotate-default
 
     wrappers:
-        - fix-workspace-permissions
+      - fix-workspace-permissions
 
     scm:
-        - git-scm
+      - git-scm
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{opnfv-releng-version}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/$PROJECT
-        - string:
-            name: DEPLOY_SCENARIO
-            default: 'os-nosdn-nofeature-ha'
-        - string:
-            name: XCI_FLAVOR
-            default: 'ha'
-        - string:
-            name: DISTRO
-            default: '{distro}'
-        - string:
-            name: DIB_OS_RELEASE
-            default: '{dib-os-release}'
-        - string:
-            name: DIB_OS_ELEMENT
-            default: '{dib-os-element}'
-        - string:
-            name: DIB_OS_PACKAGES
-            default: '{dib-os-packages}'
-        - string:
-            name: EXTRA_DIB_ELEMENTS
-            default: '{extra-dib-elements}'
-        - string:
-            name: CLEAN_DIB_IMAGES
-            default: 'true'
-        - label:
-            name: SLAVE_LABEL
-            default: '{slave-label}'
-        - string:
-            name: XCI_LOOP
-            default: 'daily'
-        - string:
-            name: INSTALLER_TYPE
-            default: 'osa'
-        - string:
-            name: FUNCTEST_SUITE_NAME
-            default: 'daily'
-            description: "Daily suite name to run"
+      - project-parameter:
+          project: '{project}'
+          branch: '{opnfv-releng-version}'
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'os-nosdn-nofeature-ha'
+      - string:
+          name: XCI_FLAVOR
+          default: 'ha'
+      - string:
+          name: DISTRO
+          default: '{distro}'
+      - string:
+          name: DIB_OS_RELEASE
+          default: '{dib-os-release}'
+      - string:
+          name: DIB_OS_ELEMENT
+          default: '{dib-os-element}'
+      - string:
+          name: DIB_OS_PACKAGES
+          default: '{dib-os-packages}'
+      - string:
+          name: EXTRA_DIB_ELEMENTS
+          default: '{extra-dib-elements}'
+      - string:
+          name: CLEAN_DIB_IMAGES
+          default: 'true'
+      - label:
+          name: SLAVE_LABEL
+          default: '{slave-label}'
+      - string:
+          name: CI_LOOP
+          default: 'daily'
+      - string:
+          name: INSTALLER_TYPE
+          default: 'osa'
+      - string:
+          name: FUNCTEST_MODE
+          default: 'daily'
+      - string:
+          name: FUNCTEST_SUITE_NAME
+          default: 'daily'
+          description: "Daily suite name to run"
+
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
-        - 'xci-{phase}-builder'
+      - description-setter:
+          description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+      - 'xci-{phase}-builder'
 
-#---------------------------
+# --------------------------
 # builder macros
-#---------------------------
+# --------------------------
 - builder:
     name: xci-deploy-builder
     builders:
-        - shell:
-            !include-raw: ./xci-deploy.sh
+      - shell:
+          !include-raw: ./xci-deploy.sh
 
 - builder:
     name: xci-functest-builder
     builders:
-        - shell: |
-            #!/bin/bash
+      - shell: |
+          #!/bin/bash
 
-            echo "Hello World!"
+          echo "Hello World!"
 
 # this will be enabled once the xci is prepared
-#- builder:
+# - builder:
 #    name: xci-functest-builder
 #    builders:
 #        - shell: