jjb: xci: Create XCI test script
[releng.git] / jjb / xci / xci-verify-jobs.yml
index 61d2558..59fdf84 100644 (file)
 # distros
 #--------------------------------
     distro:
-        - 'xenial':
+        - 'ubuntu':
             disabled: false
-        - 'centos7':
+        - 'centos':
             disabled: true
-        - 'suse':
+        - 'opensuse':
             disabled: true
 #--------------------------------
 # type
         - build-blocker:
             use-build-blocker: true
             blocking-jobs:
-                - 'xci-verify-.*'
-                - 'bifrost-verify-.*'
-                - 'bifrost-periodic-.*'
-                - 'osa-verify-.*'
-                - 'osa-periodic-.*'
+                - 'xci-verify-{distro}-.*'
+                - 'bifrost-verify-{distro}-.*'
+                - 'bifrost-periodic-{distro}-.*'
+                - 'osa-verify-{distro}-.*'
+                - 'osa-periodic-{distro}-.*'
             block-level: 'NODE'
 
     wrappers:
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
-                disable-strict-forbidden-file-verification: 'false'
-                forbidden-file-paths:
+                disable-strict-forbidden-file-verification: 'true'
+                file-paths:
                   - compare-type: ANT
                     pattern: 'bifrost/**'
+                  - compare-type: ANT
+                    pattern: 'xci/**'
+                forbidden-file-paths:
                   - compare-type: ANT
                     pattern: 'prototypes/**'
                   - compare-type: ANT
                     pattern: 'upstream/**'
                   - compare-type: ANT
                     pattern: '**/README.rst'
+                  - compare-type: ANT
+                    pattern: 'docs/**'
             readable-message: true
 
     parameters:
             branch: '{branch}'
         - label:
             name: SLAVE_LABEL
-            default: 'xci-virtual-{distro}'
+            default: 'xci-virtual'
+        - string:
+            name: CLEAN_DIB_IMAGES
+            default: 'true'
         - string:
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
                   predefined-parameters: |
                     DISTRO={distro}
                     DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+                    CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
                   node-parameters: true
                   kill-phase-on: FAILURE
                   abort-all-job: true
                   predefined-parameters: |
                     DISTRO={distro}
                     DEPLOY_SCENARIO=os-nosdn-nofeature-noha
-                    FUNCTEST_SUITE_NAME=healthcheck
+                    CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+                    FUNCTEST_MODE=tier
+                    FUNCTEST_TIER=healthcheck
                   node-parameters: true
                   kill-phase-on: NEVER
                   abort-all-job: true
     parameters:
         - string:
             name: DISTRO
-            default: 'xenial'
+            default: 'ubuntu'
         - string:
             name: DEPLOY_SCENARIO
             default: 'os-nosdn-nofeature-noha'
+        - string:
+            name: FUNCTEST_MODE
+            default: 'tier'
         - string:
             name: FUNCTEST_SUITE_NAME
             default: 'healthcheck'
         - string:
             name: XCI_FLAVOR
             default: 'mini'
+        - string:
+            name: CLEAN_DIB_IMAGES
+            default: 'true'
         - string:
             name: OPNFV_RELENG_DEV_PATH
             default: $WORKSPACE/
         - string:
-            name: ANSIBLE_VERBOSITY
-            default: '-vvvv'
+            name: INSTALLER_TYPE
+            default: 'osa'
         - string:
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
 
     builders:
         - description-setter:
-            description: "Built on $NODE_NAME"
+            description: "Built on $NODE_NAME for $DISTRO"
         - 'xci-verify-{phase}-macro'
 
 #--------------------------------
         - shell: |
             #!/bin/bash
 
-            # for some reason, the PATH is not set correctly
-            # setting PATH for ansible stuff
-            export PATH=/home/jenkins/.local/bin:$PATH
+            # skip the deployment if the patch doesn't impact the deployment
+            if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+                echo "Skipping the deployment!"
+                exit 0
+            fi
+
+            cd $WORKSPACE
+
+            # The start-new-vm.sh script will copy the entire releng-xci directory
+            # so lets prepare the test script now so it can be copied by the script.
+            # Please do not move it elsewhere or you would have to move it to the VM
+            # yourself.
+            cat > xci_test.sh<<EOF
+            #!/bin/bash
+            export DISTRO=$DISTRO
+            export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+            export FUNCTEST_MODE=$FUNCTEST_MODE
+            export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
+            export XCI_FLAVOR=$XCI_FLAVOR
+            export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+            export OPNFV_RELENG_DEV_PATH=$OPNFV_RELENG_DEV_PATH
+            export INSTALLER_TYPE=$INSTALLER_TYPE
+            export GIT_BASE=$GIT_BASE
+            export JENKINS_HOME=$JENKINS_HOME
+
+            cd releng-xci/xci
+            ./xci-deloy.sh
+            EOF
+
+            ./xci/scripts/vm/start-new-vm.sh $DISTRO
+        - shell: |
+            #!/bin/bash
+
+            # skip the deployment if the patch doesn't impact the deployment
+            if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+                echo "Skipping the deployment!"
+                exit 0
+            fi
+
+            ssh ${{DISTRO}}_xci_vm "cd releng-xci && ./xci_test.sh"
 
-            cd $WORKSPACE/xci
-            ./xci-deploy.sh
 
 - builder:
     name: 'xci-verify-healthcheck-macro'
         - shell: |
             #!/bin/bash
 
+            # skip the healthcheck if the patch doesn't impact the deployment
+            if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+                echo "Skipping the healthcheck!"
+                exit 0
+            fi
+
             echo "Hello World!"
+        - shell: |
+            #!/bin/bash
+
+            # skip the deployment if the patch doesn't impact the deployment
+            if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+                echo "Skipping the deployment!"
+                exit 0
+            fi
+
+            sudo virsh destroy ${{DISTRO}}_xci_vm
+            sudo virsh undefine ${{DISTRO}}_xci_vm
+
+# this will be enabled once the xci is prepared
+#- builder:
+#    name: 'xci-verify-healthcheck-macro'
+#    builders:
+#        - shell:
+#            !include-raw: ../../utils/fetch_os_creds.sh
+#        - shell:
+#            !include-raw: ../functest/functest-alpine.sh