diff options
-rw-r--r-- | jjb/apex/apex.yml | 31 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-ci-jobs.yml | 109 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-project-jobs.yml (renamed from jjb/bottlenecks/bottlenecks.yml) | 201 | ||||
-rw-r--r-- | jjb/functest/functest-ci-jobs.yml | 5 | ||||
-rw-r--r-- | jjb/opnfv/slave-params.yml | 23 |
5 files changed, 195 insertions, 174 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 89b0a9343..b48e81e8c 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -45,6 +45,7 @@ scenario: - 'os-nosdn-nofeature-ha' - 'os-odl_l2-nofeature-ha' + - 'os-odl_l2-bgpvpn-ha' - 'os-odl_l2-sfc-noha' - 'os-odl_l3-nofeature-ha' - 'os-onos-nofeature-ha' @@ -219,6 +220,12 @@ OPNFV_CLEAN=yes git-revision: false block: true + - trigger-builds: + - project: 'functest-apex-{slave}-suite-{stream1}' + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-nofeature-ha + FUNCTEST_SUITE_NAME=vping_userdata + block: true - 'apex-workspace-cleanup' - job-template: @@ -527,6 +534,30 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'apex-deploy-baremetal-os-odl_l2-bgpvpn-ha-{stream2}' + predefined-parameters: + BUILD_DIRECTORY=apex-build-{stream2}/build_output + git-revision: true + block: true + - trigger-builds: + - project: 'functest-apex-{slave}-daily-{stream2}' + predefined-parameters: + DEPLOY_SCENARIO=os-odl_l2-bgpvpn-ha + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'yardstick-apex-{slave}-daily-{stream2}' + predefined-parameters: + DEPLOY_SCENARIO=os-odl_l2-bgpvpn-ha + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' # Master Daily - job-template: diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index b4b736faa..09b7df172 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -12,11 +12,18 @@ 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' brahmaputra: &brahmaputra stream: brahmaputra branch: 'stable/{stream}' - gs-pathname: '{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + docker-tag: 'brahmaputra' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -81,8 +88,16 @@ - 'bottlenecks-params-{pod}' - string: name: GERRIT_REFSPEC_DEBUG - default: '' + default: 'false' 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: @@ -91,47 +106,75 @@ branch: '{branch}' builders: + - 'bottlenecks-env-cleanup' - 'bottlenecks-fetch-os-creds' - - 'bottlenecks-run-{suite}' + - 'bottlenecks-run-suite' publishers: - email: - recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com + recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com sunshine.wang@huawei.com ######################## # builder macros ######################## -#- builder: -# name: bottlenecks-fetch-os-creds -# builders: -# - shell: -# !include-raw ../../utils/fetch_os_creds.sh - -#- builder: -# name: bottlenecks-run-rubbos -# builders: -# - shell: | -# #!/bin/bash -# set -o errexit -# -# echo "Bottlenecks: rubbos running now..." -# cd $WORKSPACE -# ./ci/run.sh $GERRIT_REFSPEC_DEBUG - -#- builder: -# name: bottlenecks-run-vstf -# builders: -# - shell: | -# #!/bin/bash -# set -o errexit - -# echo "Bottlenecks: vstf running now..." -# cd $WORKSPACE -# ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG +- builder: + name: bottlenecks-fetch-os-creds + builders: + - shell: + !include-raw ../../utils/fetch_os_creds.sh -######################## +- builder: + name: bottlenecks-env-cleanup + builders: + - shell: | + #!/bin/bash + set -e + [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + + echo "Bottlenecks: docker containers/images cleaning up" + if [[ ! -z $(docker ps -a | grep opnfv/bottlenecks) ]]; then + echo "removing existing opnfv/bottlenecks containers" + docker ps -a | grep opnfv/bottlenecks | awk '{print $1}' | xargs docker rm -f >$redirect + fi + + if [[ ! -z $(docker images | grep opnfv/bottlenecks) ]]; then + echo "Bottlenecks: docker images to remove:" + docker images | head -1 && docker images | grep opnfv/bottlenecks + image_tags=($(docker images | grep opnfv/bottlenecks | awk '{print $2}')) + for tag in "${image_tags[@]}"; do + echo "Removing docker image opnfv/bottlenecks:$tag..." + docker rmi opnfv/bottlenecks:$tag >$redirect + done + fi + +- builder: + name: bottlenecks-run-suite + builders: + - shell: | + #!/bin/bash + set -e + [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + + echo "Bottlenecks: ${SUITE_NAME} running now..." + + # pull latest image + docker pull opnfv/bottlenecks:$DOCKER_TAG >$redirect + + # run tests by using docker + opts="--privileged=true --rm" + envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ + -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \ + -e BOTTLENECKS_BRANCH=${BOTTLENECKS_BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \ + -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL}" + run_testsuite="run_tests.sh -s ${SUITE_NAME}" + cmd="sudo docker run ${opts} ${envs} opnfv/bottlenecks ${run_testsuite} >${redirect}" + echo "Bottlenecks: docker cmd running: ${cmd}" + ${cmd} + +#################### # parameter macros -######################## +#################### + - parameter: name: 'bottlenecks-params-intel-pod5' parameters: diff --git a/jjb/bottlenecks/bottlenecks.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml index a65330d5d..7dbaeae6b 100644 --- a/jjb/bottlenecks/bottlenecks.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -1,38 +1,37 @@ -#################################### -# Job configuration for bottlenecks -#################################### +################################################### +# Non-ci jobs for Bottlenecks project +# They will only be enabled on request by projects! +################################################### - project: - name: bottlenecks + name: bottlenecks-project-jobs + + project: 'bottlenecks' + jobs: - 'bottlenecks-verify-{stream}' - - 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}' + - 'bottlenecks-merge-{stream}' - 'bottlenecks-{suite}-upload-artifacts-{stream}' - pod: - - lf: - node: 'opnfv-jump-2' - installer_type: 'fuel' - installer_ip: '10.20.0.2' - - installer: - - 'fuel' - suite: - - 'rubbos' - - 'vstf' - -# only master branch is enabled at the moment to keep no of jobs sane 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}' - brahmaputra: branch: 'stable/{stream}' gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + + suite: + - 'rubbos' + - 'vstf' + +################################ +# job templates +################################ - project: 'bottlenecks' -############################### -# Job templates -############################## - job-template: name: 'bottlenecks-verify-{stream}' @@ -67,70 +66,61 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "bottlenecks: verify job" + #TO DO: this should be changed when the unittest ready - job-template: - name: 'bottlenecks-{suite}-upload-artifacts-{stream}' - - concurrent: true - - properties: - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 + name: 'bottlenecks-merge-{stream}' parameters: - project-parameter: project: '{project}' - - 'ericsson-build-defaults' - - bottlenecks-parameter: - gs-pathname: '{gs-pathname}' - suite: '{suite}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-defaults' scm: - - git-scm: + - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '' - branch: '{branch}' + choosing-strategy: 'default' + + triggers: + - gerrit: + 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-builder-upload-artifact' - - 'bottlenecks-workspace-cleanup' + - shell: | + echo "bottlenecks: merge" - job-template: - name: 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}' + name: 'bottlenecks-{suite}-upload-artifacts-{stream}' - disabled: false + concurrent: true - node: '{node}' + properties: + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 parameters: - project-parameter: project: '{project}' - - 'opnfv-jump-2-defaults' - - string: - name: POD_NAME - default: '{pod}' - description: "POD where the job runs" - - string: - name: INSTALLER_TYPE - default: '{installer_type}' - description: "Installer name that is used for deployment." - - string: - name: INSTALLER_IP - default: '{installer_ip}' - description: "Installer IP." - - string: - name: GERRIT_REFSPEC_DEBUG - default: '' - description: "Gerrit refspec for debug." + - 'ericsson-build-defaults' + - bottlenecks-parameter: + gs-packagepath: '{gs-packagepath}' scm: - git-scm: @@ -138,21 +128,9 @@ refspec: '' branch: '{branch}' - wrappers: - - timeout: - timeout: 120 - fail: true - - triggers: - - 'bottlenecks-trigger-{pod}' - builders: - - 'bottlenecks-fetch-os-creds' - - 'bottlenecks-run-{suite}' - - publishers: - - email: - recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com + - 'bottlenecks-builder-upload-artifact' + - 'bottlenecks-workspace-cleanup' #################### # parameter macros @@ -162,47 +140,20 @@ parameters: - string: name: CACHE_DIR - default: $WORKSPACE/cache/{suite} + 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/{suite}{gs-pathname} + 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/{suite}/ + 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 -################################### -- builder: - name: bottlenecks-fetch-os-creds - builders: - - shell: - !include-raw: ../../utils/fetch_os_creds.sh - -- builder: - name: bottlenecks-run-rubbos - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Bottlenecks: rubbos running now..." - cd $WORKSPACE - ./ci/run.sh $GERRIT_REFSPEC_DEBUG - -- builder: - name: bottlenecks-run-vstf - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Bottlenecks: vstf running now..." - cd $WORKSPACE - ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG +#################################### - builder: name: bottlenecks-builder-upload-artifact builders: @@ -234,31 +185,3 @@ echo "Bottlenecks: cleanup cache used for storage downloaded packages" /bin/rm -rf $CACHE_DIR - -####################### -#trigger macros -####################### -- trigger: - name: 'bottlenecks-trigger-lf' - triggers: -# - timed: '0 6 * * *' - - gerrit: - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index 57f48109b..af79fbf75 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -67,7 +67,7 @@ - intel-pod8: installer: compass <<: *master - - opnfv-jump-1: + - intel-pod7: installer: apex <<: *master - ericsson-pod1: @@ -172,7 +172,8 @@ - 'promise' - 'doctor' - 'vims' - - 'vping' + - 'vping_userdata' + - 'vping_ssh' - parameter: name: functest-parameter parameters: diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml index 8ee4b0be6..e7f063c94 100644 --- a/jjb/opnfv/slave-params.yml +++ b/jjb/opnfv/slave-params.yml @@ -175,6 +175,29 @@ description: "External network to create for pod6 (name;type;first ip;last ip; gateway;network)" - parameter: + name: 'intel-pod7-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod7 + default-slaves: + - intel-pod7 + - string: + name: INSTALLER_VERSION + default: latest + description: 'Version of the installer to deploy' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: SSH_KEY + default: /root/.ssh/id_rsa + description: 'SSH key to use for Apex' + +- parameter: name: 'intel-pod8-defaults' parameters: - node: |