Merge "Changing url of the reporting to original one"
authorMorgan Richomme <morgan.richomme@orange.com>
Tue, 12 Sep 2017 06:06:11 +0000 (06:06 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Tue, 12 Sep 2017 06:06:11 +0000 (06:06 +0000)
46 files changed:
jjb/3rd_party_ci/odl-netvirt.yml
jjb/apex/apex-build.sh
jjb/apex/apex-deploy.sh
jjb/barometer/barometer-upload-artifact.sh
jjb/barometer/barometer.yml
jjb/bottlenecks/bottlenecks-ci-jobs.yml
jjb/bottlenecks/bottlenecks-project-jobs.yml
jjb/ci_gate_security/opnfv-ci-gate-security.yml
jjb/cperf/cperf-ci-jobs.yml
jjb/dovetail/dovetail-ci-jobs.yml
jjb/functest/functest-alpine.sh
jjb/functest/functest-daily-jobs.yml
jjb/functest/set-functest-env.sh
jjb/global/installer-params.yml
jjb/global/slave-params.yml
jjb/joid/joid-daily-jobs.yml
jjb/joid/joid-verify-jobs.yml
jjb/nfvbench/nfvbench.yml
jjb/opera/opera-daily-jobs.yml
jjb/opera/opera-project-jobs.yml
jjb/opera/opera-verify-jobs.yml
jjb/opnfvdocs/docs-rtd.yaml
jjb/opnfvdocs/opnfvdocs.yml
jjb/orchestra/orchestra-daily-jobs.yml
jjb/orchestra/orchestra-project-jobs.yml
jjb/ovn4nfv/ovn4nfv-daily-jobs.yml
jjb/ovn4nfv/ovn4nfv-project-jobs.yml
jjb/releng/generate-job-list.sh
jjb/releng/releng-ci-jobs.yml
jjb/xci/xci-daily-jobs.yml
jjb/xci/xci-functest.sh [deleted file]
jjb/xci/xci-verify-jobs.yml
jjb/yardstick/yardstick-daily-jobs.yml
modules/setup.cfg [new file with mode: 0644]
modules/setup.py
utils/fetch_os_creds.sh
utils/jenkins-jnlp-connect.sh
utils/test/reporting/docker/nginx.conf
utils/test/reporting/pages/config.sh
utils/test/testapi/.gitignore
utils/test/testapi/3rd_party/static/testapi-ui/components/pods/podsController.js
utils/test/testapi/README.rst
utils/test/testapi/opnfv_testapi/common/check.py
utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py
utils/test/testapi/opnfv_testapi/tests/unit/resources/test_pod.py
utils/test/testapi/tools/watchdog/docker_watch.sh

index a937acb..01017f3 100644 (file)
@@ -1,37 +1,39 @@
+---
 - project:
     name: 'netvirt'
 
     project: 'netvirt'
 
     installer: 'netvirt'
-#####################################
-# branch definitions
-#####################################
+    #####################################
+    # branch definitions
+    #####################################
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
-        - carbon:
-            branch: 'stable/carbon'
-            gs-pathname: ''
-            disabled: false
-#####################################
-# patch verification phases
-#####################################
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+      - carbon:
+          branch: 'stable/carbon'
+          gs-pathname: ''
+          disabled: false
+    #####################################
+    # patch verification phases
+    #####################################
     phase:
-        - 'create-apex-vms':
-            slave-label: 'odl-netvirt-virtual-intel'
-        - 'install-netvirt':
-            slave-label: 'odl-netvirt-virtual-intel'
-        - 'postprocess':
-            slave-label: 'odl-netvirt-virtual-intel'
-#####################################
-# jobs
-#####################################
+      - 'create-apex-vms':
+          slave-label: 'odl-netvirt-virtual-intel'
+      - 'install-netvirt':
+          slave-label: 'odl-netvirt-virtual-intel'
+      - 'postprocess':
+          slave-label: 'odl-netvirt-virtual-intel'
+    #####################################
+    # jobs
+    #####################################
     jobs:
-        - 'odl-netvirt-verify-virtual-{stream}'
-        - 'odl-netvirt-verify-virtual-{phase}-{stream}'
+      - 'odl-netvirt-verify-virtual-{stream}'
+      - 'odl-netvirt-verify-virtual-{phase}-{stream}'
+
 #####################################
 # job templates
 #####################################
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 5
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 5
+          max-per-node: 1
+          option: 'project'
 
     scm:
-        - git:
-            url: https://gerrit.opnfv.org/gerrit/apex
-            branches:
-                - 'origin/master'
-            timeout: 15
-            wipe-workspace: true
+      - git:
+          url: https://gerrit.opnfv.org/gerrit/apex
+          branches:
+            - 'origin/master'
+          timeout: 15
+          wipe-workspace: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: NETVIRT_ARTIFACT
-            default: distribution-karaf.tar.gz
-        - 'odl-netvirt-virtual-intel-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - string:
+          name: NETVIRT_ARTIFACT
+          default: distribution-karaf.tar.gz
+      - 'odl-netvirt-virtual-intel-defaults'
 
     triggers:
-        - gerrit:
-            server-name: 'git.opendaylight.org'
-            trigger-on:
- #               - comment-added-contains-event:
- #                   comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS'
- #               - comment-added-contains-event:
- #                   comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE'
-                - comment-added-contains-event:
-                    comment-contains-value: 'opnfv-test'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-            readable-message: true
+      - gerrit:
+          server-name: 'git.opendaylight.org'
+          trigger-on:
+            # yamllint disable rule:line-length
+            # - comment-added-contains-event:
+            #     comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS'
+            # - comment-added-contains-event:
+            #     comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE'
+            # yamllint enable rule:line-length
+            - comment-added-contains-event:
+                comment-contains-value: 'opnfv-test'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+          readable-message: true
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - multijob:
-            name: create-apex-vms
-            condition: SUCCESSFUL
-            projects:
-                - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
-                    GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
-                    GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
-                    NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
-                    APEX_ENV_NUMBER=$APEX_ENV_NUMBER
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: install-netvirt
-            condition: SUCCESSFUL
-            projects:
-                - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    ODL_BRANCH={branch}
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
-                    GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
-                    GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
-                    NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: functest
-            condition: SUCCESSFUL
-            projects:
-                - name: 'functest-netvirt-virtual-suite-master'
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
-                    FUNCTEST_SUITE_NAME=odl_netvirt
-                    RC_FILE_PATH=$HOME/cloner-info/overcloudrc
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: false
-        - multijob:
-            name: postprocess
-            condition: ALWAYS
-            projects:
-                - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
-                    GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
-                    GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
-                    NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: false
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - multijob:
+          name: create-apex-vms
+          condition: SUCCESSFUL
+          projects:
+            - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                BRANCH=$BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
+                GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
+                GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+                NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+                APEX_ENV_NUMBER=$APEX_ENV_NUMBER
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: install-netvirt
+          condition: SUCCESSFUL
+          projects:
+            - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                ODL_BRANCH={branch}
+                BRANCH=$BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
+                GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
+                GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+                NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: functest
+          condition: SUCCESSFUL
+          projects:
+            - name: 'functest-netvirt-virtual-suite-master'
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
+                FUNCTEST_SUITE_NAME=odl_netvirt
+                RC_FILE_PATH=$HOME/cloner-info/overcloudrc
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: false
+      - multijob:
+          name: postprocess
+          condition: ALWAYS
+          projects:
+            - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                BRANCH=$BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
+                GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
+                GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+                NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: false
 
 - job-template:
     name: 'odl-netvirt-verify-virtual-{phase}-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 5
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
-                - 'odl-netvirt-verify-virtual-install-netvirt-.*'
-                - 'functest-netvirt-virtual-suite-.*'
-                - 'odl-netvirt-verify-virtual-postprocess-.*'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 5
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
+            - 'odl-netvirt-verify-virtual-install-netvirt-.*'
+            - 'functest-netvirt-virtual-suite-.*'
+            - 'odl-netvirt-verify-virtual-postprocess-.*'
+          block-level: 'NODE'
 
     wrappers:
-        - ssh-agent-wrapper
-        - timeout:
-            timeout: 360
-            fail: true
+      - ssh-agent-wrapper
+      - timeout:
+          timeout: 360
+          fail: true
 
     scm:
-        - git:
-            url: https://gerrit.opnfv.org/gerrit/apex
-            branches:
-                - 'origin/master'
-            timeout: 15
-            wipe-workspace: true
+      - git:
+          url: https://gerrit.opnfv.org/gerrit/apex
+          branches:
+            - 'origin/master'
+          timeout: 15
+          wipe-workspace: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{slave-label}-defaults'
-        - '{installer}-defaults'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: 'os-odl_l2-bgpvpn-noha'
-            description: 'Scenario to deploy and test'
-        - string:
-            name: GS_URL
-            default: artifacts.opnfv.org/apex
-            description: "URL to Google Storage with snapshot artifacts."
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{slave-label}-defaults'
+      - '{installer}-defaults'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'os-odl_l2-bgpvpn-noha'
+          description: 'Scenario to deploy and test'
+      - string:
+          name: GS_URL
+          default: artifacts.opnfv.org/apex
+          description: "URL to Google Storage with snapshot artifacts."
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - '{project}-verify-{phase}-builder'
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - '{project}-verify-{phase}-builder'
 #####################################
 # builder macros
 #####################################
 - builder:
     name: 'netvirt-verify-create-apex-vms-builder'
     builders:
-        - shell:
-            !include-raw: ../apex/apex-snapshot-deploy.sh
+      - shell:
+          !include-raw: ../apex/apex-snapshot-deploy.sh
 - builder:
     name: 'netvirt-verify-install-netvirt-builder'
     builders:
-        - shell:
-            !include-raw: ./download-netvirt-artifact.sh
-        - shell:
-            !include-raw: ./install-netvirt.sh
+      - shell:
+          !include-raw: ./download-netvirt-artifact.sh
+      - shell:
+          !include-raw: ./install-netvirt.sh
 - builder:
     name: 'netvirt-verify-postprocess-builder'
     builders:
-        - shell:
-            !include-raw: ./postprocess-netvirt.sh
+      - shell:
+          !include-raw: ./postprocess-netvirt.sh
index ad94ba3..23ce810 100755 (executable)
@@ -31,6 +31,7 @@ BUILD_DIRECTORY=${WORKSPACE}/build
 pushd ${BUILD_DIRECTORY}
 make clean
 popd
+export PYTHONPATH=${WORKSPACE}
 python3 apex/build.py $BUILD_ARGS
 RPM_VERSION=$(grep Version: $WORKSPACE/build/rpm_specs/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
 # list the contents of BUILD_OUTPUT directory
index a47e3a5..6de12d4 100755 (executable)
@@ -50,6 +50,7 @@ if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
 
   # Install dev build
   mkdir -p ~/tmp
+  rm -rf ~/tmp/.build
   mv -f .build ~/tmp/
   sudo pip3 install --upgrade --force-reinstall .
   mv -f ~/tmp/.build .
index 817cc57..08c64ba 100644 (file)
@@ -2,6 +2,7 @@
 set -o nounset
 set -o pipefail
 
+RPM_LIST=$WORKSPACE/ci/utilities/rpms_list
 RPM_WORKDIR=$WORKSPACE/rpmbuild
 RPM_DIR=$RPM_WORKDIR/RPMS/x86_64/
 cd $WORKSPACE/
@@ -9,9 +10,32 @@ cd $WORKSPACE/
 # source the opnfv.properties to get ARTIFACT_VERSION
 source $WORKSPACE/opnfv.properties
 
-# upload property files
-gsutil cp $WORKSPACE/opnfv.properties gs://$OPNFV_ARTIFACT_URL/opnfv.properties > gsutil.properties.log 2>&1
-gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
+# Check if all the appropriate RPMs were generated
+echo "Checking if all the Barometer RPMs were created"
+echo "-----------------------------------------------"
+echo
+
+if [ -d $RPM_DIR]
+then
+    ls $RPM_DIR > list_of_gen_pack
+else
+    echo "Can't access folder $RPM_DIR with rpm packages"
+    echo "Barometer nightly build FAILED"
+    exit 1
+fi
+
+for PACKAGENAME in `cat $RPM_LIST`
+do
+        if ! grep -q $PACKAGENAME list_of_gen_pack
+        then
+                echo "$PACKAGENAME is missing"
+                echo "Barometer nightly build FAILED"
+                exit 2
+        fi
+done
+
+#remove the file you no longer need.
+rm list_of_gen_pack
 
 echo "Uploading the barometer RPMs to artifacts.opnfv.org"
 echo "---------------------------------------------------"
@@ -25,6 +49,10 @@ if [[ $? -ne 0 ]]; then
   echo "Problem while uploading barometer RPMs to gs://$OPNFV_ARTIFACT_URL!"
   echo "Check log $WORKSPACE/gsutil.log on the appropriate build server"
   exit 1
+else
+  # upload property files only if build is successful
+  gsutil cp $WORKSPACE/opnfv.properties gs://$OPNFV_ARTIFACT_URL/opnfv.properties > gsutil.properties.log 2>&1
+  gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
 fi
 
 gsutil -m setmeta \
index 2d3e972..8a5bea0 100644 (file)
@@ -1,3 +1,4 @@
+---
 ###################################################
 # All the jobs except verify have been removed!
 # They will only be enabled on request by projects!
@@ -8,19 +9,19 @@
     project: '{name}'
 
     jobs:
-        - 'barometer-verify-{stream}'
-        - 'barometer-merge-{stream}'
-        - 'barometer-daily-{stream}'
+      - 'barometer-verify-{stream}'
+      - 'barometer-merge-{stream}'
+      - 'barometer-daily-{stream}'
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
-        - danube:
-            branch: 'stable/{stream}'
-            gs-pathname: '/{stream}'
-            disabled: false
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+      - danube:
+          branch: 'stable/{stream}'
+          gs-pathname: '/{stream}'
+          disabled: false
 
 - job-template:
     name: 'barometer-verify-{stream}'
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            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: '**/{branch}'
-                disable-strict-forbidden-file-verification: 'true'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**|.gitignore'
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          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: '**/{branch}'
+              disable-strict-forbidden-file-verification: 'true'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: 'docs/**|.gitignore'
 
     builders:
-        - shell: |
-            pwd
-            cd src
-            make clobber
-            make
+      - shell: |
+          pwd
+          cd src
+          make clobber
+          make
 
 - job-template:
     name: 'barometer-merge-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 3
-            max-per-node: 2
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 3
+          max-per-node: 2
+          option: 'project'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm
+      - git-scm
 
     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}'
-                disable-strict-forbidden-file-verification: 'true'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**'
+      - 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}'
+              disable-strict-forbidden-file-verification: 'true'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: 'docs/**'
 
     builders:
-        - shell: |
-            pwd
-            cd src
-            make clobber
-            make
+      - shell: |
+          pwd
+          cd src
+          make clobber
+          make
 
 - job-template:
     name: 'barometer-daily-{stream}'
     concurrent: false
 
     properties:
-        - logrotate-default
+      - logrotate-default
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - barometer-project-parameter:
-            gs-pathname: '{gs-pathname}'
-        - 'opnfv-build-centos-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - barometer-project-parameter:
+          gs-pathname: '{gs-pathname}'
+      - 'opnfv-build-centos-defaults'
 
     scm:
-        - git-scm
+      - git-scm
 
     triggers:
-         - timed: '@midnight'
+      - timed: '@midnight'
 
     builders:
-        - shell:
-            !include-raw-escape: ./barometer-build.sh
-        - shell:
-            !include-raw-escape: ./barometer-upload-artifact.sh
+      - shell:
+          !include-raw-escape: ./barometer-build.sh
+      - shell:
+          !include-raw-escape: ./barometer-upload-artifact.sh
 
 ########################
 # parameter macros
 - parameter:
     name: barometer-project-parameter
     parameters:
-        - string:
-            name: GS_URL
-            default: '$GS_BASE{gs-pathname}'
-            description: "URL to Google Storage."
+      - string:
+          name: GS_URL
+          default: '$GS_BASE{gs-pathname}'
+          description: "URL to Google Storage."
index 71601cf..a8654d0 100644 (file)
@@ -1,3 +1,4 @@
+---
 ####################################
 # job configuration for bottlenecks
 ####################################
@@ -6,75 +7,75 @@
 
     project: 'bottlenecks'
 
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+    # -------------------------------
+    # BRANCH ANCHORS
+    # -------------------------------
     master: &master
-        stream: master
-        branch: '{stream}'
-        #This is used for common project file storage
-        gs-pathname: ''
-        #This is used for different test suite dependent packages storage
-        gs-packagepath: '/{suite}'
-        #docker tag used for version control
-        docker-tag: 'latest'
+      stream: master
+      branch: '{stream}'
+      This is used for common project file storage
+      gs-pathname: ''
+      This is used for different test suite dependent packages storage
+      gs-packagepath: '/{suite}'
+      docker tag used for version control
+      docker-tag: 'latest'
     danube: &danube
-        stream: danube
-        branch: 'stable/{stream}'
-        gs-pathname: '/{stream}'
-        gs-packagepath: '/{stream}/{suite}'
-        docker-tag: 'stable'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-#    Installers using labels
-#            CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+      stream: danube
+      branch: 'stable/{stream}'
+      gs-pathname: '/{stream}'
+      gs-packagepath: '/{stream}/{suite}'
+      docker-tag: 'stable'
+    # -------------------------------
+    # POD, INSTALLER, AND BRANCH MAPPING
+    # -------------------------------
+    #    Installers using labels
+    #            CI PODs
+    # This section should only contain the installers
+    # that have been switched using labels for slaves
+    # -------------------------------
     pod:
-#compass CI PODs
-        - baremetal:
-            slave-label: compass-baremetal-master
-            installer: compass
-            auto-trigger-name: 'daily-trigger-disabled'
-            <<: *master
-        - virtual:
-            slave-label: compass-virtual-master
-            installer: compass
-            auto-trigger-name: 'daily-trigger-disabled'
-            <<: *master
-        - baremetal:
-            slave-label: compass-baremetal-branch
-            installer: compass
-            auto-trigger-name: 'daily-trigger-disabled'
-            <<: *danube
-        - virtual:
-            slave-label: compass-virtual-branch
-            installer: compass
-            auto-trigger-name: 'daily-trigger-disabled'
-            <<: *danube
-
-#--------------------------------
-#        None-CI PODs
-#--------------------------------
-       # - orange-pod2:
-       #     slave-label: '{pod}'
-       #     installer: joid
-       #     auto-trigger-name: 'daily-trigger-disabled'
-       #     <<: *danube
-       # - orange-pod2:
-       #     slave-label: '{pod}'
-       #     installer: joid
-       #     auto-trigger-name: 'daily-trigger-disabled'
-       #     <<: *master
-#--------------------------------------------
+      # compass CI PODs
+      - baremetal:
+          slave-label: compass-baremetal-master
+          installer: compass
+          auto-trigger-name: 'daily-trigger-disabled'
+          <<: *master
+      - virtual:
+          slave-label: compass-virtual-master
+          installer: compass
+          auto-trigger-name: 'daily-trigger-disabled'
+          <<: *master
+      - baremetal:
+          slave-label: compass-baremetal-branch
+          installer: compass
+          auto-trigger-name: 'daily-trigger-disabled'
+          <<: *danube
+      - virtual:
+          slave-label: compass-virtual-branch
+          installer: compass
+          auto-trigger-name: 'daily-trigger-disabled'
+          <<: *danube
+
+    # -------------------------------
+    #        None-CI PODs
+    # -------------------------------
+    # - orange-pod2:
+    #     slave-label: '{pod}'
+    #     installer: joid
+    #     auto-trigger-name: 'daily-trigger-disabled'
+    #     <<: *danube
+    # - orange-pod2:
+    #     slave-label: '{pod}'
+    #     installer: joid
+    #     auto-trigger-name: 'daily-trigger-disabled'
+    #     <<: *master
+    # -------------------------------------------
     suite:
-        - 'posca_stress_traffic'
-        - 'posca_stress_ping'
+      - 'posca_stress_traffic'
+      - 'posca_stress_ping'
 
     jobs:
-        - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
+      - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
 
 ################################
 # job templates
     name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
 
     wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-        - timeout:
-            timeout: 180
-            abort: true
+      - build-name:
+          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+      - timeout:
+          timeout: 180
+          abort: true
 
     triggers:
-        - '{auto-trigger-name}'
+      - '{auto-trigger-name}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{slave-label}-defaults'
-        - '{installer}-defaults'
-        - 'bottlenecks-params-{slave-label}'
-        - string:
-            name: REPO_DIR
-            default: "/home/opnfv/bottlenecks"
-            description: "Directory where the repository is cloned"
-        - string:
-            name: DEPLOY_SCENARIO
-            default: 'os-odl_l2-nofeature-ha'
-        - string:
-            name: GERRIT_REFSPEC_DEBUG
-            default: 'true'
-            description: "Gerrit refspec for debug."
-        - string:
-            name: SUITE_NAME
-            default: '{suite}'
-            description: "test suite name."
-        - string:
-            name: DOCKER_TAG
-            default: '{docker-tag}'
-            description: "docker image tag used for version control"
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{slave-label}-defaults'
+      - '{installer}-defaults'
+      - 'bottlenecks-params-{slave-label}'
+      - string:
+          name: REPO_DIR
+          default: "/home/opnfv/bottlenecks"
+          description: "Directory where the repository is cloned"
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'os-odl_l2-nofeature-ha'
+      - string:
+          name: GERRIT_REFSPEC_DEBUG
+          default: 'true'
+          description: "Gerrit refspec for debug."
+      - string:
+          name: SUITE_NAME
+          default: '{suite}'
+          description: "test suite name."
+      - string:
+          name: DOCKER_TAG
+          default: '{docker-tag}'
+          description: "docker image tag used for version control"
 
     scm:
-        - git-scm
+      - git-scm
 
     builders:
-        - 'bottlenecks-env-cleanup'
-        - 'bottlenecks-run-suite'
+      - 'bottlenecks-env-cleanup'
+      - 'bottlenecks-run-suite'
 
     publishers:
-        - email:
-            recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com
-        - email-jenkins-admins-on-failure
+      - email:
+          recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com
+      - email-jenkins-admins-on-failure
 
 ########################
 # builder macros
 - builder:
     name: bottlenecks-env-cleanup
     builders:
-        - shell:
-            !include-raw: ./bottlenecks-cleanup.sh
+      - shell:
+          !include-raw: ./bottlenecks-cleanup.sh
 
 - builder:
     name: bottlenecks-run-suite
     builders:
-        - shell:
-            !include-raw: ./bottlenecks-run-suite.sh
+      - shell:
+          !include-raw: ./bottlenecks-run-suite.sh
 
 ####################
 # parameter macros
 - parameter:
     name: 'bottlenecks-params-compass-baremetal-master'
     parameters:
-        - string:
-            name: BOTTLENECKS_DB_TARGET
-            default: 'http://testresults.opnfv.org/test/api/v1/results'
-            description: 'Arguments to use in order to choose the backend DB'
+      - string:
+          name: BOTTLENECKS_DB_TARGET
+          default: 'http://testresults.opnfv.org/test/api/v1/results'
+          description: 'Arguments to use in order to choose the backend DB'
 
 - parameter:
     name: 'bottlenecks-params-compass-virtual-master'
     parameters:
-        - string:
-            name: BOTTLENECKS_DB_TARGET
-            default: 'http://testresults.opnfv.org/test/api/v1/results'
-            description: 'Arguments to use in order to choose the backend DB'
+      - string:
+          name: BOTTLENECKS_DB_TARGET
+          default: 'http://testresults.opnfv.org/test/api/v1/results'
+          description: 'Arguments to use in order to choose the backend DB'
 
 - parameter:
     name: 'bottlenecks-params-compass-baremetal-branch'
     parameters:
-        - string:
-            name: BOTTLENECKS_DB_TARGET
-            default: 'http://testresults.opnfv.org/test/api/v1/results'
-            description: 'Arguments to use in order to choose the backend DB'
+      - string:
+          name: BOTTLENECKS_DB_TARGET
+          default: 'http://testresults.opnfv.org/test/api/v1/results'
+          description: 'Arguments to use in order to choose the backend DB'
 
 - parameter:
     name: 'bottlenecks-params-compass-virtual-branch'
     parameters:
-        - string:
-            name: BOTTLENECKS_DB_TARGET
-            default: 'http://testresults.opnfv.org/test/api/v1/results'
-            description: 'Arguments to use in order to choose the backend DB'
+      - string:
+          name: BOTTLENECKS_DB_TARGET
+          default: 'http://testresults.opnfv.org/test/api/v1/results'
+          description: 'Arguments to use in order to choose the backend DB'
index 5dced2a..c7c9b42 100644 (file)
@@ -1,3 +1,4 @@
+---
 ###################################################
 # Non-ci jobs for Bottlenecks project
 # They will only be enabled on request by projects!
@@ -8,29 +9,29 @@
     project: 'bottlenecks'
 
     jobs:
-        - 'bottlenecks-verify-{stream}'
-        - 'bottlenecks-merge-{stream}'
-        - 'bottlenecks-{suite}-upload-artifacts-{stream}'
+      - 'bottlenecks-verify-{stream}'
+      - 'bottlenecks-merge-{stream}'
+      - 'bottlenecks-{suite}-upload-artifacts-{stream}'
 
     stream:
-        - master:
-            branch: '{stream}'
-            #This is used for common project file storage
-            gs-pathname: ''
-            #This is used for different test suite dependent packages storage
-            gs-packagepath: '/{suite}'
-            disabled: false
-        - danube:
-            branch: 'stable/{stream}'
-            gs-pathname: '/{stream}'
-            gs-packagepath: '/{stream}/{suite}'
-            disabled: false
+      - master:
+          branch: '{stream}'
+          This is used for common project file storage
+          gs-pathname: ''
+          This is used for different test suite dependent packages storage
+          gs-packagepath: '/{suite}'
+          disabled: false
+      - danube:
+          branch: 'stable/{stream}'
+          gs-pathname: '/{stream}'
+          gs-packagepath: '/{stream}/{suite}'
+          disabled: false
 
     suite:
-        - 'rubbos'
-        - 'vstf'
-        - 'posca_stress_traffic'
-        - 'posca_stress_ping'
+      - 'rubbos'
+      - 'vstf'
+      - 'posca_stress_traffic'
+      - 'posca_stress_ping'
 
 ################################
 # job templates
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            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: '**/{branch}'
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          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: '**/{branch}'
+
     builders:
-        #- bottlenecks-hello
-        - bottlenecks-unit-tests
+      - bottlenecks-hello
+      - bottlenecks-unit-tests
 
 - job-template:
     name: 'bottlenecks-merge-{stream}'
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm
+      - git-scm
 
     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}'
+      - 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}'
 
     builders:
-        - bottlenecks-hello
-        #- bottlenecks-unit-tests
+      - bottlenecks-hello
+      - bottlenecks-unit-tests
 
 - job-template:
     name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
-        - bottlenecks-parameter:
-            gs-packagepath: '{gs-packagepath}'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
+      - bottlenecks-parameter:
+          gs-packagepath: '{gs-packagepath}'
 
     scm:
-        - git-scm
+      - git-scm
 
     builders:
-        - 'bottlenecks-builder-upload-artifact'
-        - 'bottlenecks-workspace-cleanup'
+      - 'bottlenecks-builder-upload-artifact'
+      - 'bottlenecks-workspace-cleanup'
 
 ####################
 # parameter macros
 - parameter:
     name: bottlenecks-parameter
     parameters:
-        - string:
-           name: CACHE_DIR
-           default: $WORKSPACE/cache{gs-packagepath}
-           description: "the cache to store packages downloaded from public IP"
-        - string:
-           name: SUITE_URL
-           default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath}
-           description: "LF artifacts url for storage of bottlenecks packages"
-        - string:
-           name: PACKAGE_URL
-           default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/
-           description: "the url where we store the packages used for bottlenecks rubbos"
+      - string:
+          name: CACHE_DIR
+          default: $WORKSPACE/cache{gs-packagepath}
+          description: "the cache to store packages downloaded from public IP"
+      - string:
+          name: SUITE_URL
+          default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath}
+          description: "LF artifacts url for storage of bottlenecks packages"
+      - string:
+          name: PACKAGE_URL
+          default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/
+          description: "the url where we store the packages used for bottlenecks rubbos"
 
 ####################################
-#builders for bottlenecks project
+# builders for bottlenecks project
 ####################################
 - builder:
     name: bottlenecks-builder-upload-artifact
     builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
+      - shell: |
+          #!/bin/bash
+          set -o errexit
 
-            echo "Bottlenecks: upload to artifacts from the public IP"
+          echo "Bottlenecks: upload to artifacts from the public IP"
 
-            [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR
+          [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR
 
-            for file in $(curl -s $PACKAGE_URL |
-                               grep href |
-                               sed 's/.*href="//' |
-                               sed 's/".*//' |
-                               grep '^[a-zA-Z].*'); do
-                 curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v
-                 echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL"
-                 gsutil cp $CACHE_DIR/$file $SUITE_URL
-            done
+          for file in $(curl -s $PACKAGE_URL |
+                             grep href |
+                             sed 's/.*href="//' |
+                             sed 's/".*//' |
+                             grep '^[a-zA-Z].*'); do
+               curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v
+               echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL"
+               gsutil cp $CACHE_DIR/$file $SUITE_URL
+          done
 
 - builder:
     name: bottlenecks-workspace-cleanup
     builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
+      - shell: |
+          #!/bin/bash
+          set -o errexit
 
-            echo "Bottlenecks: cleanup cache used for storage downloaded packages"
+          echo "Bottlenecks: cleanup cache used for storage downloaded packages"
 
-            /bin/rm -rf $CACHE_DIR
+          /bin/rm -rf $CACHE_DIR
 
 - builder:
     name: bottlenecks-unit-tests
     builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o pipefail
+      - shell: |
+          #!/bin/bash
+          set -o errexit
+          set -o pipefail
 
-            echo "Running unit tests..."
-            cd $WORKSPACE
-            virtualenv $WORKSPACE/bottlenecks_venv
-            source $WORKSPACE/bottlenecks_venv/bin/activate
+          echo "Running unit tests..."
+          cd $WORKSPACE
+          virtualenv $WORKSPACE/bottlenecks_venv
+          source $WORKSPACE/bottlenecks_venv/bin/activate
 
-            # install python packages
-            easy_install -U setuptools
-            easy_install -U pip
-            pip install -r $WORKSPACE/requirements/verify.txt
+          # install python packages
+          easy_install -U setuptools
+          easy_install -U pip
+          pip install -r $WORKSPACE/requirements/verify.txt
 
-            # unit tests
-            /bin/bash $WORKSPACE/verify.sh
+          # unit tests
+          /bin/bash $WORKSPACE/verify.sh
 
-            deactivate
+          deactivate
 
 - builder:
     name: bottlenecks-hello
     builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
+      - shell: |
+          #!/bin/bash
+          set -o errexit
 
-            echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! "
+          echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! "
index 59479e7..3317953 100644 (file)
@@ -1,3 +1,4 @@
+---
 # SPDX-license-identifier: Apache-2.0
 ########################
 # Job configuration for opnfv-anteater (security audit)
     project: anteaterfw
 
     jobs:
-        - 'opnfv-security-audit-verify-{stream}'
-        - 'opnfv-security-audit-weekly-{stream}'
+      - 'opnfv-security-audit-verify-{stream}'
+      - 'opnfv-security-audit-weekly-{stream}'
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
 
 ########################
 # job templates
     disabled: '{obj:disabled}'
 
     parameters:
-        - label:
-            name: SLAVE_LABEL
-            default: 'ericsson-build3'
-            description: 'Slave label on Jenkins'
-        - project-parameter:
-            project: releng
-            branch: '{branch}'
+      - label:
+          name: SLAVE_LABEL
+          default: 'ericsson-build3'
+          description: 'Slave label on Jenkins'
+      - project-parameter:
+          project: releng
+          branch: '{branch}'
 
     triggers:
-        - timed: '@weekly'
+      - timed: '@weekly'
 
     builders:
-        - anteater-security-audit-weekly
+      - anteater-security-audit-weekly
 
 - job-template:
     name: 'opnfv-security-audit-verify-{stream}'
     disabled: '{obj:disabled}'
 
     parameters:
-        - label:
-            name: SLAVE_LABEL
-            default: 'ericsson-build3'
-            description: 'Slave label on Jenkins'
-        - project-parameter:
-            project: $GERRIT_PROJECT
-            branch: '{branch}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/$PROJECT
-            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+      - label:
+          name: SLAVE_LABEL
+          default: 'ericsson-build3'
+          description: 'Slave label on Jenkins'
+      - project-parameter:
+          project: $GERRIT_PROJECT
+          branch: '{branch}'
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          # yamllint disable rule:line-length
+          description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+          # yamllint enable rule:line-length
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
+    # yamllint disable rule:line-length
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            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: 'REG_EXP'
-                project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|fuel|functest|octopus|pharos|releng|sandbox|yardstick'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-                file-paths:
-                  - compare-type: ANT
-                    pattern: '**'
-            skip-vote:
-                successful: true
-                failed: true
-                unstable: true
-                notbuilt: true
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          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: 'REG_EXP'
+              project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|fuel|functest|octopus|pharos|releng|sandbox|yardstick'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              file-paths:
+                - compare-type: ANT
+                  pattern: '**'
+          skip-vote:
+            successful: true
+            failed: true
+            unstable: true
+            notbuilt: true
+    # yamllint enable rule:line-length
 
     builders:
-        - anteater-security-audit
-        - report-security-audit-result-to-gerrit
+      - anteater-security-audit
+      - report-security-audit-result-to-gerrit
     publishers:
       - archive-artifacts:
           artifacts: ".reports/*"
 - builder:
     name: anteater-security-audit
     builders:
-        - shell:
-            !include-raw: ./anteater-security-audit.sh
+      - shell:
+          !include-raw: ./anteater-security-audit.sh
 
 - builder:
     name: report-security-audit-result-to-gerrit
     builders:
-        - shell:
-            !include-raw: ./anteater-report-to-gerrit.sh
+      - shell:
+          !include-raw: ./anteater-report-to-gerrit.sh
 
+# yamllint disable rule:indentation
 - builder:
     name: anteater-security-audit-weekly
     builders:
-        - shell:
-            !include-raw:
-                - ./anteater-clone-all-repos.sh
-                - ./anteater-security-audit-weekly.sh
-
+      - shell:
+          !include-raw:
+              - ./anteater-clone-all-repos.sh
+              - ./anteater-security-audit-weekly.sh
+# yamllint enable rule:indentation
index dc209d6..fdd3509 100644 (file)
@@ -1,3 +1,4 @@
+---
 ###################################
 # job configuration for cperf
 ###################################
@@ -5,40 +6,39 @@
     name: cperf-ci-jobs
     project: cperf
 
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+    # -------------------------------
+    # BRANCH ANCHORS
+    # -------------------------------
     master: &master
-        stream: master
-        branch: '{stream}'
-        gs-pathname: ''
-        docker-tag: 'latest'
+      stream: master
+      branch: '{stream}'
+      gs-pathname: ''
+      docker-tag: 'latest'
     danube: &danube
-        stream: danube
-        branch: 'stable/{stream}'
-        gs-pathname: '/{stream}'
-        docker-tag: 'stable'
-
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
+      stream: danube
+      branch: 'stable/{stream}'
+      gs-pathname: '/{stream}'
+      docker-tag: 'stable'
+
+    # -------------------------------
+    # POD, INSTALLER, AND BRANCH MAPPING
+    # -------------------------------
     pod:
-#--------------------------------
-#        master
-#--------------------------------
-        - intel-pod2:
-            installer: apex
-            <<: *master
-        - intel-pod2:
-            installer: apex
-            <<: *danube
-#--------------------------------
+      # -------------------------------
+      #        master
+      # -------------------------------
+      - intel-pod2:
+          installer: apex
+          <<: *master
+      - intel-pod2:
+          installer: apex
+          <<: *danube
 
     testsuite:
-        - 'daily'
+      - 'daily'
 
     jobs:
-        - 'cperf-{installer}-{pod}-{testsuite}-{stream}'
+      - 'cperf-{installer}-{pod}-{testsuite}-{stream}'
 
 ################################
 # job template
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-per-node: 1
+          option: 'project'
 
     wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
-        - timeout:
-            timeout: 400
-            abort: true
+      - build-name:
+          name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
+      - timeout:
+          timeout: 400
+          abort: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{pod}-defaults'
-        - '{installer}-defaults'
-        - cperf-parameter:
-            testsuite: '{testsuite}'
-            gs-pathname: '{gs-pathname}'
-            docker-tag: '{docker-tag}'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{pod}-defaults'
+      - '{installer}-defaults'
+      - cperf-parameter:
+          testsuite: '{testsuite}'
+          gs-pathname: '{gs-pathname}'
+          docker-tag: '{docker-tag}'
 
     scm:
-        - git-scm
+      - git-scm
 
     builders:
-        - 'cperf-{testsuite}-builder'
+      - 'cperf-{testsuite}-builder'
 
 ########################
 # parameter macros
 - parameter:
     name: cperf-parameter
     parameters:
-        - string:
-            name: CPERF_SUITE_NAME
-            default: '{testsuite}'
-            description: "Suite name to run"
-        - string:
-            name: GS_PATHNAME
-            default: '{gs-pathname}'
-            description: "Version directory where the opnfv documents will be stored in gs repository"
-        - string:
-            name: CI_DEBUG
-            default: 'false'
-            description: "Show debug output information"
-        - string:
-            name: DOCKER_TAG
-            default: '{docker-tag}'
-            description: 'Tag to pull docker image'
+      - string:
+          name: CPERF_SUITE_NAME
+          default: '{testsuite}'
+          description: "Suite name to run"
+      - string:
+          name: GS_PATHNAME
+          default: '{gs-pathname}'
+          description: "Version directory where the opnfv documents will be stored in gs repository"
+      - string:
+          name: CI_DEBUG
+          default: 'false'
+          description: "Show debug output information"
+      - string:
+          name: DOCKER_TAG
+          default: '{docker-tag}'
+          description: 'Tag to pull docker image'
 
 ########################
 # trigger macros
 - builder:
     name: cperf-daily-builder
     builders:
-        - 'cperf-cleanup'
-        - 'cperf-robot-cbench'
+      - 'cperf-cleanup'
+      - 'cperf-robot-cbench'
 
 - builder:
     name: cperf-robot-cbench
     builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-            undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
-                              grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
-            INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
-
-            sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc
-            sudo chmod 755 /tmp/overcloudrc
-            source /tmp/overcloudrc
-
-            # robot suites need the ssh key to log in to controller nodes, so throwing it
-            # in tmp, and mounting /tmp as $HOME as far as robot is concerned
-            sudo rm -rf /tmp/.ssh
-            sudo mkdir /tmp/.ssh
-            sudo chmod 0700 /tmp/.ssh
-            sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/
-            sudo chown -R jenkins-ci:jenkins-ci /tmp/.ssh
-            # done with sudo. jenkins-ci is the user from this point
-            chmod 0600 /tmp/.ssh/id_rsa
-
-            # cbench requires the openflow drop test feature to be installed.
-            sshpass -p karaf ssh -o StrictHostKeyChecking=no \
-                                 -o UserKnownHostsFile=/dev/null \
-                                 -o LogLevel=error \
-                                 -p 8101 karaf@$SDN_CONTROLLER_IP \
-                                  feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test
-
-            docker pull opnfv/cperf:$DOCKER_TAG
-
-            robot_cmd="pybot -e exclude -L TRACE -d /tmp \
-                        -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \
-                        -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \
-                        -v BUNDLEFOLDER:/opt/opendaylight \
-                        -v RESTCONFPORT:8081 \
-                        -v USER_HOME:/tmp \
-                        -v USER:heat-admin \
-                        -v ODL_SYSTEM_USER:heat-admin \
-                        -v TOOLS_SYSTEM_IP:localhost \
-                        -v of_port:6653"
-            robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot"
-
-            docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite}
+      - shell: |
+          #!/bin/bash
+          set -o errexit
+          set -o nounset
+          set -o pipefail
+          undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
+                            grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
+          INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
+
+          sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc
+          sudo chmod 755 /tmp/overcloudrc
+          source /tmp/overcloudrc
+
+          # robot suites need the ssh key to log in to controller nodes, so throwing it
+          # in tmp, and mounting /tmp as $HOME as far as robot is concerned
+          sudo rm -rf /tmp/.ssh
+          sudo mkdir /tmp/.ssh
+          sudo chmod 0700 /tmp/.ssh
+          sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/
+          sudo chown -R jenkins-ci:jenkins-ci /tmp/.ssh
+          # done with sudo. jenkins-ci is the user from this point
+          chmod 0600 /tmp/.ssh/id_rsa
+
+          # cbench requires the openflow drop test feature to be installed.
+          sshpass -p karaf ssh -o StrictHostKeyChecking=no \
+                               -o UserKnownHostsFile=/dev/null \
+                               -o LogLevel=error \
+                               -p 8101 karaf@$SDN_CONTROLLER_IP \
+                                feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test
+
+          docker pull opnfv/cperf:$DOCKER_TAG
+
+          robot_cmd="pybot -e exclude -L TRACE -d /tmp \
+                      -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \
+                      -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \
+                      -v BUNDLEFOLDER:/opt/opendaylight \
+                      -v RESTCONFPORT:8081 \
+                      -v USER_HOME:/tmp \
+                      -v USER:heat-admin \
+                      -v ODL_SYSTEM_USER:heat-admin \
+                      -v TOOLS_SYSTEM_IP:localhost \
+                      -v of_port:6653"
+          robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot"
+
+          docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite}
 
 - builder:
     name: cperf-cleanup
     builders:
-        - shell: |
-            #!/bin/bash
-            [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
-            echo "Cleaning up docker containers/images..."
-            # Remove previous running containers if exist
-            if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then
-                echo "Removing existing opnfv/cperf containers..."
-                docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect}
-            fi
-
-            # Remove existing images if exist
-            if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then
-                echo "Docker images to remove:"
-                docker images | head -1 && docker images | grep opnfv/cperf >${redirect}
-                image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}'))
-                for tag in "${image_tags[@]}"; do
-                    echo "Removing docker image opnfv/cperf:$tag..."
-                    docker rmi opnfv/cperf:$tag >/dev/null
-                done
-            fi
+      - shell: |
+          #!/bin/bash
+          [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+
+          echo "Cleaning up docker containers/images..."
+          # Remove previous running containers if exist
+          if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then
+              echo "Removing existing opnfv/cperf containers..."
+              docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect}
+          fi
+
+          # Remove existing images if exist
+          if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then
+              echo "Docker images to remove:"
+              docker images | head -1 && docker images | grep opnfv/cperf >${redirect}
+              image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}'))
+              for tag in "${image_tags[@]}"; do
+                  echo "Removing docker image opnfv/cperf:$tag..."
+                  docker rmi opnfv/cperf:$tag >/dev/null
+              done
+          fi
index 32cfcfa..938fdf9 100644 (file)
@@ -25,7 +25,7 @@
         branch: 'stable/{stream}'
         dovetail-branch: master
         gs-pathname: '/{stream}'
-        docker-tag: 'cvp.0.5.0'
+        docker-tag: 'cvp.0.6.0'
 
 #-----------------------------------
 # POD, PLATFORM, AND BRANCH MAPPING
index 9be9fe5..57398fa 100755 (executable)
@@ -68,7 +68,7 @@ volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file
 
 set +e
 
-if ${FUNCTEST_SUITE_NAME} == 'healthcheck'; then
+if [ ${FUNCTEST_SUITE_NAME} == 'healthcheck' ]; then
     tiers=(healthcheck)
 else
     tiers=(healthcheck smoke features vnf)
index d344372..b1d7e74 100644 (file)
     name: functest-daily-builder
     builders:
         - 'functest-cleanup'
-        - 'set-functest-env'
+        - 'set-functest-env-alpine'
         - 'functest-daily'
         - 'functest-store-results'
-        - 'functest-exit'
 
 - builder:
     name: functest-suite-builder
     name: functest-daily
     builders:
         - shell:
-            !include-raw: ./functest-loop.sh
+            !include-raw: ./functest-alpine.sh
 
 
 - builder:
                 - ../../utils/fetch_os_creds.sh
                 - ./set-functest-env.sh
 
+- builder:
+    name: set-functest-env-alpine
+    builders:
+        - shell:
+            !include-raw:
+                - ./functest-env-presetup.sh
+                - ../../utils/fetch_os_creds.sh
+
 - builder:
     name: functest-store-results
     builders:
index f18f054..bb79dac 100755 (executable)
@@ -51,14 +51,15 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
     -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
     -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG} -e DEPLOY_TYPE=${DEPLOY_TYPE}"
 
-if [[ ${INSTALLER_TYPE} == 'fuel' && ! -z ${SALT_MASTER_IP} ]]; then
-  HOST_ARCH=$(ssh -l ubuntu ${SALT_MASTER_IP} -i ${SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
-  "sudo salt 'cmp*' grains.get cpuarch --out yaml |awk '{print \$2; exit}'")
-  envs="${envs} -e POD_ARCH=${HOST_ARCH}"
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+
+if [ "${INSTALLER_TYPE}" == 'fuel' ] && [ "$BRANCH" != 'stable/danube' ]; then
+    COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
+        "sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
+    envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}"
 fi
 
 if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} == *'os-nosdn-openo-ha'* ]]; then
-    ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
     openo_msb_port=${openo_msb_port:-80}
     openo_msb_endpoint="$(sshpass -p'root' ssh 2>/dev/null $ssh_options root@${installer_ip} \
     'mysql -ucompass -pcompass -Dcompass -e "select package_config from cluster;" \
index b64a41e..8c01a9f 100644 (file)
           name: INSTALLER_IP
           default: '10.20.0.2'
           description: 'IP of the installer'
-      - string:
-          name: SALT_MASTER_IP
-          default: '192.168.10.100'
-          description: 'IP of the salt master (for mcp deployments)'
       - string:
           name: SSH_KEY
           default: "/var/lib/opnfv/mcp.rsa"
index a4ee4d9..59c9461 100644 (file)
           default: https://gerrit.opnfv.org/gerrit/$PROJECT
           description: 'Git URL to use on this Jenkins Slave'
 
+- parameter:
+    name: 'flex-pod1-defaults'
+    parameters:
+      - node:
+          name: SLAVE_NAME
+          description: 'Slave name on Jenkins'
+          allowed-slaves:
+            - flex-pod1
+          default-slaves:
+            - flex-pod1
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          description: 'Git URL to use on this Jenkins Slave'
+
 #####################################################
 # These slaves are just dummy slaves for sandbox jobs
 #####################################################
index 1c7b8cd..ac04962 100644 (file)
@@ -1,3 +1,4 @@
+---
 ########################
 # Job configuration for joid
 ########################
 
     installer: '{name}'
 
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+    # -------------------------------
+    # BRANCH ANCHORS
+    # -------------------------------
     master: &master
-        stream: master
-        branch: '{stream}'
-        disabled: false
-        gs-pathname: ''
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-#        CI PODs
-#--------------------------------
+      stream: master
+      branch: '{stream}'
+      disabled: false
+      gs-pathname: ''
+    # -------------------------------
+    # POD, INSTALLER, AND BRANCH MAPPING
+    # -------------------------------
+    #        CI PODs
+    # -------------------------------
     pod:
-        - baremetal:
-            slave-label: joid-baremetal
-            <<: *master
-        - virtual:
-            slave-label: joid-virtual
-            <<: *master
-#--------------------------------
-#        None-CI PODs
-#--------------------------------
-        - orange-pod1:
-            slave-label: orange-pod1
-            <<: *master
-        - cengn-pod1:
-            slave-label: cengn-pod1
-            <<: *master
-#--------------------------------
-# scenarios
-#--------------------------------
+      - baremetal:
+          slave-label: joid-baremetal
+          <<: *master
+      - virtual:
+          slave-label: joid-virtual
+          <<: *master
+      # -------------------------------
+      #        None-CI PODs
+      # -------------------------------
+      - orange-pod1:
+          slave-label: orange-pod1
+          <<: *master
+      - cengn-pod1:
+          slave-label: cengn-pod1
+          <<: *master
+    # -------------------------------
+    # scenarios
+    # -------------------------------
     scenario:
-        - 'os-nosdn-nofeature-noha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
-        - 'os-nosdn-nofeature-ha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
-        - 'os-nosdn-lxd-ha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
-        - 'os-nosdn-lxd-noha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
-        - 'os-odl_l2-nofeature-ha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'os-onos-nofeature-ha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'os-odl_l2-nofeature-noha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'os-onos-nofeature-noha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'os-onos-sfc-ha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'os-ocl-nofeature-ha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'os-ocl-nofeature-noha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'k8-nosdn-nofeature-noha':
-            auto-trigger-name: 'daily-trigger-disabled'
-        - 'k8-nosdn-lb-noha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
-        - 'k8-ovn-lb-noha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
-        - 'os-nosdn-openbaton-ha':
-            auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'os-nosdn-nofeature-noha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'os-nosdn-nofeature-ha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'os-nosdn-lxd-ha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'os-nosdn-lxd-noha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'os-odl_l2-nofeature-ha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'os-onos-nofeature-ha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'os-odl_l2-nofeature-noha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'os-onos-nofeature-noha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'os-onos-sfc-ha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'os-ocl-nofeature-ha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'os-ocl-nofeature-noha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'k8-nosdn-nofeature-noha':
+          auto-trigger-name: 'daily-trigger-disabled'
+      - 'k8-nosdn-lb-noha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'k8-ovn-lb-noha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+      - 'os-nosdn-openbaton-ha':
+          auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
 
     jobs:
-        - 'joid-{scenario}-{pod}-daily-{stream}'
-        - 'joid-deploy-{pod}-daily-{stream}'
+      - 'joid-{scenario}-{pod}-daily-{stream}'
+      - 'joid-deploy-{pod}-daily-{stream}'
 
 ########################
 # job templates
     concurrent: false
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 4
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'joid-os-.*?-{pod}-daily-.*'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'joid-os-.*?-{pod}-daily-.*'
+          block-level: 'NODE'
 
     wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+      - build-name:
+          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     triggers:
-        - '{auto-trigger-name}'
+      - '{auto-trigger-name}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{installer}-defaults'
-        - '{slave-label}-defaults':
-            installer: '{installer}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: '{scenario}'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - '{slave-label}-defaults':
+          installer: '{installer}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
 
     builders:
-        - description-setter:
-            description: "POD: $NODE_NAME"
-        - trigger-builds:
-            - project: 'joid-deploy-{pod}-daily-{stream}'
-              current-parameters: true
-              predefined-parameters:
-                DEPLOY_SCENARIO={scenario}
-              same-node: true
-              block: true
-        - trigger-builds:
-            - project: 'functest-joid-{pod}-daily-{stream}'
-              current-parameters: false
-              predefined-parameters:
-                DEPLOY_SCENARIO={scenario}
-              block: true
-              same-node: true
-              block-thresholds:
-                build-step-failure-threshold: 'never'
-                failure-threshold: 'never'
-                unstable-threshold: 'FAILURE'
-        - trigger-builds:
-            - project: 'yardstick-joid-{pod}-daily-{stream}'
-              current-parameters: false
-              predefined-parameters:
-                DEPLOY_SCENARIO={scenario}
-              block: true
-              same-node: true
-              block-thresholds:
-                build-step-failure-threshold: 'never'
-                failure-threshold: 'never'
-                unstable-threshold: 'FAILURE'
-        # 1.dovetail only master by now, not sync with A/B/C branches
-        # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
-        # 3.only debug testsuite here(includes basic testcase,
-        #   i.e. one tempest smoke ipv6, two vping from functest)
-        # 4.not used for release criteria or compliance,
-        #   only to debug the dovetail tool bugs with joid
-        #- trigger-builds:
-        #    - project: 'dovetail-joid-{pod}-proposed_tests-{stream}'
-        #      current-parameters: false
-        #      predefined-parameters:
-        #        DEPLOY_SCENARIO={scenario}
-        #      block: true
-        #      same-node: true
-        #      block-thresholds:
-        #        build-step-failure-threshold: 'never'
-        #        failure-threshold: 'never'
-        #        unstable-threshold: 'FAILURE'
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - trigger-builds:
+          - project: 'joid-deploy-{pod}-daily-{stream}'
+            current-parameters: true
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+            same-node: true
+            block: true
+      - trigger-builds:
+          - project: 'functest-joid-{pod}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+            block: true
+            same-node: true
+            block-thresholds:
+              build-step-failure-threshold: 'never'
+              failure-threshold: 'never'
+              unstable-threshold: 'FAILURE'
+      - trigger-builds:
+          - project: 'yardstick-joid-{pod}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+            block: true
+            same-node: true
+            block-thresholds:
+              build-step-failure-threshold: 'never'
+              failure-threshold: 'never'
+              unstable-threshold: 'FAILURE'
+# 1.dovetail only master by now, not sync with A/B/C branches
+# 2.here the stream means the SUT stream, dovetail stream is defined in
+#   its own job
+# 3.only debug testsuite here(includes basic testcase,
+#   i.e. one tempest smoke ipv6, two vping from functest)
+# 4.not used for release criteria or compliance,
+#   only to debug the dovetail tool bugs with joid
+# - trigger-builds:
+#     - project: 'dovetail-joid-{pod}-proposed_tests-{stream}'
+#       current-parameters: false
+#       predefined-parameters:
+#         DEPLOY_SCENARIO={scenario}
+#       block: true
+#       same-node: true
+#       block-thresholds:
+#         build-step-failure-threshold: 'never'
+#         failure-threshold: 'never'
+#         unstable-threshold: 'FAILURE'
 
 - job-template:
     name: 'joid-deploy-{pod}-daily-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 4
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'joid-deploy-{pod}-daily-.*'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'joid-deploy-{pod}-daily-.*'
+          block-level: 'NODE'
 
     wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-        - timeout:
-            timeout: 180
-            fail: true
+      - build-name:
+          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+      - timeout:
+          timeout: 180
+          fail: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{installer}-defaults'
-        - '{slave-label}-defaults':
-            installer: '{installer}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: 'os-odl_l2-nofeature-ha'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - '{slave-label}-defaults':
+          installer: '{installer}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'os-odl_l2-nofeature-ha'
 
     scm:
-        - git-scm
+      - git-scm
 
     builders:
-        - description-setter:
-            description: "POD: $NODE_NAME"
-        - 'builder-macro'
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - 'builder-macro'
 ########################
 # builder macros
 ########################
 - builder:
     name: 'builder-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-            echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
-            echo
-            echo "------ First Executing clean.sh ------"
-            cd $WORKSPACE/ci
-            ./clean.sh
-        - shell:
-            !include-raw: ./joid-deploy.sh
+      - shell: |
+          #!/bin/bash
+          echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
+          echo
+          echo "------ First Executing clean.sh ------"
+          cd $WORKSPACE/ci
+          ./clean.sh
+      - shell:
+          !include-raw: ./joid-deploy.sh
 
 ########################
 # trigger macros
 - trigger:
     name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
     triggers:
-        - timed: '5 2 * * *'
+      - timed: '5 2 * * *'
 - trigger:
     name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-nofeature-ha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-nofeature-ha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # os-odl_l2-nofeature-ha trigger - branch: master
 - trigger:
     name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
     triggers:
-        - timed: '5 7 * * *'
+      - timed: '5 7 * * *'
 - trigger:
     name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-odl_l2-nofeature-ha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # os-onos-nofeature-ha trigger - branch: master
 - trigger:
     name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger'
     triggers:
-        - timed: '5 12 * * *'
+      - timed: '5 12 * * *'
 - trigger:
     name: 'joid-os-onos-nofeature-ha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-onos-nofeature-ha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-onos-nofeature-ha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # os-onos-sfc-ha trigger - branch: master
 - trigger:
     name: 'joid-os-onos-sfc-ha-baremetal-master-trigger'
     triggers:
-        - timed: '5 17 * * *'
+      - timed: '5 17 * * *'
 - trigger:
     name: 'joid-os-onos-sfc-ha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-onos-sfc-ha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-onos-sfc-ha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # os-nosdn-lxd-noha trigger - branch: master
 - trigger:
     name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger'
     triggers:
-        - timed: '5 22 * * *'
+      - timed: '5 22 * * *'
 - trigger:
     name: 'joid-os-nosdn-lxd-noha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-lxd-noha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-lxd-noha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # os-nosdn-lxd-ha trigger - branch: master
 - trigger:
     name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger'
     triggers:
-        - timed: '5 10 * * *'
+      - timed: '5 10 * * *'
 - trigger:
     name: 'joid-os-nosdn-lxd-ha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-lxd-ha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-lxd-ha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # os-nosdn-nofeature-noha trigger - branch: master
 - trigger:
     name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger'
     triggers:
-        - timed: '5 4 * * *'
+      - timed: '5 4 * * *'
 - trigger:
     name: 'joid-os-nosdn-nofeature-noha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-nofeature-noha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-nofeature-noha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # k8-nosdn-nofeature-noha trigger - branch: master
 - trigger:
     name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger'
     triggers:
-        - timed: '5 15 * * *'
+      - timed: '5 15 * * *'
 - trigger:
     name: 'joid-k8-nosdn-nofeature-noha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-k8-nosdn-nofeature-noha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # k8-nosdn-lb-noha trigger - branch: master
 - trigger:
     name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger'
     triggers:
-        - timed: '5 20 * * *'
+      - timed: '5 20 * * *'
 - trigger:
     name: 'joid-k8-nosdn-lb-noha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-k8-nosdn-lb-noha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-k8-nosdn-lb-noha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # k8-ovn-lb-noha trigger - branch: master
 - trigger:
     name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger'
     triggers:
-        - timed: '5 17 * * *'
+      - timed: '5 17 * * *'
 - trigger:
     name: 'joid-k8-ovn-lb-noha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-k8-ovn-lb-noha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-k8-ovn-lb-noha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 
 # os-nosdn-openbaton-ha trigger - branch: master
 - trigger:
     name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger'
     triggers:
-        - timed: '5 25 * * *'
+      - timed: '5 25 * * *'
 - trigger:
     name: 'joid-os-nosdn-openbaton-ha-virtual-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-openbaton-ha-orange-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 - trigger:
     name: 'joid-os-nosdn-openbaton-ha-cengn-pod1-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
index 03fab55..3b30cb6 100644 (file)
@@ -1,37 +1,38 @@
+---
 - project:
     name: 'joid-verify-jobs'
 
     project: 'joid'
 
     installer: 'joid'
-#####################################
-# branch definitions
-#####################################
+    #####################################
+    # branch definitions
+    #####################################
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
-        - danube:
-            branch: 'stable/{stream}'
-            gs-pathname: '/{stream}'
-            disabled: false
-#####################################
-# patch verification phases
-#####################################
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+      - danube:
+          branch: 'stable/{stream}'
+          gs-pathname: '/{stream}'
+          disabled: false
+    #####################################
+    # patch verification phases
+    #####################################
     phase:
-        - 'basic':
-            slave-label: 'opnfv-build-ubuntu'
-        - 'deploy-virtual':
-            slave-label: 'joid-virtual'
-        - 'smoke-test':
-            slave-label: 'joid-virtual'
-#####################################
-# jobs
-#####################################
+      - 'basic':
+          slave-label: 'opnfv-build-ubuntu'
+      - 'deploy-virtual':
+          slave-label: 'joid-virtual'
+      - 'smoke-test':
+          slave-label: 'joid-virtual'
+    #####################################
+    # jobs
+    #####################################
     jobs:
-        - 'joid-verify-{stream}'
-        - 'joid-verify-{phase}-{stream}'
+      - 'joid-verify-{stream}'
+      - 'joid-verify-{phase}-{stream}'
 #####################################
 # job templates
 #####################################
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 4
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'joid-verify-master'
-                - 'joid-verify-danube'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'joid-verify-master'
+            - 'joid-verify-danube'
+          block-level: 'NODE'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     wrappers:
-        - ssh-agent-wrapper
-        - timeout:
-            timeout: 360
-            fail: true
+      - ssh-agent-wrapper
+      - timeout:
+          timeout: 360
+          fail: true
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            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: '**/{branch}'
-                disable-strict-forbidden-file-verification: 'true'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**|.gitignore'
-            readable-message: true
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          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: '**/{branch}'
+              disable-strict-forbidden-file-verification: 'true'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: 'docs/**|.gitignore'
+          readable-message: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'joid-virtual-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'joid-virtual-defaults'
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - multijob:
-            name: basic
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-verify-basic-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: deploy-virtual
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-verify-deploy-virtual-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: smoke-test
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-verify-smoke-test-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - multijob:
+          name: basic
+          condition: SUCCESSFUL
+          projects:
+            - name: 'joid-verify-basic-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                BRANCH=$BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: deploy-virtual
+          condition: SUCCESSFUL
+          projects:
+            - name: 'joid-verify-deploy-virtual-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                BRANCH=$BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: smoke-test
+          condition: SUCCESSFUL
+          projects:
+            - name: 'joid-verify-smoke-test-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                BRANCH=$BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
 
 - job-template:
     name: 'joid-verify-{phase}-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 4
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'joid-verify-deploy-.*'
-                - 'joid-verify-test-.*'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'joid-verify-deploy-.*'
+            - 'joid-verify-test-.*'
+          block-level: 'NODE'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     wrappers:
-        - ssh-agent-wrapper
-        - timeout:
-            timeout: 360
-            fail: true
+      - ssh-agent-wrapper
+      - timeout:
+          timeout: 360
+          fail: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{installer}-defaults'
-        - '{slave-label}-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - '{slave-label}-defaults'
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - '{project}-verify-{phase}-macro'
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - '{project}-verify-{phase}-macro'
 #####################################
 # builder macros
 #####################################
 - builder:
     name: 'joid-verify-basic-macro'
     builders:
-        - shell: |
-            #!/bin/bash
+      - shell: |
+          #!/bin/bash
 
-            echo "Not activated!"
+          echo "Not activated!"
 
 - builder:
     name: 'joid-verify-deploy-virtual-macro'
     builders:
-        - shell: |
-            #!/bin/bash
+      - shell: |
+          #!/bin/bash
 
-            echo "Not activated!"
+          echo "Not activated!"
 
 - builder:
     name: 'joid-verify-smoke-test-macro'
     builders:
-        - shell: |
-            #!/bin/bash
+      - shell: |
+          #!/bin/bash
 
-            echo "Not activated!"
+          echo "Not activated!"
index 85486c8..62776d5 100644 (file)
@@ -1,18 +1,19 @@
+---
 - project:
     name: nfvbench
 
     project: '{name}'
 
     jobs:
-        - 'nfvbench-build-{stream}'
-        - 'nfvbench-verify-{stream}'
+      - 'nfvbench-build-{stream}'
+      - 'nfvbench-verify-{stream}'
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
-            docker-tag: 'latest'
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+          docker-tag: 'latest'
 
 - job-template:
     name: 'nfvbench-build-{stream}'
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/$PROJECT
-            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      # yamllint disable rule:line-length
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+      # yamllint enable rule:line-length
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            trigger-on:
-                - comment-added-contains-event:
-                    comment-contains-value: 'buildvm'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: 'buildvm'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
 
     builders:
-        - shell: |
-            cd $WORKSPACE/nfvbenchvm/dib
-            bash build-image.sh
+      - shell: |
+          cd $WORKSPACE/nfvbenchvm/dib
+          bash build-image.sh
 
 - job-template:
     name: 'nfvbench-verify-{stream}'
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/$PROJECT
-            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      # yamllint disable rule:line-length
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+      # yamllint enable rule:line-length
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            trigger-on:
-                - patchset-created-event:
-                    exclude-drafts: 'false'
-                    exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: 'false'
+                exclude-trivial-rebase: 'false'
+                exclude-no-code-change: 'false'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
 
     builders:
-        - shell: |
-            echo "pass"
-
-
+      - shell: |
+          echo "pass"
index 596d377..d0dd052 100644 (file)
@@ -1,31 +1,32 @@
+---
 - project:
     name: 'opera-daily-jobs'
 
     project: 'opera'
 
-#####################################
-# branch definitions
-#####################################
+    #####################################
+    # branch definitions
+    #####################################
     master: &master
-        stream: master
-        branch: '{stream}'
-        gs-pathname: ''
-        disabled: false
+      stream: master
+      branch: '{stream}'
+      gs-pathname: ''
+      disabled: false
 
-#####################################
-# pod definitions
-#####################################
+    #####################################
+    # pod definitions
+    #####################################
     pod:
-        - virtual:
-            slave-label: 'huawei-virtual7'
-            os-version: 'xenial'
-            <<: *master
+      - virtual:
+          slave-label: 'huawei-virtual7'
+          os-version: 'xenial'
+          <<: *master
 
-#####################################
-# jobs
-#####################################
+    #####################################
+    # jobs
+    #####################################
     jobs:
-        - 'opera-{pod}-daily-{stream}'
+      - 'opera-{pod}-daily-{stream}'
 
 #####################################
 # job templates
     concurrent: false
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     scm:
-        - git-scm
+      - git-scm
 
     wrappers:
-        - ssh-agent-wrapper
-
-        - timeout:
-            timeout: 240
-            fail: true
+      - ssh-agent-wrapper
+      - timeout:
+          timeout: 240
+          fail: true
 
     triggers:
-         - timed: '@midnight'
+      - timed: '@midnight'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: os-nosdn-openo-ha
-        - '{slave-label}-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: os-nosdn-openo-ha
+      - '{slave-label}-defaults'
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'compass-deploy-{pod}-daily-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-nosdn-openo-ha
-                    COMPASS_OS_VERSION=xenial
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: functest
-            condition: SUCCESSFUL
-            projects:
-                - name: 'functest-compass-{pod}-suite-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-nosdn-openo-ha
-                    FUNCTEST_SUITE_NAME=opera_vims
-                  node-parameters: true
-                  kill-phase-on: NEVER
-                  abort-all-job: true
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - multijob:
+          name: deploy
+          condition: SUCCESSFUL
+          projects:
+            - name: 'compass-deploy-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-nosdn-openo-ha
+                COMPASS_OS_VERSION=xenial
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: functest
+          condition: SUCCESSFUL
+          projects:
+            - name: 'functest-compass-{pod}-suite-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-nosdn-openo-ha
+                FUNCTEST_SUITE_NAME=opera_vims
+              node-parameters: true
+              kill-phase-on: NEVER
+              abort-all-job: true
index 38efbc1..f866342 100644 (file)
@@ -1,3 +1,4 @@
+---
 - project:
 
     name: opera-project
@@ -5,12 +6,12 @@
     project: 'opera'
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
 
     jobs:
-        - 'opera-build-{stream}'
+      - 'opera-build-{stream}'
 
 ########################
 # job templates
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'opnfv-build-ubuntu-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'opnfv-build-ubuntu-defaults'
 
     scm:
-        - git-scm
+      - git-scm
 
     triggers:
-        - timed: 'H 23 * * *'
+      - timed: 'H 23 * * *'
 
     builders:
-        - 'opera-build-macro'
+      - 'opera-build-macro'
 
 #####################################
 # builder macros
@@ -49,9 +50,7 @@
 - builder:
     name: 'opera-build-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello world!"
-
+      - shell: |
+          #!/bin/bash
 
+          echo "Hello world!"
index 4da41d8..ad93d46 100644 (file)
@@ -1,30 +1,31 @@
+---
 - project:
     name: 'opera-verify-jobs'
 
     project: 'opera'
 
-#####################################
-# branch definitions
-#####################################
+    #####################################
+    # branch definitions
+    #####################################
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
-
-#####################################
-# patch verification phases
-#####################################
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+
+    #####################################
+    # patch verification phases
+    #####################################
     phase:
-        - 'basic'
-        - 'deploy'
+      - 'basic'
+      - 'deploy'
 
-#####################################
-# jobs
-#####################################
+    #####################################
+    # jobs
+    #####################################
     jobs:
-        - 'opera-verify-{stream}'
-        - 'opera-verify-{phase}-{stream}'
+      - 'opera-verify-{stream}'
+      - 'opera-verify-{phase}-{stream}'
 #####################################
 # job templates
 #####################################
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     wrappers:
-        - ssh-agent-wrapper
-        - timeout:
-            timeout: 120
-            fail: true
+      - ssh-agent-wrapper
+      - timeout:
+          timeout: 120
+          fail: true
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            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: '**/{branch}'
-                file-paths:
-                  - compare-type: ANT
-                    pattern: '**/*'
-                disable-strict-forbidden-file-verification: 'true'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**'
-            readable-message: true
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          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: '**/{branch}'
+              file-paths:
+                - compare-type: ANT
+                  pattern: '**/*'
+              disable-strict-forbidden-file-verification: 'true'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: 'docs/**'
+          readable-message: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - 'huawei-pod7-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - 'huawei-pod7-defaults'
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - multijob:
-            name: basic
-            condition: SUCCESSFUL
-            projects:
-                - name: 'opera-verify-basic-{stream}'
-                  current-parameters: true
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'opera-verify-deploy-{stream}'
-                  current-parameters: true
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - multijob:
+          name: basic
+          condition: SUCCESSFUL
+          projects:
+            - name: 'opera-verify-basic-{stream}'
+              current-parameters: true
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: deploy
+          condition: SUCCESSFUL
+          projects:
+            - name: 'opera-verify-deploy-{stream}'
+              current-parameters: true
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
 
 - job-template:
     name: 'opera-verify-{phase}-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-per-node: 1
+          option: 'project'
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     wrappers:
-        - ssh-agent-wrapper
-        - timeout:
-            timeout: 120
-            fail: true
+      - ssh-agent-wrapper
+      - timeout:
+          timeout: 120
+          fail: true
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - '{project}-verify-{phase}-macro'
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - '{project}-verify-{phase}-macro'
 
 #####################################
 # builder macros
 - builder:
     name: 'opera-verify-basic-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-            echo "Hello world!"
+      - shell: |
+          #!/bin/bash
+          echo "Hello world!"
 
 - builder:
     name: 'opera-verify-deploy-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-            echo "Hello world!"
-
+      - shell: |
+          #!/bin/bash
+          echo "Hello world!"
index 864626b..f81feab 100644 (file)
@@ -1,14 +1,15 @@
+---
 - project:
     name: docs-rtd
     jobs:
-        - 'docs-merge-rtd-{stream}'
-        - 'docs-verify-rtd-{stream}'
+      - 'docs-merge-rtd-{stream}'
+      - 'docs-verify-rtd-{stream}'
 
     stream:
-        - master:
-            branch: 'master'
-        - danube:
-            branch: 'stable/{stream}'
+      - master:
+          branch: 'master'
+      - danube:
+          branch: 'stable/{stream}'
 
     project: 'opnfvdocs'
     rtdproject: 'opnfv'
     project-type: freestyle
 
     parameters:
-        - label:
-            name: SLAVE_LABEL
-            default: 'lf-build1'
-            description: 'Slave label on Jenkins'
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
+      - label:
+          name: SLAVE_LABEL
+          default: 'lf-build1'
+          description: 'Slave label on Jenkins'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
 
     triggers:
-        - gerrit-trigger-change-merged:
-            project: '**'
-            branch: '{branch}'
-            files: 'docs/**/*.*'
+      - gerrit-trigger-change-merged:
+          project: '**'
+          branch: '{branch}'
+          files: 'docs/**/*.*'
 
     builders:
