fuel, armband: verify jobs: Enable virtual deploy 25/40925/3
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 2 Sep 2017 22:07:24 +0000 (00:07 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 4 Sep 2017 23:49:26 +0000 (01:49 +0200)
Enable virtual deploy phase for verify multijob for both projects.
Since fuel-defaults already define SSH_KEY param, drop it from
individual jobs.

Fuel:
- drop merge jobs, which used to perform virtual deploys based on
  ISO created during verify job;
- cleanup fuel-download-artifact (rm support for merge/verify);

Armband:
- while at it, remove "opnfv-build-enea-defaults", preparing for
  arm-build2's retirement.

JIRA: FUEL-278
JIRA: FUEL-287

Change-Id: I354d72d88187e41070f44c723ccc651a0bb9b021
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
jjb/armband/armband-ci-jobs.yml
jjb/armband/armband-verify-jobs.yml
jjb/fuel/fuel-daily-jobs.yml
jjb/fuel/fuel-deploy.sh
jjb/fuel/fuel-download-artifact.sh
jjb/fuel/fuel-project-jobs.yml
jjb/fuel/fuel-verify-jobs.yml
jjb/fuel/fuel-weekly-jobs.yml
jjb/global/slave-params.yml

index b27b053..d440d83 100644 (file)
@@ -82,6 +82,7 @@
             use-build-blocker: true
             blocking-jobs:
                 - '{installer}-os-.*?-{pod}-daily-.*'
+                - 'armband-verify-.*'
             block-level: 'NODE'
 
     wrappers:
             name: GS_URL
             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
             description: "URL to Google Storage."
-        - string:
-            name: SSH_KEY
-            default: "/tmp/mcp.rsa"
-            description: "Path to private SSH key to access environment nodes. For MCP deployments only."
 
 ########################
 # trigger macros
 - trigger:
     name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
\ No newline at end of file
+        - timed: ''
index 56f70d6..b30fbaf 100644 (file)
 #####################################
     phase:
         - 'basic':
-            slave-label: 'opnfv-build-enea'
+            slave-label: 'armband-virtual'
         - 'deploy-virtual':
-            slave-label: 'opnfv-build-enea'
+            slave-label: 'armband-virtual'
         - 'smoke-test':
-            slave-label: 'opnfv-build-enea'
+            slave-label: 'armband-virtual'
 #####################################
 # jobs
 #####################################
             enabled: true
             max-total: 4
             option: 'project'
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - 'fuel-os-.*?-virtual-daily-.*'
+            block-level: 'NODE'
 
     scm:
         - git-scm-gerrit
@@ -94,7 +99,8 @@
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
-        - 'opnfv-build-enea-defaults'
+        - 'armband-virtual-defaults':
+            installer: '{installer}'
         - 'armband-verify-defaults':
             gs-pathname: '{gs-pathname}'
 
         - logrotate-default
         - throttle:
             enabled: true
-            max-total: 6
+            max-total: 2
+            max-per-node: 1
             option: 'project'
         - build-blocker:
             use-build-blocker: true
             project: '{project}'
             branch: '{branch}'
         - '{slave-label}-defaults'
+        - 'armband-virtual-defaults':
+            installer: '{installer}'
         - '{installer}-defaults'
         - 'armband-verify-defaults':
             gs-pathname: '{gs-pathname}'
 - builder:
     name: 'armband-verify-deploy-virtual-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Not activated!"
+        - shell:
+            !include-raw-escape: ../fuel/fuel-deploy.sh
 
 - builder:
     name: 'armband-verify-smoke-test-macro'
index 488505e..80fde32 100644 (file)
             blocking-jobs:
                 - 'fuel-os-.*?-{pod}-daily-.*'
                 - 'fuel-os-.*?-{pod}-weekly-.*'
+                - 'fuel-verify-.*'
             block-level: 'NODE'
 
     wrappers:
             name: GS_URL
             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
             description: "URL to Google Storage."
-        - string:
-            name: SSH_KEY
-            default: "/tmp/mcp.rsa"
-            description: "Path to private SSH key to access environment nodes. For MCP deployments only."
 ########################
 # trigger macros
 ########################
index ddaebc9..18b2fd7 100755 (executable)
@@ -12,7 +12,7 @@ set -o pipefail
 
 export TERM="vt220"
 
-if [[ "$BRANCH" != 'master' ]]; then
+if [[ "$BRANCH" =~ 'danube' ]]; then
     # source the file so we get OPNFV vars
     source latest.properties
 
@@ -21,11 +21,11 @@ if [[ "$BRANCH" != 'master' ]]; then
 fi
 
 # shellcheck disable=SC2153
-if [[ "${JOB_NAME}" =~ "merge" ]]; then
-    # set simplest scenario for virtual deploys to run for merges
+if [[ "${JOB_NAME}" =~ 'verify' ]]; then
+    # set simplest scenario for virtual deploys to run for verify
     DEPLOY_SCENARIO="os-nosdn-nofeature-ha"
-elif [[ "${BRANCH}" != 'master' ]]; then
-    # for none-merge deployments
+elif [[ "${BRANCH}" =~ 'danube' ]]; then
+    # for Danube deployments (no artifact for current master or newer branches)
     # checkout the commit that was used for building the downloaded artifact
     # to make sure the ISO and deployment mechanism uses same versions
     echo "Checking out ${OPNFV_GIT_SHA1}"
index fa0c88b..02ca103 100755 (executable)
@@ -16,15 +16,9 @@ set -o pipefail
 # use proxy url to replace the normal URL, or googleusercontent.com will be blocked randomly
 [[ "$NODE_NAME" =~ (zte) ]] && GS_URL=${GS_BASE_PROXY%%/*}/$GS_URL
 
-if [[ "$JOB_NAME" =~ "merge" ]]; then
-    echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties"
-    # get the properties file for the Fuel ISO built for a merged change
-    curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties
-else
-    # get the latest.properties file in order to get info regarding latest artifact
-    echo "Downloading http://$GS_URL/latest.properties"
-    curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties
-fi
+# get the latest.properties file in order to get info regarding latest artifact
+echo "Downloading http://$GS_URL/latest.properties"
+curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties
 
 # check if we got the file
 [[ -f $WORKSPACE/latest.properties ]] || exit 1
@@ -36,21 +30,18 @@ source $WORKSPACE/latest.properties
 OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/}
 echo "Using $OPNFV_ARTIFACT for deployment"
 
-# using ISOs for verify & merge jobs from local storage will be enabled later
-if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
-    # check if we already have the ISO to avoid redownload
-    ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}"
-    if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then
-        echo "ISO exists locally. Skipping the download and using the file from ISO store"
-        ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso
-        echo "--------------------------------------------------------"
-        echo
-        ls -al $WORKSPACE/opnfv.iso
-        echo
-        echo "--------------------------------------------------------"
-        echo "Done!"
-        exit 0
-    fi
+# check if we already have the ISO to avoid redownload
+ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}"
+if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then
+    echo "ISO exists locally. Skipping the download and using the file from ISO store"
+    ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso
+    echo "--------------------------------------------------------"
+    echo
+    ls -al $WORKSPACE/opnfv.iso
+    echo
+    echo "--------------------------------------------------------"
+    echo "Done!"
+    exit 0
 fi
 
 [[ "$NODE_NAME" =~ (zte) ]] && OPNFV_ARTIFACT_URL=${GS_BASE_PROXY%%/*}/$OPNFV_ARTIFACT_URL
index e850a0a..ab18b96 100644 (file)
             disabled: true
 
     jobs:
-        - 'fuel-merge-deploy-virtual-{stream}'
         - 'fuel-deploy-generic-daily-{stream}'
 
 ########################
 # job templates
 ########################
-- job-template:
-    name: 'fuel-merge-deploy-virtual-{stream}'
-
-    disabled: true
-
-    concurrent: true
-
-    properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 2
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'fuel-os-.*?-virtual-daily-.*'
-                - 'fuel-merge-deploy-virtual-.*'
-            block-level: 'NODE'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'fuel-virtual-defaults':
-            installer: '{installer}'
-        - '{installer}-defaults'
-        - fuel-project-parameter:
-            gs-pathname: '{gs-pathname}'
-    scm:
-        - git-scm
-
-    wrappers:
-        - ssh-agent-wrapper
-
-    triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            trigger-on:
-                - change-merged-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'remerge'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                    - branch-compare-type: 'ANT'
-                      branch-pattern: '**/{branch}'
-                file-paths:
-                  - compare-type: ANT
-                    pattern: 'ci/**'
-                  - compare-type: ANT
-                    pattern: 'mcp/**'
-                disable-strict-forbidden-file-verification: 'true'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**'
-            dependency-jobs: 'fuel-merge-build-{stream}'
-
-    builders:
-        - shell:
-            !include-raw-escape: ./fuel-deploy.sh
-        - shell:
-            !include-raw-escape: ./fuel-workspace-cleanup.sh
-
-    publishers:
-        - email:
-            recipients: fzhadaev@mirantis.com
-        - email-jenkins-admins-on-failure
-
 - job-template:
     name: 'fuel-deploy-generic-daily-{stream}'
 
index 899be9a..73d4763 100644 (file)
 #####################################
     phase:
         - 'basic':
-            slave-label: 'opnfv-build-ubuntu'
+            slave-label: 'fuel-virtual'
         - 'deploy-virtual':
-            slave-label: 'opnfv-build-ubuntu'
+            slave-label: 'fuel-virtual'
         - 'smoke-test':
-            slave-label: 'opnfv-build-ubuntu'
+            slave-label: 'fuel-virtual'
 #####################################
 # jobs
 #####################################
             enabled: true
             max-total: 4
             option: 'project'
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - 'fuel-os-.*?-virtual-daily-.*'
+            block-level: 'NODE'
 
     scm:
         - git-scm-gerrit
@@ -94,7 +99,8 @@
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
+        - 'fuel-virtual-defaults':
+            installer: '{installer}'
         - 'fuel-verify-defaults':
             gs-pathname: '{gs-pathname}'
 
         - logrotate-default
         - throttle:
             enabled: true
-            max-total: 6
+            max-total: 2
+            max-per-node: 1
             option: 'project'
         - build-blocker:
             use-build-blocker: true
             project: '{project}'
             branch: '{branch}'
         - '{slave-label}-defaults'
+        - 'fuel-virtual-defaults':
+            installer: '{installer}'
         - '{installer}-defaults'
         - 'fuel-verify-defaults':
             gs-pathname: '{gs-pathname}'
 - builder:
     name: 'fuel-verify-deploy-virtual-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Not activated!"
+        - shell:
+            !include-raw-escape: ./fuel-deploy.sh
 
 - builder:
     name: 'fuel-verify-smoke-test-macro'
index c681c62..ba5d096 100644 (file)
@@ -72,6 +72,7 @@
             blocking-jobs:
                 - 'fuel-os-.*?-{pod}-daily-.*'
                 - 'fuel-os-.*?-{pod}-weekly-.*'
+                - 'fuel-verify-.*'
             block-level: 'NODE'
 
     wrappers:
index 75c4323..a4ee4d9 100644 (file)
 #####################################################
 # Parameters for build slaves
 #####################################################
-- parameter:
-    name: 'opnfv-build-enea-defaults'
-    parameters:
-      - label:
-          name: SLAVE_LABEL
-          default: 'opnfv-build-enea'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: BUILD_DIRECTORY
-          default: $WORKSPACE/build_output
-          description: "Directory where the build artifact will be located upon the completion of the build."
-
 - parameter:
     name: 'opnfv-build-centos-defaults'
     parameters: