Merge "Add danube scenario "os-odl_l2-bgpvpn-ha" in fuel pod zte-pod1"
authorJun Li <lijun_1203@126.com>
Thu, 14 Sep 2017 06:38:29 +0000 (06:38 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Thu, 14 Sep 2017 06:38:29 +0000 (06:38 +0000)
jjb/apex/apex.yml
jjb/apex/apex.yml.j2
jjb/bottlenecks/bottlenecks-ci-jobs.yml
jjb/bottlenecks/bottlenecks-project-jobs.yml
jjb/functest/functest-alpine.sh
jjb/global/slave-params.yml
jjb/releng/opnfv-docker-arm.yml
jjb/releng/opnfv-docker.sh
jjb/releng/opnfv-docker.yml
jjb/xci/xci-verify-jobs.yml
jjb/yardstick/yardstick-daily.sh

index c71bee1..baad8d3 100644 (file)
@@ -16,6 +16,7 @@
         - 'apex-upload-snapshot'
         - 'apex-create-snapshot'
         - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+        - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
     # stream:    branch with - in place of / (eg. stable-arno)
     # branch:    branch (eg. stable/arno)
     stream:
                   abort-all-job: false
                   git-revision: false
 
+# Dovetail Danube test job
+- job-template:
+    name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+    project-type: 'multijob'
+
+    node: 'huawei-pod4'
+
+    disabled: false
+
+    parameters:
+        - '{project}-defaults'
+        - project-parameter:
+            project: '{project}'
+            branch: 'stable/danube'
+        - apex-parameter:
+            gs-pathname: '/danube'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-nosdn-nofeature-ha'
+            description: "Scenario to deploy with."
+
+    properties:
+        - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-verify.*'
+                - 'apex-runner.*'
+                - 'apex-.*-promote.*'
+                - 'apex-run.*'
+
+    triggers:
+        - timed: '0 12 * * *'
+
+    builders:
+        - description-setter:
+            description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+        - multijob:
+            name: 'Baremetal Deploy'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'apex-deploy-baremetal-danube'
+                  node-parameters: true
+                  current-parameters: true
+                  predefined-parameters: |
+                    OPNFV_CLEAN=yes
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+                  git-revision: false
+        - multijob:
+            name: Dovetail
+            condition: ALWAYS
+            projects:
+                - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+                  node-parameters: true
+                  current-parameters: false
+                  predefined-parameters:
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: NEVER
+                  abort-all-job: false
+                  git-revision: false
+
 ########################
 # parameter macros
 ########################
index 356c718..df8cf92 100644 (file)
@@ -16,6 +16,7 @@
         - 'apex-upload-snapshot'
         - 'apex-create-snapshot'
         - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+        - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
     # stream:    branch with - in place of / (eg. stable-arno)
     # branch:    branch (eg. stable/arno)
     stream:
                   abort-all-job: false
                   git-revision: false
 
+# Dovetail Danube test job
+- job-template:
+    name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+    project-type: 'multijob'
+
+    node: 'huawei-pod4'
+
+    disabled: false
+
+    parameters:
+        - '{project}-defaults'
+        - project-parameter:
+            project: '{project}'
+            branch: 'stable/danube'
+        - apex-parameter:
+            gs-pathname: '/danube'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-nosdn-nofeature-ha'
+            description: "Scenario to deploy with."
+
+    properties:
+        - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-verify.*'
+                - 'apex-runner.*'
+                - 'apex-.*-promote.*'
+                - 'apex-run.*'
+
+    triggers:
+        - timed: '0 12 * * *'
+
+    builders:
+        - description-setter:
+            description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+        - multijob:
+            name: 'Baremetal Deploy'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'apex-deploy-baremetal-danube'
+                  node-parameters: true
+                  current-parameters: true
+                  predefined-parameters: |
+                    OPNFV_CLEAN=yes
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+                  git-revision: false
+        - multijob:
+            name: Dovetail
+            condition: ALWAYS
+            projects:
+                - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+                  node-parameters: true
+                  current-parameters: false
+                  predefined-parameters:
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: NEVER
+                  abort-all-job: false
+                  git-revision: false
+
 ########################
 # parameter macros
 ########################
index a8654d0..74e07b0 100644 (file)
     builders:
       - 'bottlenecks-env-cleanup'
       - 'bottlenecks-run-suite'
+      - 'bottlenecks-workspace-cleanup'
 
     publishers:
       - email:
       - shell:
           !include-raw: ./bottlenecks-run-suite.sh
 
+- builder:
+    name: bottlenecks-workspace-cleanup
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+
+            # delete everything that is in $WORKSPACE
+            sudo rm -rf $WORKSPACE
+
 ####################
 # parameter macros
 ####################
index c7c9b42..10f73b8 100644 (file)
@@ -28,8 +28,6 @@
           disabled: false
 
     suite:
-      - 'rubbos'
-      - 'vstf'
       - 'posca_stress_traffic'
       - 'posca_stress_ping'
 
 
     builders:
       - 'bottlenecks-builder-upload-artifact'
-      - 'bottlenecks-workspace-cleanup'
+      - 'bottlenecks-artifact-workspace-cleanup'
 
 ####################
 # parameter macros
           done
 
 - builder:
-    name: bottlenecks-workspace-cleanup
+    name: bottlenecks-artifact-workspace-cleanup
     builders:
       - shell: |
           #!/bin/bash
index 57398fa..34c746e 100755 (executable)
@@ -74,11 +74,13 @@ else
     tiers=(healthcheck smoke features vnf)
 fi
 
+cmd_opt='prepare_env start && run_tests -r -t all'
+
 for tier in ${tiers[@]}; do
     FUNCTEST_IMAGE=opnfv/functest-${tier}
     echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
     docker pull ${FUNCTEST_IMAGE}>/dev/null
-    cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE}"
+    cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
     echo "Running Functest tier '${tier}'. CMD: ${cmd}"
