Merge "Fixes to run in node, and in workspace"
authorEric Ball <eball@linuxfoundation.org>
Mon, 10 Jun 2019 22:11:26 +0000 (22:11 +0000)
committerGerrit Code Review <gerrit@akraino.org>
Mon, 10 Jun 2019 22:11:26 +0000 (22:11 +0000)
jjb/akraino-templates/akraino-jjb-kni.yaml
jjb/iec/iec-compass-build.sh
jjb/iec/iec-fuel-destroy.sh [new symlink]
jjb/iec/iec.yaml
jjb/kni/kni_installer.yaml
jjb/starlingx/starlingx.yaml

index c5a62ca..ae16f98 100644 (file)
@@ -15,8 +15,8 @@
 # limitations under the License.
 #
 - job-template:
-    id: kni-installer-build-installer
-    name: '{project-name}-build-installer'
+    id: kni-installer-verify-installer
+    name: '{project-name}-verify-installer'
 
     ######################
     # Default parameters #
           build-timeout: '{build-timeout}'
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
-    gerrit_merge_triggers:
-      - change-merged-event
-      - comment-added-contains-event:
-          comment-contains-value: remerge$
-
     gerrit_trigger_file_paths:
       - compare-type: ANT
         pattern: '**'
           submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
 
+    gerrit_verify_triggers:
+      - patchset-created-event:
+          exclude-drafts: true
+          exclude-trivial-rebase: false
+          exclude-no-code-change: false
+      - draft-published-event
+      - comment-added-contains-event:
+          comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
+
     triggers:
       - gerrit:
           server-name: '{gerrit-server-name}'
-          trigger-on: '{obj:gerrit_merge_triggers}'
+          trigger-on: '{obj:gerrit_verify_triggers}'
           projects:
             - project-compare-type: ANT
               project-pattern: '{project}'
@@ -92,8 +96,8 @@
       - lf-infra-publish
 
 - job-template:
-    id: kni-installer-build-binary
-    name: '{project-name}-build-binary'
+    id: kni-installer-verify-binary
+    name: '{project-name}-verify-binary'
 
     ######################
     # Default parameters #
           build-timeout: '{build-timeout}'
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
-    gerrit_merge_triggers:
-      - change-merged-event
-      - comment-added-contains-event:
-          comment-contains-value: remerge$
-
     gerrit_trigger_file_paths:
       - compare-type: REG_EXP
         pattern: 'Makefile'
       - compare-type: REG_EXP
         pattern: 'cmd/binary.go'
 
+    gerrit_verify_triggers:
+      - patchset-created-event:
+          execlude-drafts: true
+          exclude-trivial-rebase: false
+          exclude-no-code-change: false
+      - draft-published-event
+      - comment-added-contains-event:
+          comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
+
     scm:
       - lf-infra-gerrit-scm:
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
     triggers:
       - gerrit:
           server-name: '{gerrit-server-name}'
-          trigger-on:
-            - patchset-created-event:
-                exclude-drafts: 'false'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'false'
-            - change-merged-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
+          trigger-on: '{obj:gerrit_verify_triggers}'
+          projects:
+            - project-compare-type: ANT
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: ANT
+                  branch-pattern: '**/{branch}'
+              file-paths: '{obj:gerrit_trigger_file_paths}'
 
     builders:
       - lf-infra-pre-build
       - shell: !include-raw-escape:
           - ../shell/build_kni_binary.sh
 
+    publishers:
+      - lf-infra-publish
+
 - job-template:
     id: kni-installer-merge-deploy-aws
     name: '{project-name}-merge-deploy-aws'
index 2014b80..3a5e2d8 100755 (executable)
@@ -1,6 +1,29 @@
 #!/bin/bash
 set -e
 
+check_env(){
+  #Checking python-pip software status. If failed, reinstall it.
+  set +e
+  sudo pip --version
+  CHECK_PIP_SUDO=$?
+
+  pip --version
+  CHECK_PIP_USER=$?
+  set -e
+
+  #Check command result, if failed, reinstall the pip
+  if [ ${CHECK_PIP_SUDO} -ne 0 ] || [ ${CHECK_PIP_USER} -ne 0 ]; then
+    echo "Reinstall pip"
+    sudo python -m pip uninstall -y pip
+    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
+    sudo python get-pip.py pip
+    rm get-pip.py
+    hash -r
+  fi
+}
+
+check_env
+
 echo "begin build compass"
 git clone https://github.com/opnfv/compass4nfv.git
 
