Create Baremetal deployment job of compass in Huawei's us lab
[releng.git] / jjb / compass4nfv / compass4nfv.yml
index 5d0a5cb..3159cfa 100644 (file)
@@ -7,12 +7,12 @@
 
     jobs:
         - 'compass-verify'
-        - 'compass-verify-on-ericsson-node'
         - 'compass-merge'
         - 'compass-daily-{stream}'
         - 'compass-build-iso'
         - 'compass-build-ppa'
         - 'compass-deploy-virtual-{flavor}'
+        - 'compass-deploy-bare-huawei-us'
 
     # stream:    branch with - in place of / (eg. stable-helium)
     # branch:    branch (eg. stable/helium)
             branch: 'master'
 
     flavor:
-        - five:
-            conf: 'virtual_five'
-            node: 'huawei-build'
+        - cluster-odl:
+            conf: 'virtual_cluster_odl'
+            node: 'huawei-deploy-vm'
+        - cluster-onos:
+            conf: 'virtual_cluster_onos'
+            node: 'huawei-deploy-vm'
         - cluster:
             conf: 'virtual_cluster'
-            node: 'huawei-build'
-
-
+            node: 'huawei-deploy-vm'
 
     project: 'compass4nfv'
 
 ########################
 # job templates
 ########################
-- job-template:
-    name: 'compass-verify-on-ericsson-node'
-
-    project-type: freestyle
-
-    disabled: true
-
-    node: ericsson-build
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: 'master'
-        - compass-parameter:
-            installer: '{installer}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - gerrit:
-            trigger-on:
-                - patchset-created-event:
-                    exclude-drafts: 'false'
-                    exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
-                - draft-published-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'recheck'
-                - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/master'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**'
-
-    builders:
-        - 'builder-compass-build-iso'
-        - 'builder-compass-workspace-cleanup'
-
 - job-template:
     name: 'compass-verify'
 
 
     disabled: false
 
-    node: huawei-build
+    node: 'huawei-deploy-vm'
 
     logrotate:
         daysToKeep: 30
 
     builders:
         - 'builder-compass-build-iso'
-#        - 'builder-compass-deploy-virtual-flavor'
-#        - 'builder-compass-backup-logs'
-#    publishers:
-#        - archive:
-#            artifacts: 'ansible.log'
-#            allow-empty: 'true'
-#            fingerprint: true
+        - 'builder-compass-deploy-virtual-flavor'
+    publishers:
+        - archive:
+            artifacts: 'ansible.log'
+            allow-empty: 'true'
+            fingerprint: true
 
 - job-template:
     name: 'compass-merge'
 
     builders:
         - trigger-builds:
-          - project: 'compass-build'
+          - project: 'compass-build-iso'
             git-revision: true
             block: true
         - trigger-builds:
           - project: 'compass-deploy-virtual-cluster'
             git-revision: true
             block: true
+        - trigger-builds:
+          - project: 'compass-deploy-virtual-cluster-odl'
+            git-revision: true
+            block: true
+        - trigger-builds:
+          - project: 'compass-deploy-virtual-cluster-onos'
+            git-revision: true
+            block: true
 
 - job-template:
     name: 'compass-build-iso'
 
     project-type: freestyle
 
-    node: ericsson-build
+    node: huawei-build
 
     logrotate:
         daysToKeep: 30
             branch: 'master'
 
     triggers:
-        - timed: 'H 4-18/2 * * *'
+        - timed: 'H 16 * * *'
 
     builders:
         - 'builder-compass-make-ppa'
         - 'builder-compass-ci-preclean-workspace'
         - 'builder-compass-download-artifact'
         - 'builder-compass-deploy-virtual-flavor'
-        - 'builder-compass-backup-logs'
     publishers:
         - archive:
             artifacts: 'ansible.log'
             allow-empty: 'true'
             fingerprint: true
 
+
+- job-template:
+    name: 'compass-deploy-bare-huawei-us'
+
+    project-type: freestyle
+
+    disabled: false
+
+    node: 'huawei-us-deploy-bare-1'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - compass-parameter:
+            installer: '{installer}'
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - 'builder-compass-ci-preclean-workspace'
+        - 'builder-compass-download-artifact'
+        - 'builder-compass-deploy-bare'
+
+    publishers:
+        - archive:
+            artifacts: 'ansible.log'
+            allow-empty: 'true'
+            fingerprint: true
+
+
 ########################
 # parameter macros
 ########################
             do
                 md5=$(md5sum $i | cut -d ' ' -f1)
                 echo $md5 > $i.md5
-            done
-            # upload PPA
-            for i in $(find *.gz *.iso *.img *.md5 -type f)
-            do
                 curl -T $i $PPA_REPO
+                curl -T $i.md5 $PPA_REPO
             done
 
 - builder:
     builders:
         - shell: |
             #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
             set -x
 
             # log info to console
 
             export ISO_URL=file://$BUILD_DIRECTORY/compass.iso
             cd $WORKSPACE
+
             ./deploy.sh $FLAVOR_CONF
+            if [ $? -ne 0 ]; then
+                echo "depolyment failed!"
+                deploy_ret=1
+            fi
 
             echo
             echo "--------------------------------------------------------"
             echo "Done!"
 
+            ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+            sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:/var/ansible/run/openstack_juno-opnfv2/ansible.log ./  &> /dev/null
+
+            exit $deploy_ret
+
+- builder:
+    name: 'builder-compass-deploy-bare'
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -x
+
+            # log info to console
+            echo "Starting the deployment on baremetal environment using $INSTALLER. This could take some time..."
+            echo "--------------------------------------------------------"
+            echo
+
+            export CONFDIR=$WORKSPACE/deploy/conf/hardware_environment/huawei_us_lab/pod1
+            export ISO_URL=file://$BUILD_DIRECTORY/compass.iso
+            cd $WORKSPACE
+
+            ./deploy.sh --dha $CONFDIR/dha.yml --network $CONFDIR/network.yml
+            if [ $? -ne 0 ]; then
+                echo "depolyment failed!"
+                deploy_ret=1
+            fi
+
+            echo
+            echo "--------------------------------------------------------"
+            echo "Done!"
+
+            ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+            sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:/var/ansible/run/openstack_juno-opnfv2/ansible.log ./  &> /dev/null
+
+            exit $deploy_ret
+
 - builder:
     name: 'builder-compass-upload-artifact'
     builders:
             sudo rm $WORKSPACE -rf
             git clone $GIT_BASE  $WORKSPACE
 
-- builder:
-    name: 'builder-compass-backup-logs'
-    builders:
-        - shell: |
-            ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-            sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:/var/ansible/run/openstack_juno-opnfv2/ansible.log ./  &> /dev/null