-    ${cmd}
+    eval ${cmd}
 done
index 2acc96f..19d5a95 100644 (file)
             - ericsson-pod1
           default-slaves:
             - ericsson-pod1
+      - string:
+          name: INSTALLER_IP
+          default: '10.20.1.2'
+          description: 'IP of the installer'
       - string:
           name: GIT_BASE
           default: https://gerrit.opnfv.org/gerrit/$PROJECT
index 842d496..ec1d743 100644 (file)
             cristina.pauna@enea.com
             alexandru.avadanii@enea.com
             alexandru.nemes@enea.com
+    storperf-arm-receivers: &storperf-arm-receivers
+        receivers: >
+            cristina.pauna@enea.com
+            alexandru.avadanii@enea.com
+            mark.beierl@emc.com
     yardstick-arm-receivers: &yardstick-arm-receivers
         receivers: >
             cristina.pauna@enea.com
     other-receivers: &other-receivers
         receivers: ''
 
-    project:
+    dockerfile: "Dockerfile.aarch64"
+    dockerdir: "docker"
+    arch_tag: ""
+
+    dockerrepo:
         # projects with jobs for master
         - 'functest':
+            project: 'functest'
             <<: *master
             <<: *functest-arm-receivers
         - 'dovetail':
+            project: 'dovetail'
             <<: *master
             <<: *dovetail-arm-receivers
+        - 'storperf-master':
+            project: 'storperf'
+            dockerdir: 'docker/storperf-master'
+            dockerfile: 'Dockerfile'
+            docker_repo_name: 'opnfv/storperf-master'
+            arch_tag: 'aarch64'
+            <<: *master
+            <<: *storperf-arm-receivers
+        - 'storperf-graphite':
+            project: 'storperf'
+            dockerdir: 'docker/storperf-graphite'
+            dockerfile: 'Dockerfile'
+            docker_repo_name: 'opnfv/storperf-graphite'
+            arch_tag: 'aarch64'
+            <<: *master
+            <<: *storperf-arm-receivers
+        - 'storperf-httpfrontend':
+            project: 'storperf'
+            dockerdir: 'docker/storperf-httpfrontend'
+            dockerfile: 'Dockerfile'
+            docker_repo_name: 'opnfv/storperf-httpfrontend'
+            arch_tag: 'aarch64'
+            <<: *master
+            <<: *storperf-arm-receivers
+        - 'storperf-reporting':
+            project: 'storperf'
+            dockerdir: 'docker/storperf-reporting'
+            dockerfile: 'Dockerfile'
+            docker_repo_name: 'opnfv/storperf-reporting'
+            arch_tag: 'aarch64'
+            <<: *master
+            <<: *storperf-arm-receivers
+        - 'storperf-swaggerui':
+            project: 'storperf'
+            dockerdir: 'docker/storperf-swaggerui'
+            dockerfile: 'Dockerfile'
+            docker_repo_name: 'opnfv/storperf-swaggerui'
+            arch_tag: 'aarch64'
+            <<: *master
+            <<: *storperf-arm-receivers
         - 'yardstick':
+            project: 'yardstick'
             <<: *master
             <<: *yardstick-arm-receivers
         # projects with jobs for stable
 
     jobs:
-        - '{project}-docker-build-arm-push-{stream}'
+        - '{dockerrepo}-docker-build-arm-push-{stream}'
 
 ########################
 # job templates
 ########################
 - job-template:
-    name: '{project}-docker-build-arm-push-{stream}'
+    name: '{dockerrepo}-docker-build-arm-push-{stream}'
 
     disabled: '{obj:disabled}'
 
             description: "Directory containing files needed by the Dockerfile"
         - string:
             name: DOCKERFILE