@@ -15,8 +38,6 @@ sudo docker rm -f `docker ps | grep compass | cut -f1 -d' '` || true
 
 curl -s http://people.linaro.org/~yibo.cai/compass/compass4nfv-arm64-fixup.sh | bash || true
 
-sed -i "s/sudo pip install pyyaml/python -m pip install pyyaml --user/g" build.sh
-
 ./build.sh
 
 exit 0
diff --git a/jjb/iec/iec-fuel-destroy.sh b/jjb/iec/iec-fuel-destroy.sh
new file mode 120000 (symlink)
index 0000000..e0a1962
--- /dev/null
@@ -0,0 +1 @@
+iec-fuel-deploy.sh
\ No newline at end of file
index c63f546..8ec06aa 100644 (file)
           gs-pathname: ''
           disabled: false
 
+    # -------------------------------
+    # INSTALLER DEFINITIONS
+    # -------------------------------
+    installer:
+      - fuel
+      - compass
+
     # -------------------------------
     # DEPLOY TYPE DEFINITIONS
     # -------------------------------
     deploy_type:
-      - fuel-baremetal:
+      - baremetal:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
-      - fuel-virtual:
-          slave-label: 'aarch64_dev'
-          scenario: 'k8-calico-iec-noha'
-      - compass-virtual:
+      - virtual:
           slave-label: 'aarch64_dev'
           scenario: 'k8-calico-iec-noha'
 
+    exclude:
+      # Compass does not run against baremetal PODs yet
+      - installer: compass
+        deploy_type: baremetal
+
     # -------------------------------
     # USECASE DEFINITIONS
     # -------------------------------
           scenario: 'k8-calico-iec-noha'
 
     jobs:
-      - 'iec-{deploy_type}-daily-{stream}'
-      - 'iec-deploy-{deploy_type}-daily-{stream}'
-      - 'iec-install-{usecase}-{deploy_type}-daily-{stream}'
+      - 'iec-{installer}-{deploy_type}-daily-{stream}'
+      - 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
+      - 'iec-destroy-{installer}-{deploy_type}-daily-{stream}'
+      - 'iec-install-{usecase}-{installer}-{deploy_type}-daily-{stream}'
 
 ##############
 # PARAMETERS #
@@ -87,7 +97,7 @@
 # job templates
 ########################
 - job-template:
-    name: 'iec-{deploy_type}-daily-{stream}'
+    name: 'iec-{installer}-{deploy_type}-daily-{stream}'
     disabled: '{obj:disabled}'
     concurrent: false
     node: '{slave-label}'
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - '.*-{deploy_type}-daily-.*'
+            - '.*-fuel-{deploy_type}-daily-.*'
+            - '.*-compass-{deploy_type}-daily-.*'
           blocking-level: 'NODE'
 
     wrappers:
           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     triggers:
-      - 'iec-{deploy_type}-daily-{stream}-trigger'
+      - 'iec-{installer}-{deploy_type}-daily-{stream}-trigger'
 
     parameters:
       - lf-infra-parameters:
 
     builders:
       - trigger-builds:
-          - project: 'iec-deploy-{deploy_type}-daily-{stream}'
+          - project: 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
             current-parameters: false
             predefined-parameters:
               DEPLOY_SCENARIO={scenario}
           - project:
               !j2: |
                 {%- for uc in usecase -%}
-                iec-install-{{ uc | first }}-{{ deploy_type }}-daily-{{ stream }}
+                iec-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-daily-{{ stream }}
                 {%- if not loop.last -%},{%- endif -%}
                 {%- endfor %}
             current-parameters: false
             same-node: true
             block: true
+            block-thresholds:
+              build-step-failure-threshold: 'never'
+              failure-threshold: 'never'
+              unstable-threshold: 'FAILURE'
+          - project: 'iec-destroy-{installer}-{deploy_type}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+            same-node: true
+            block: true
 
 - job-template:
-    name: 'iec-deploy-{deploy_type}-daily-{stream}'
+    name: 'iec-deploy-{installer}-{deploy_type}-daily-{stream}'
     concurrent: true
     node: '{slave-label}'
-    properties:
+    properties: &properties
       - throttle:
           enabled: true
           max-total: 4
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - '.*-deploy-{deploy_type}-daily-*'
+            - '.*-deploy-{installer}-{deploy_type}-daily-.*'
+            - '.*-destroy-{installer}-{deploy_type}-daily-.*'
+            - '.*-install-.*-{installer}-{deploy_type}-daily-.*'
           blocking-level: 'NODE'
 
     parameters:
           name: DEPLOY_SCENARIO
           default: '{scenario}'
 
-    wrappers:
+    wrappers: &wrappers
       - build-name:
           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
           description: "POD: $NODE_NAME"
       - conditional-step:
           condition-kind: regex-match
-          regex: 'compass-.*'
-          label: '{deploy_type}'
+          regex: 'compass'
+          label: '{installer}'
           steps:
             - shell:
                 !include-raw-escape: ./iec-compass-build.sh
                 !include-raw-escape: ./iec-compass-deploy.sh
             - shell:
                 !include-raw-escape: ./iec-fdn-install.sh
-            - shell:
-                !include-raw-escape: ./iec-compass-destroy.sh
       - conditional-step:
           condition-kind: regex-match
-          regex: 'fuel-.*'
-          label: '{deploy_type}'
+          regex: 'fuel'
+          label: '{installer}'
           steps:
             - shell:
                 !include-raw-escape: ./iec-fuel-deploy.sh
 
-    publishers:
+    publishers: &publishers
       - email:
           recipients: armband@enea.com
       - lf-infra-publish
 
 - job-template:
-    name: 'iec-install-{usecase}-{deploy_type}-daily-{stream}'
+    name: 'iec-destroy-{installer}-{deploy_type}-daily-{stream}'
     concurrent: true
     node: '{slave-label}'
-    properties:
-      - throttle:
-          enabled: true
-          max-total: 4
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '.*-deploy-{deploy_type}-daily-*'
-            - '.*-install-{usecase}-{deploy_type}-daily-*'
-          blocking-level: 'NODE'
+    properties: *properties
+    parameters:
+      - lf-infra-parameters:
+          project: '{project}'
+          stream: '{stream}'
+          branch: '{branch}'
+      - '{project}-defaults'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+      - string:
+          name: EXTRA_ARGS
+          default: '-EEE'
+
+    wrappers: *wrappers
+    scm: *scm
+
+    builders:
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - shell:
+          !include-raw-escape: ./iec-{installer}-destroy.sh
+
+    publishers: *publishers
+
+- job-template:
+    name: 'iec-install-{usecase}-{installer}-{deploy_type}-daily-{stream}'
+    concurrent: true
+    node: '{slave-label}'
+    properties: *properties
 
     parameters:
       - lf-infra-parameters:
 
     wrappers:
       - build-name:
-          name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${deploy_type}'
+          name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}'
 
     scm: *scm
 
       - shell:
           !include-raw-escape: ./iec-{usecase}.sh
 
-    publishers:
-      - email:
-          recipients: armband@enea.com
-      - lf-infra-publish
+    publishers: *publishers
 
 ########################
 # trigger macros
index 861cbe3..ac0e58f 100644 (file)
@@ -6,8 +6,8 @@
     stream: master
     branch: master
     jobs:
-      - kni-installer-build-installer
-      - kni-installer-build-binary
+      - kni-installer-verify-installer
+      - kni-installer-verify-binary
       - kni-installer-merge-deploy-aws
       - kni-installer-merge-deploy-libvirt
 - project:
index 122314e..5981e25 100644 (file)
@@ -2,5 +2,12 @@
 - project:
     name: starlingx-project-view
     project-name: starlingx
+    project: starlingx
+    stream:
+      - master:
+          branch: master
+    build-node: centos7-dev-16c-48g
+    jobs:
+      - akraino-project-stream-verify
     views:
       - project-view