-        - shell: |
-            if [ $GERRIT_BRANCH == "master" ]; then
-              RTD_BUILD_VERSION=latest
-            else
-              RTD_BUILD_VERSION=${{GERRIT_BRANCH/\//-}}
-            fi
-            curl -X POST --data "version_slug=$RTD_BUILD_VERSION" https://readthedocs.org/build/opnfvdocsdemo
+      - shell: |
+          if [ $GERRIT_BRANCH == "master" ]; then
+            RTD_BUILD_VERSION=latest
+          else
+            RTD_BUILD_VERSION=${{GERRIT_BRANCH/\//-}}
+          fi
+          curl -X POST --data "version_slug=$RTD_BUILD_VERSION" https://readthedocs.org/build/opnfvdocsdemo
 
 
 - job-template:
     project-type: freestyle
 
     parameters:
-        - label:
-            name: SLAVE_LABEL
-            default: 'lf-build2'
-            description: 'Slave label on Jenkins'
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/opnfvdocs
-            description: 'Git URL to use on this Jenkins Slave'
+      - label:
+          name: SLAVE_LABEL
+          default: 'lf-build2'
+          description: 'Slave label on Jenkins'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/opnfvdocs
+          description: 'Git URL to use on this Jenkins Slave'
+
     scm:
-        - git-scm-with-submodules:
-            branch: '{branch}'
+      - git-scm-with-submodules:
+          branch: '{branch}'
 
     triggers:
-        - gerrit-trigger-patchset-created:
-            server: 'gerrit.opnfv.org'
-            project: '**'
-            branch: '{branch}'
-            files: 'docs/**/*.*'
-        - timed: 'H H * * *'
+      - gerrit-trigger-patchset-created:
+          server: 'gerrit.opnfv.org'
+          project: '**'
+          branch: '{branch}'
+          files: 'docs/**/*.*'
+      - timed: 'H H * * *'
 
     builders:
-        - shell: |
-            if [ "$GERRIT_PROJECT" != "opnfvdocs" ]; then
-                cd docs/submodules/$GERRIT_PROJECT
-                git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
-            else
-                git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
-            fi
-        - shell: |
-            sudo pip install virtualenv 
-            virtualenv $WORKSPACE/venv
-            . $WORKSPACE/venv/bin/activate
-            pip install --upgrade pip
-            pip freeze
-            pip install tox
-            tox -edocs
+      - shell: |
+          if [ "$GERRIT_PROJECT" != "opnfvdocs" ]; then
+              cd docs/submodules/$GERRIT_PROJECT
+              git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
+          else
+              git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
+          fi
+      - shell: |
+          sudo pip install virtualenv
+          virtualenv $WORKSPACE/venv
+          . $WORKSPACE/venv/bin/activate
+          pip install --upgrade pip
+          pip freeze
+          pip install tox
+          tox -edocs
index fc825ff..6f63db9 100644 (file)
@@ -1,3 +1,4 @@
+---
 ########################
 # Job configuration for opnfvdocs
 ########################
@@ -8,19 +9,19 @@
     project: '{name}'
 
     jobs:
-        - 'opnfvdocs-verify-shellcheck-{stream}'
-        - 'opnfvdocs-merge-shellcheck-{stream}'
-        - 'opnfvdocs-daily-{stream}'
+      - 'opnfvdocs-verify-shellcheck-{stream}'
+      - 'opnfvdocs-merge-shellcheck-{stream}'
+      - 'opnfvdocs-daily-{stream}'
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
-        - danube:
-            branch: 'stable/{stream}'
-            gs-pathname: '/{stream}'
-            disabled: false
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+      - danube:
+          branch: 'stable/{stream}'
+          gs-pathname: '/{stream}'
+          disabled: false
 
 ########################
 # job templates
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: $GERRIT_PROJECT
-            branch: '{branch}'
-        - string:
-            name: GIT_CLONE_BASE
-            default: ssh://gerrit.opnfv.org:29418
-            description: "Used for overriding the GIT URL coming from parameters macro."
+      - project-parameter:
+          project: $GERRIT_PROJECT
+          branch: '{branch}'
+      - string:
+          name: GIT_CLONE_BASE
+          default: ssh://gerrit.opnfv.org:29418
+          description: "Used for overriding the GIT URL coming from parameters macro."
 
     scm:
-        - git-scm-gerrit
+      - git-scm-gerrit
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            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: 'REG_EXP'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-            skip-vote:
-                successful: true
-                failed: true
-                unstable: true
-                notbuilt: true
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          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: 'REG_EXP'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+          skip-vote:
+            successful: true
+            failed: true
+            unstable: true
+            notbuilt: true
 
     builders:
-        - check-bash-syntax
+      - check-bash-syntax
 
 - job-template:
     name: 'opnfvdocs-merge-shellcheck-{stream}'
     disabled: '{obj:disabled}'
 
     parameters:
-        - project-parameter:
-            project: $GERRIT_PROJECT
-            branch: '{branch}'
-        - string:
-            name: GIT_CLONE_BASE
-            default: ssh://gerrit.opnfv.org:29418
-            description: "Used for overriding the GIT URL coming from parameters macro."
-        - string:
-            name: GS_URL
-            default: '$GS_BASE{gs-pathname}'
-            description: "Directory where the build artifact will be located upon the completion of the build."
+      - project-parameter:
+          project: $GERRIT_PROJECT
+          branch: '{branch}'
+      - string:
+          name: GIT_CLONE_BASE
+          default: ssh://gerrit.opnfv.org:29418
+          description: "Used for overriding the GIT URL coming from parameters macro."
+      - string:
+          name: GS_URL
+          default: '$GS_BASE{gs-pathname}'
+          description: "Directory where the build artifact will be located upon the completion of the build."
 
     scm:
-        - git-scm
+      - git-scm
 
     triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            trigger-on:
-                - change-merged-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'remerge'
-            projects:
-              - project-compare-type: 'REG_EXP'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          trigger-on:
+            - change-merged-event
+            - comment-added-contains-event:
+                comment-contains-value: 'remerge'
+          projects:
+            - project-compare-type: 'REG_EXP'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
 
     builders:
-        - check-bash-syntax
+      - check-bash-syntax
 
 - job-template:
     name: 'opnfvdocs-daily-{stream}'
     disabled: true
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: GS_URL
-            default: '$GS_BASE{gs-pathname}'
-            description: "Directory where the build artifact will be located upon the completion of the build."
-        - string:
-            name: GIT_CLONE_BASE
-            default: ssh://gerrit.opnfv.org:29418
-            description: "Used for overriding the GIT URL coming from parameters macro."
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - string:
+          name: GS_URL
+          default: '$GS_BASE{gs-pathname}'
+          description: "Directory where the build artifact will be located upon the completion of the build."
+      - string:
+          name: GIT_CLONE_BASE
+          default: ssh://gerrit.opnfv.org:29418
+          description: "Used for overriding the GIT URL coming from parameters macro."
 
     scm:
-        - git-scm
+      - git-scm
 
     triggers:
-        - timed: '0 H/6 * * *'
+      - timed: '0 H/6 * * *'
 
     builders:
-        - build-html-and-pdf-docs-output
-#        - upload-generated-docs-to-opnfv-artifacts
+      - build-html-and-pdf-docs-output
+#     - upload-generated-docs-to-opnfv-artifacts
index 6baaab8..74c997c 100644 (file)
@@ -1,3 +1,4 @@
+---
 ###################################
 # job configuration for orchestra
 ###################################
@@ -6,26 +7,26 @@
 
     project: 'orchestra'
 
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+    # -------------------------------
+    # BRANCH ANCHORS
+    # -------------------------------
     master: &master
-        stream: master
-        branch: '{stream}'
-        gs-pathname: ''
-        disabled: false
+      stream: master
+      branch: '{stream}'
+      gs-pathname: ''
+      disabled: false
 
-#-------------------------------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#-------------------------------------------------------
+    # ------------------------------------------------------
+    # POD, INSTALLER, AND BRANCH MAPPING
+    # ------------------------------------------------------
     pod:
-        - virtual:
-            slave-label: 'joid-virtual'
-            os-version: 'xenial'
-            <<: *master
+      - virtual:
+          slave-label: 'joid-virtual'
+          os-version: 'xenial'
+          <<: *master
 
     jobs:
-        - 'orchestra-{pod}-daily-{stream}'
+      - 'orchestra-{pod}-daily-{stream}'
 
 ################################
 # job template
     concurrent: false
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     scm:
-        - git-scm
+      - git-scm
 
     wrappers:
-        - ssh-agent-wrapper
+      - ssh-agent-wrapper
 
-        - timeout:
-            timeout: 240
-            fail: true
+      - timeout:
+          timeout: 240
+          fail: true
 
     triggers:
-         - timed: '@daily'
+      - timed: '@daily'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: os-nosdn-openbaton-ha
-        - '{slave-label}-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: os-nosdn-openbaton-ha
+      - '{slave-label}-defaults'
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-deploy-{pod}-daily-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-nosdn-openbaton-ha
-                    COMPASS_OS_VERSION=xenial
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: functest
-            condition: SUCCESSFUL
-            projects:
-                - name: 'functest-joid-{pod}-daily-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-nosdn-openbaton-ha
-                    FUNCTEST_SUITE_NAME=orchestra_ims
-                  node-parameters: true
-                  kill-phase-on: NEVER
-                  abort-all-job: true
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - multijob:
+          name: deploy
+          condition: SUCCESSFUL
+          projects:
+            - name: 'joid-deploy-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-nosdn-openbaton-ha
+                COMPASS_OS_VERSION=xenial
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: functest
+          condition: SUCCESSFUL
+          projects:
+            - name: 'functest-joid-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-nosdn-openbaton-ha
+                FUNCTEST_SUITE_NAME=orchestra_ims
+              node-parameters: true
+              kill-phase-on: NEVER
+              abort-all-job: true
index 0f0c0f6..60732ce 100644 (file)
@@ -1,3 +1,4 @@
+---
 - project:
 
     name: orchestra-project
@@ -5,12 +6,12 @@
     project: 'orchestra'
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
 
     jobs:
-        - 'orchestra-build-{stream}'
+      - 'orchestra-build-{stream}'
 
 - job-template:
     name: 'orchestra-build-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
 
     scm:
-        - git-scm
+      - git-scm
 
     triggers:
-        - timed: 'H 23 * * *'
+      - timed: 'H 23 * * *'
 
     builders:
-        - 'orchestra-build-macro'
+      - 'orchestra-build-macro'
 
 - builder:
     name: 'orchestra-build-macro'
     builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello world!"
-
+      - shell: |
+          #!/bin/bash
 
+          echo "Hello world!"
index ed6df41..a4c5865 100644 (file)
@@ -1,22 +1,23 @@
+---
 - project:
     name: 'ovn4nfv-daily-jobs'
 
     project: 'ovn4nfv'
 
     master: &master
-        stream: master
-        branch: '{stream}'
-        gs-pathname: ''
-        disabled: false
+      stream: master
+      branch: '{stream}'
+      gs-pathname: ''
+      disabled: false
 
     pod:
-        - virtual:
-            slave-label: 'joid-virtual'
-            os-version: 'xenial'
-            <<: *master
+      - virtual:
+          slave-label: 'joid-virtual'
+          os-version: 'xenial'
+          <<: *master
 
     jobs:
-        - 'ovn4nfv-{pod}-daily-{stream}'
+      - 'ovn4nfv-{pod}-daily-{stream}'
 
 - job-template:
     name: 'ovn4nfv-{pod}-daily-{stream}'
     concurrent: false
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     scm:
-        - git-scm
+      - git-scm
 
     wrappers:
-        - ssh-agent-wrapper
+      - ssh-agent-wrapper
 
-        - timeout:
-            timeout: 240
-            fail: true
+      - timeout:
+          timeout: 240
+          fail: true
 
     triggers:
-         - timed: '@daily'
+      - timed: '@daily'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: os-ovn-nofeature-noha
-        - '{slave-label}-defaults'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: os-ovn-nofeature-noha
+      - '{slave-label}-defaults'
 
     builders:
-        - description-setter:
-            description: "Built on $NODE_NAME"
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-deploy-{pod}-daily-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-ovn-nofeature-noha
-                    COMPASS_OS_VERSION=xenial
-                  node-parameters: true
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: functest
-            condition: SUCCESSFUL
-            projects:
-                - name: 'functest-joid-{pod}-daily-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO=os-ovn-nofeature-ha
-                    FUNCTEST_SUITE_NAME=ovn4nfv_test_suite
-                  node-parameters: true
-                  kill-phase-on: NEVER
-                  abort-all-job: true
-
+      - description-setter:
+          description: "Built on $NODE_NAME"
+      - multijob:
+          name: deploy
+          condition: SUCCESSFUL
+          projects:
+            - name: 'joid-deploy-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-ovn-nofeature-noha
+                COMPASS_OS_VERSION=xenial
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: functest
+          condition: SUCCESSFUL
+          projects:
+            - name: 'functest-joid-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters: |
+                DEPLOY_SCENARIO=os-ovn-nofeature-ha
+                FUNCTEST_SUITE_NAME=ovn4nfv_test_suite
+              node-parameters: true
+              kill-phase-on: NEVER
+              abort-all-job: true
index 805aa04..8c82cac 100644 (file)
@@ -1,3 +1,4 @@
+---
 - project:
     name: ovn4nfv
 
@@ -5,13 +6,13 @@
 
 
     stream:
-        - master:
-            branch: '{stream}'
-            gs-pathname: ''
-            disabled: false
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
 
     jobs:
-        - 'ovn4nfv-build-{stream}'
+      - 'ovn4nfv-build-{stream}'
 
 - job-template:
     name: 'ovn4nfv-build-{stream}'
     disabled: '{obj:disabled}'
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-            option: 'project'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 1
+          max-per-node: 1
+          option: 'project'
 
     parametert:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
 
     scm:
-        - git-scm
+      - git-scm
 
     triggers:
-        - timed: 'H 23 * * *'
+      - timed: 'H 23 * * *'
 
     builders:
-        - 'ovn4nfv-build-macro'
+      - 'ovn4nfv-build-macro'
 
 - builder:
     name: 'ovn4nfv-build-macro'
     builders:
-        - shell: |
-            #!/bin/bash
+      - shell: |
+          #!/bin/bash
 
-            echo "hello world"
+          echo "hello world"
index 0e35eaa..4bf8974 100755 (executable)
@@ -9,7 +9,6 @@
 ##############################################################################
 
 set -o errexit
-set -o nounset
 set -o pipefail
 
 # Job Number Formatter
@@ -22,13 +21,16 @@ function JOBS {
     fi
 }
 
-# We expect job_output to exist prior to this being run and contain the
-# output from jenkins-jobs test
+# Activiate the virtualenv so we have access to 'jenkins-jobs'
+source /opt/virtualenv/jenkins-job-builder/bin/activate
+
+echo "> Generating list of current JJB jobs..."
+jenkins-jobs -l ERROR test -r jjb -o job_output
 
 echo "> Generating list of previous JJB jobs..."
-git checkout -q -b previous-commit HEAD^
+git checkout -b previous-commit HEAD^
 jenkins-jobs -l ERROR test -r jjb -o job_output_prev
-git checkout -q - && git branch -q -d previous-commit
+git checkout - && git branch -d previous-commit
 
 echo "> Finding job changes ..."
 diff -r -q job_output job_output_prev &> job_diff.txt || true
index 42d88fb..fd58ef2 100644 (file)
             files: 'jjb/**'
 
     builders:
-        - copyartifact:
-            project: releng-merge-jjb
-            filter: "job_output/*"
-            which-build: last-successful
-            stable: true
-            optional: false
-            flatten: false
-            do-not-fingerprint: true
         - shell:
             !include-raw-escape: generate-job-list.sh
         - report-build-result-to-gerrit
index c39d07e..0835e67 100644 (file)
         - 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"
     builders:
         - description-setter:
             description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
 - builder:
     name: xci-functest-builder
     builders:
-        - shell:
-            !include-raw: ./xci-functest.sh
+        - shell: |
+            #!/bin/bash
+
+            echo "Hello World!"
+
+# this will be enabled once the xci is prepared
+#- builder:
+#    name: xci-functest-builder
+#    builders:
+#        - shell:
+#            !include-raw:
+#                - ../../utils/fetch_os_creds.sh
+#                - ../functest/functest-alpine.sh
diff --git a/jjb/xci/xci-functest.sh b/jjb/xci/xci-functest.sh
deleted file mode 100755 (executable)
index 0f58dfe..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-echo "Functional testing with functest"
index 5fca9bd..61dda94 100644 (file)
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
-                disable-strict-forbidden-file-verification: 'false'
+                disable-strict-forbidden-file-verification: 'true'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'xci/**'
                 forbidden-file-paths:
                   - compare-type: ANT
                     pattern: 'bifrost/**'
                     pattern: 'upstream/**'
                   - compare-type: ANT
                     pattern: '**/README.rst'
+                  - compare-type: ANT
+                    pattern: 'docs/**'
             readable-message: true
 
     parameters:
         - string:
             name: ANSIBLE_VERBOSITY
             default: '-vvvv'
+        - string:
+            name: INSTALLER_TYPE
+            default: 'osa'
         - string:
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
             cd $WORKSPACE/xci
             ./xci-deploy.sh
 
+
 - builder:
     name: 'xci-verify-healthcheck-macro'
     builders:
-        - shell:
-            !include-raw: ../../utils/fetch_os_creds.sh
-        - shell:
-            !include-raw: ../functest/functest-alpine.sh
+        - shell: |
+            #!/bin/bash
+
+            echo "Hello World!"
+
+# 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
index 937e83f..5d38a0b 100644 (file)
             installer: compass
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *master
+        - flex-pod1:
+            slave-label: '{pod}'
+            installer: apex
+            auto-trigger-name: 'daily-trigger-disabled'
+            <<: *master
 #--------------------------------
     testsuite:
         - 'daily'
             default: '-i 104.197.68.199:8086'
             description: 'Arguments to use in order to choose the backend DB'
 
+- parameter:
+    name: 'yardstick-params-flex-pod1'
+    parameters:
+        - string:
+            name: YARDSTICK_DB_BACKEND
+            default: '-i 104.197.68.199:8086'
+            description: 'Arguments to use in order to choose the backend DB'
+
 #######################
 ## trigger macros
 #######################
diff --git a/modules/setup.cfg b/modules/setup.cfg
new file mode 100644 (file)
index 0000000..dbe5a37
--- /dev/null
@@ -0,0 +1,7 @@
+[metadata]
+name = opnfv
+version = 5
+home-page = https://wiki.opnfv.org/display/releng/Releng
+
+[files]
+packages = opnfv
index 0dd635f..a1e9b3b 100644 (file)
@@ -1,25 +1,22 @@
-##############################################################################
+#!/usr/bin/env python
+
+# Copyright (c) 2017 Orange and others.
+#
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Apache License, Version 2.0
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
 
-from setuptools import setup, find_packages
+import setuptools
 
+# In python < 2.7.4, a lazy loading of package `pbr` will break
+# setuptools if some other modules registered functions in `atexit`.
+# solution from: http://bugs.python.org/issue15881#msg170215
+try:
+    import multiprocessing  # noqa
+except ImportError:
+    pass
 
-setup(
-    name="opnfv",
-    version="danube",
-    packages=find_packages(),
-    include_package_data=True,
-    package_data={
-    },
-    url="https://www.opnfv.org",
-    install_requires=["paramiko>=2.0",
-                      "mock>=2.0",
-                      "requests!=2.12.2,>=2.10.0"],
-    test_requires=["nose",
-                   "coverage>=4.0"]
-)
+setuptools.setup(
+    setup_requires=['pbr>=1.8'],
+    pbr=True)
index 3bc66f9..0873a68 100755 (executable)
@@ -74,9 +74,6 @@ dest_path=${dest_path:-$HOME/opnfv-openrc.sh}
 os_cacert=${os_cacert:-$HOME/os_cacert}
 installer_type=${installer_type:-$INSTALLER_TYPE}
 installer_ip=${installer_ip:-$INSTALLER_IP}
-if [ "${installer_type}" == "fuel" ] && [ "${BRANCH}" == "master" ]; then
-    installer_ip=${SALT_MASTER_IP}
-fi
 
 if [ -z $dest_path ] || [ -z $installer_type ] || [ -z $installer_ip ]; then
     usage
@@ -97,28 +94,31 @@ ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
 # Start fetching the files
 info "Fetching rc file..."
 if [ "$installer_type" == "fuel" ]; then
-    verify_connectivity $installer_ip
-    if [ "${BRANCH}" == "master" ]; then
-        ssh_key=${ssh_key:-$SSH_KEY}
-        if [ -z $ssh_key ] || [ ! -f $ssh_key ]; then
+    verify_connectivity "${installer_ip}"
+    # stable/danube uses old Fuel, requires user/pass; new Fuel uses keypair
+    if [[ ! "${BRANCH}" =~ "danube" ]]; then
+        ssh_user="ubuntu"
+        ssh_key="${ssh_key:-$SSH_KEY}"
+        if [ -z "$ssh_key" ] || [ ! -f "$ssh_key" ]; then
             error "Please provide path to existing ssh key for mcp deployment."
             exit 2
         fi
         ssh_options+=" -i ${ssh_key}"
 
         # retrieving controller vip
-        controller_ip=$(ssh 2>/dev/null ${ssh_options} ubuntu@${installer_ip} \
-            "sudo salt --out txt 'ctl*' pillar.get _param:openstack_control_address | awk '{print \$2; exit}'" | \
-            sed 's/ //g') &> /dev/null
+        controller_ip=$(ssh 2>/dev/null ${ssh_options} "${ssh_user}@${installer_ip}" \
+            "sudo salt --out yaml 'ctl*' pillar.get _param:openstack_control_address | \
+                awk '{print \$2; exit}'") &> /dev/null
 
-        info "... from controller $controller_ip..."
-        ssh ${ssh_options} ubuntu@${controller_ip} "sudo cat /root/keystonercv3" > $dest_path
+        info "... from controller ${controller_ip} ..."
+        ssh ${ssh_options} "${ssh_user}@${controller_ip}" \
+            "sudo cat /root/keystonercv3" > "${dest_path}"
 
-        if [[ $BUILD_TAG =~ "baremetal" ]]; then
-            ssh ${ssh_options} ubuntu@${installer_ip} "cat /etc/ssl/certs/os_cacert" > $os_cacert
+        if [[ "${BUILD_TAG}" =~ "baremetal" ]]; then
+            ssh ${ssh_options} "${ssh_user}@${installer_ip}" \
+                "cat /etc/ssl/certs/os_cacert" > "${os_cacert}"
         fi
     else
-        #ip_fuel="10.20.0.2"
         env=$(sshpass -p r00tme ssh 2>/dev/null ${ssh_options} root@${installer_ip} \
             'fuel env'|grep operational|head -1|awk '{print $1}') &> /dev/null
         if [ -z $env ]; then
index c46ca89..13cb025 100755 (executable)
@@ -52,7 +52,7 @@ main () {
     fi
 
     if [[ $(whoami) != "root" ]]; then
-      if sudo -l | grep "requiretty"; then
+      if sudo -l | grep "requiretty  | grep -v "\!requiretty"; then
         echo "please comment out Defaults requiretty from /etc/sudoers"
         exit 1
       fi
index ced8179..95baf0e 100644 (file)
@@ -11,11 +11,11 @@ server {
     server_name localhost;
 
     location / {
-        proxy_pass http://backends;
+        alias /home/opnfv/releng/utils/test/reporting/pages/dist/;
     }
 
-    location /reporting/ {
-        alias /home/opnfv/releng/utils/test/reporting/pages/dist/;
+    location /api/ {
+        http_pass http://backends/;
     }
 
     location /display/ {
index f9bb89a..62aa16f 100755 (executable)
@@ -1,3 +1,3 @@
-: ${SERVER_URL:='testresults.opnfv.org/reporting2'}
+: ${SERVER_URL:='testresults.opnfv.org/testing/api'}
 
 echo "{\"url\": \"http://${SERVER_URL}\"}" > dist/config.json
index 86ec0d2..a3d6e01 100644 (file)
@@ -5,3 +5,4 @@ opnfv_testapi/static
 build
 *.egg-info
 3rd_party/static/static
+*.pyc
index 894fcc1..489fa8a 100644 (file)
@@ -20,7 +20,7 @@
         .controller('PodsController', PodsController);
 
     PodsController.$inject = [
-        '$rootScope', '$scope', '$http', '$filter', '$state', 'testapiApiUrl','raiseAlert'
+        '$scope', '$http', '$filter', '$state', 'testapiApiUrl','raiseAlert'
     ];
 
     /**
                     details: ctrl.details
                 };
                 ctrl.podsRequest =
-                    $http.post(pods_url, body).error(function (error) {
+                    $http.post(pods_url, body).error(function (data, status) {
                         ctrl.showError = true;
-                        ctrl.error =
-                            'Error creating the new pod from server: ' +
-                            angular.toJson(error);
+                        if(status == 403){
+                            ctrl.error =
+                                'Error creating the new pod from server: Pod\'s name already exists'
+                        }
                     });
             }
             else{
                 ctrl.showError = true;
-                        ctrl.error = 'Name is missing.'
+                ctrl.error = 'Name is missing.'
             }
         }
 
index 44ab2a4..0d18b7e 100644 (file)
@@ -2,63 +2,92 @@
 opnfv-testapi
 =============
 
-Test Results Collector of OPNFV Test Projects
+**Test Results Collector of OPNFV Test Projects**:
 
-Start Server
-==============
+This project aims to provide a common way of gathering all the test results for OPNFV
+testing projects into a single place, and a unified way of getting those results for
+testing analysis projects, such as Reporting/Bitergia Dashboard/Qtip. It exposes
+Restful APIs for collecting results and pushing them into a MongoDB database.
+
+If you are interested in how TestAPI looks like, please visit OPNFV's official `TestAPI Server`__
+
+.. __: http://testresults.opnfv.org/test
+
+Pre-requsites
+=============
 
-Getting setup
-^^^^^^^^^^^^^
+TestAPI leverages MongoDB as the data warehouse, in order to let it work
+successfully, a MongoDB must be provided, the official MongoDB version in OPNFV
+TestAPI is 3.2.6. And the database is **test_results_collection**, the five
+collections are *users/pods/projects/testcases/scenarioes/results*. And thanks to
+MongoDB's very user-friendly property, they don't need to be created in advance.
 
-Requirements for opnfv-testapi:
+Running locally
+===============
 
-* tornado
-* epydoc
+Requirements
+^^^^^^^^^^^^
 
-These requirements are expressed in the requirements.txt file and may be
-installed by running the following (from within a virtual environment)::
+All requirements are listed in requirements.txt and should be
+installed by 'pip install':
 
-    pip install -r requirements.txt
+    *pip install -r requirements.txt*
+
+Installation
+^^^^^^^^^^^^
+
+    *python setup.py install*
+
+After installation, configuration file etc/config.ini will be put under
+/etc/opnfv_testapi/. And all the web relevant files under 3rd_party/static
+will be in /user/local/share/opnfv_testapi as a totality.
+
+Start Server
+^^^^^^^^^^^^
 
-How to install
-^^^^^^^^^^^^^^
+    *opnfv-testapi [--config-file <config.ini>]*
 
-From within your environment, just run:
+If --config-file is provided, the specified configuration file will be employed
+when starting the server, or else /etc/opnfv_testapi/config.ini will be utilized
+by default.
 
-    ./install.sh
+After executing the command successfully, a TestAPI server will be started on
+port 8000, to visit web portal, please access http://hostname:8000
 
-How to run
-^^^^^^^^^^
+Regarding swagger-ui website, please visit http://hostname:8000/swagger/spec.html
 
-From within your environment, just run:
+Running with container
+======================
 
-    opnfv-testapi
+TestAPI has already containerized, the docker image is opnfv/testapi:latest.
 
-This will start a server on port 8000.  Just visit http://localhost:8000
+**Running the container not behind nginx:**
 
-For swagger website, just visit http://localhost:8000/swagger/spec.html
+.. code-block:: shell
 
-Unittest
-=====================
+    docker run -dti --name testapi -p expose_port:8000
+        -e "mongodb_url=mongodb://mongodb_ip:27017/"
+        -e "base_url=http://host_name:expose_port"
+        opnfv/testapi:latest
 
-Getting setup
-^^^^^^^^^^^^^
+**Running the container behind nginx:**
 
-Requirements for unittest:
+.. code-block:: shell
 
-* testtools
-* discover
-* futures
+    docker run -dti --name testapi -p expose_port:8000
+        -e "mongodb_url=mongodb://mongodb_ip:27017/"
+        -e "base_url=http://nginx_url"
+        opnfv/testapi:latest
 
-These requirements are expressed in the test-requirements.txt file and may be
-installed by running the following (from within a virtual environment)::
+Unittest & pep8
+===============
 
-    pip install -r test-requirements.txt
+All requirements for unit tests are outlined in test-requirements.txt, and in TestAPI project, tox is leveraged to drive the executing of unit tests and pep8 check
 
-How to run
-^^^^^^^^^^
+**Running unit tests**
 
-From within your environment, just run::
+    *tox -e py27*
 
-    bash run_test.sh
+**Running pep8 check**
 
+    *tox -e pep8*
index 24ba876..acd3317 100644 (file)
@@ -7,6 +7,7 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 import functools
+import re
 
 from tornado import gen
 from tornado import web
@@ -92,7 +93,12 @@ def new_not_exists(xstep):
     def wrap(self, *args, **kwargs):
         query = kwargs.get('query')
         if query:
-            to_data = yield dbapi.db_find_one(self.table, query())
+            query_data = query()
+            if self.table == 'pods':
+                if query_data.get('name') is not None:
+                    query_data['name'] = re.compile(query_data.get('name'),
+                                                    re.IGNORECASE)
+            to_data = yield dbapi.db_find_one(self.table, query_data)
             if to_data:
                 raises.Forbidden(message.exist(self.table, query()))
         ret = yield gen.coroutine(xstep)(self, *args, **kwargs)
index 0ca83df..3320a86 100644 (file)
@@ -6,6 +6,8 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+import re
+
 from operator import itemgetter
 
 from bson.objectid import ObjectId
@@ -190,8 +192,13 @@ class MemDb(object):
                 elif k == 'trust_indicator.current':
                     if content.get('trust_indicator').get('current') != v:
                         return False
-                elif not isinstance(v, dict) and content.get(k, None) != v:
-                    return False
+                elif not isinstance(v, dict):
+                    if isinstance(v, re._pattern_type):
+                        if v.match(content.get(k, None)) is None:
+                            return False
+                    else:
+                        if content.get(k, None) != v:
+                            return False
         return True
 
     def _find(self, *args):
@@ -199,7 +206,6 @@ class MemDb(object):
         for content in self.contents:
             if self._in(content, *args):
                 res.append(content)
-
         return res
 
     def find(self, *args):
index cb4f1d9..d1a19f7 100644 (file)
@@ -21,6 +21,8 @@ class TestPodBase(base.TestBase):
         self.req_d = pod_models.PodCreateRequest('zte-1', 'virtual',
                                                  'zte pod 1', 'ci-pod')
         self.req_e = pod_models.PodCreateRequest('zte-2', 'metal', 'zte pod 2')
+        self.req_f = pod_models.PodCreateRequest('Zte-1', 'virtual',
+                                                 'zte pod 1', 'ci-pod')
         self.get_res = pod_models.Pod
         self.list_res = pod_models.Pods
         self.basePath = '/api/v1/pods'
@@ -58,6 +60,11 @@ class TestPodCreate(TestPodBase):
         self.create_d()
         return self.req_d
 
+    @executor.create(httplib.FORBIDDEN, message.exist_base)
+    def test_alreadyExistCaseInsensitive(self):
+        self.create(self.req_f)
+        return self.req_d
+
 
 class TestPodGet(TestPodBase):
     def setUp(self):
index 786fc10..f1d8946 100644 (file)
@@ -22,7 +22,7 @@ declare -A ports=( ["testapi"]="8082" ["reporting"]="8084")
 
 ## Urls to check if the modules are deployed or not ?
 declare -A urls=( ["testapi"]="http://testresults.opnfv.org/test/" \
-    ["reporting"]="http://testresults.opnfv.org/reporting2/reporting/index.html")
+    ["reporting"]="http://testresults.opnfv.org/reporting/index.html")
 
 ### Functions related to checking.
 
@@ -31,9 +31,9 @@ function is_deploying() {
     building=$(grep -oPm1 "(?<=<building>)[^<]+" <<< "$xml")
     if [[ $building == "false" ]]
     then
-        return 0
+        false
     else
-        return 1
+        true
     fi
 }
 
@@ -42,9 +42,9 @@ function get_docker_status() {
     echo -e "Docker status: $status"
     if [ $status = "active" ]
     then
-        return 1
+        true
     else
-        return 0
+        false
     fi
 }
 
@@ -53,9 +53,9 @@ function check_connectivity() {
     cmd=`curl --head -m10 --request GET ${2} | grep '200 OK' > /dev/null`
     rc=$?
     if [[ $rc == 0 ]]; then
-        return 0
+        true
     else
-        return 1
+        false
     fi
 }
 
@@ -74,7 +74,7 @@ function check_modules() {
     done
     if [ ! -z "$failed_modules" ]; then
         echo -e "Failed Modules: $failed_modules"
-        return 1
+        false
     else
         echo -e "All modules working good"
         exit 0
@@ -135,7 +135,7 @@ echo -e
 
 ## If the problem is related to docker daemon
 
-if get_docker_status; then
+if get_docker_status; then
     restart_docker_fix
     if ! check_modules; then
         echo -e "Watchdog failed while restart_docker_fix"
@@ -162,4 +162,4 @@ if ! check_modules; then
 fi
 
 sudo docker ps
-sudo docker images
+sudo docker images
\ No newline at end of file