-            default: "Dockerfile.aarch64"
+            default: "{dockerfile}"
             description: "Dockerfile to use for creating the image."
+        - string:
+            name: ARCH_TAG
+            default: "{arch_tag}"
+            description: "If set, this value will be added to the docker image tag"
 
     scm:
         - git-scm
index 0de3df2..6ca8e37 100644 (file)
@@ -89,11 +89,18 @@ if [[ -n "${COMMIT_ID-}" && -n "${RELEASE_VERSION-}" ]]; then
     BUILD_BRANCH=$COMMIT_ID
 fi
 
+ARCH_BUILD_ARG=""
+if [[ -n "${ARCH_TAG}" ]]; then
+    DOCKER_TAG=${ARCH_TAG}-${DOCKER_TAG}
+    ARCH_BUILD_ARG="--build-arg ARCH=${ARCH_TAG}"
+fi
+
 # Start the build
 echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG"
 echo "--------------------------------------------------------"
 echo
 cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH
+    $ARCH_BUILD_ARG
     -f $DOCKERFILE ."
 
 echo ${cmd}
index 5b63f3a..6495915 100644 (file)
             cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
             yaohelan@huawei.com helanyao@gmail.com
             juha.kosonen@nokia.com
+    storperf-receivers: &storperf-receivers
+        receivers: >
+            mark.beierl@emc.com
     other-receivers: &other-receivers
         receivers: ''
 
     dockerfile: "Dockerfile"
     dockerdir: "docker"
+    arch_tag: ""
 
     # This is the dockerhub repo the image will be pushed to as
     # 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
         - 'storperf-master':
             project: 'storperf'
             dockerdir: 'docker/storperf-master'
+            arch_tag: 'x86_64'
             <<: *master
-            <<: *other-receivers
+            <<: *storperf-receivers
         - 'storperf-graphite':
             project: 'storperf'
             dockerdir: 'docker/storperf-graphite'
+            arch_tag: 'x86_64'
             <<: *master
-            <<: *other-receivers
+            <<: *storperf-receivers
         - 'storperf-httpfrontend':
             project: 'storperf'
             dockerdir: 'docker/storperf-httpfrontend'
+            arch_tag: 'x86_64'
             <<: *master
-            <<: *other-receivers
+            <<: *storperf-receivers
         - 'storperf-reporting':
             project: 'storperf'
             dockerdir: 'docker/storperf-reporting'
+            arch_tag: 'x86_64'
             <<: *master
-            <<: *other-receivers
+            <<: *storperf-receivers
         - 'storperf-swaggerui':
             project: 'storperf'
             dockerdir: 'docker/storperf-swaggerui'
+            arch_tag: 'x86_64'
             <<: *master
-            <<: *other-receivers
+            <<: *storperf-receivers
         - 'yardstick':
             project: 'yardstick'
             <<: *master
 
     dockerfile: "Dockerfile"
     dockerdir: "docker"
+    arch_tag: ""
 
     project:
         # projects with jobs for master
             name: DOCKERFILE
             default: "{dockerfile}"
             description: "Dockerfile to use for creating the image."
+        - string:
+            name: ARCH_TAG
+            default: "{arch_tag}"
+            description: "If set, this value will be added to the docker image tag as a prefix"
 
     scm:
         - git-scm
index f7dcb99..f0a673b 100644 (file)
         - shell: |
             #!/bin/bash
 
+            # skip the deployment if the patch doesn't impact the deployment
+            if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+                echo "Skipping the deployment!"
+                exit 0
+            fi
+
             # for some reason, the PATH is not set correctly
             # setting PATH for ansible stuff
             export PATH=/home/jenkins/.local/bin:$PATH
         - shell: |
             #!/bin/bash
 
+            # skip the healthcheck if the patch doesn't impact the deployment
+            if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+                echo "Skipping the healthcheck!"
+                exit 0
+            fi
+
             echo "Hello World!"
 
 # this will be enabled once the xci is prepared
index aaefba2..8b3980f 100755 (executable)
@@ -48,8 +48,12 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
     -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
 
 # Pull the image with correct tag
-echo "Yardstick: Pulling image opnfv/yardstick:${DOCKER_TAG}"
-docker pull opnfv/yardstick:$DOCKER_TAG >$redirect
+DOCKER_REPO='opnfv/yardstick'
+if [ "$(uname -m)" = 'aarch64' ]; then
+    DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
+fi
+echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
+docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
 
 # map log directory
 branch=${BRANCH##*/}
@@ -61,9 +65,9 @@ map_log_dir="-v ${dir_result}:/tmp/yardstick"
 # Run docker
 if [[ ${INSTALLER_TYPE} == "joid" && "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
     juju ssh kubernetes-master/0 sudo apt-get install -y docker.io
-    cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
+    cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
 else
-    cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \
+    cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} \
     exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
 fi