diff options
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/armband/armband-ci-jobs.yml | 18 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-ci-jobs.yml | 14 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-ci-jobs.yml | 51 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 3 | ||||
-rwxr-xr-x | jjb/fuel/fuel-basic-exp.sh | 18 | ||||
-rwxr-xr-x | jjb/fuel/fuel-build-exp.sh | 10 | ||||
-rwxr-xr-x | jjb/fuel/fuel-deploy-exp.sh | 10 | ||||
-rwxr-xr-x | jjb/fuel/fuel-deploy.sh | 53 | ||||
-rwxr-xr-x | jjb/fuel/fuel-plugin-build.sh | 10 | ||||
-rwxr-xr-x | jjb/fuel/fuel-plugin-test.sh | 10 | ||||
-rw-r--r-- | jjb/fuel/fuel-plugin-verify-jobs.yml | 82 | ||||
-rwxr-xr-x | jjb/fuel/fuel-smoke-test-exp.sh | 10 | ||||
-rw-r--r-- | jjb/fuel/fuel-verify-jobs-experimental.yml | 264 | ||||
-rw-r--r-- | jjb/functest/functest-ci-jobs.yml | 4 | ||||
-rw-r--r-- | jjb/infra/bifrost-verify-jobs.yml | 2 | ||||
-rwxr-xr-x | jjb/infra/bifrost-verify.sh | 4 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-docker.sh | 19 | ||||
-rw-r--r-- | jjb/opnfv/opnfv-utils.yml | 40 | ||||
-rw-r--r-- | jjb/opnfv/slave-params.yml | 14 | ||||
-rw-r--r-- | jjb/releng/releng-ci-jobs.yml | 50 | ||||
-rw-r--r-- | jjb/yardstick/yardstick-ci-jobs.yml | 13 |
21 files changed, 455 insertions, 244 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index f6b48656a..024681841 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -228,7 +228,7 @@ - trigger: name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 1' + - timed: '0 0 * * 1,6' - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: @@ -236,7 +236,7 @@ - trigger: name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 3' + - timed: '0 0 * * 3,7' - trigger: name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger' triggers: @@ -251,23 +251,23 @@ - trigger: name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 4 * * *' + - timed: '0 8 * * 1,3,5,7' - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 8 * * *' + - timed: '0 16 * * 2,7' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 12 * * *' + - timed: '0 8 * * 2,4,6' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 16 * * *' + - timed: '0 16 * * 1,4,6' - trigger: name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger' triggers: - - timed: '0 20 * * *' + - timed: '0 16 * * 3,5' #--------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against master branch #--------------------------------------------------------------- diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index 4bc56ab1b..7f2e6bf8a 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -68,12 +68,6 @@ # installer: joid # auto-trigger-name: 'daily-trigger-disabled' # <<: *master - - huawei-pod2: - slave-label: '{pod}' - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *master - #-------------------------------------------- suite: - 'rubbos' @@ -225,14 +219,6 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-huawei-pod2' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '104.197.68.199:8086' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: name: 'bottlenecks-params-orange-pod2' parameters: - string: diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index 16c6695c2..da882cdfe 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -39,10 +39,6 @@ #-------------------------------- # master #-------------------------------- - - huawei-pod2: - slave-label: '{pod}' - os-version: 'trusty' - <<: *colorado - huawei-pod5: slave-label: '{pod}' os-version: 'centos7' @@ -103,6 +99,7 @@ use-build-blocker: true blocking-jobs: - 'compass-os-.*?-{pod}-daily-.*?' + - 'compass-os-.*?-baremetal-daily-.*?' - 'compass-verify-[^-]*' block-level: 'NODE' @@ -159,6 +156,19 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' + #dovetail only master by now, not sync with A/B/C branches + #here the stream means the SUT stream, dovetail stream is defined in its own job + - trigger-builds: + - project: 'dovetail-compass-{pod}-basic-{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: 'compass-deploy-{pod}-daily-{stream}' @@ -282,39 +292,6 @@ - timed: '' - trigger: - name: 'compass-os-nosdn-nofeature-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '0 19 * * *' -- trigger: - name: 'compass-os-odl_l2-nofeature-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '0 23 * * *' -- trigger: - name: 'compass-os-odl_l3-nofeature-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '0 15 * * *' -- trigger: - name: 'compass-os-onos-nofeature-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '0 11 * * *' -- trigger: - name: 'compass-os-ocl-nofeature-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-onos-sfc-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '0 7 * * *' -- trigger: - name: 'compass-os-odl_l2-moon-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-kvm-ha-huawei-pod2-colorado-trigger' - triggers: - - timed: '' - -- trigger: name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger' triggers: - timed: '0 2 * * *' diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index 6453425ce..3f7a47bee 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -48,5 +48,8 @@ sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_T echo "Dovetail: store results..." sudo cp -r /home/opnfv/dovetail/results ./ +#To make sure the file owner is jenkins, for the copied results files in the above line +#if not, there will be error when next time to wipe workspace +sudo chown -R jenkins:jenkins ${WORKSPACE}/results echo "Dovetail: done!" diff --git a/jjb/fuel/fuel-basic-exp.sh b/jjb/fuel/fuel-basic-exp.sh new file mode 100755 index 000000000..a70a0c765 --- /dev/null +++ b/jjb/fuel/fuel-basic-exp.sh @@ -0,0 +1,18 @@ +#!/bin/bash +set -o nounset + +echo "-----------------------------------------------------------------------" +echo $GERRIT_CHANGE_COMMIT_MESSAGE +echo "-----------------------------------------------------------------------" + +# proposal for specifying the scenario name in commit message +# currently only 1 scenario name is supported but depending on +# the need, it can be expanded, supporting multiple scenarios +# using comma separated list or something +SCENARIO_NAME_PATTERN="(?<=@scenario:).*?(?=@)" +SCENARIO_NAME=(echo $GERRIT_CHANGE_COMMIT_MESSAGE | grep -oP "$SCENARIO_NAME_PATTERN") +if [[ $? -ne 0 ]]; then + echo "The patch verification will be done only with build!" +else + echo "Will run full verification; build, deploy, and smoke test using scenario $SCENARIO_NAME" +fi diff --git a/jjb/fuel/fuel-build-exp.sh b/jjb/fuel/fuel-build-exp.sh new file mode 100755 index 000000000..f7f613dc0 --- /dev/null +++ b/jjb/fuel/fuel-build-exp.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then + JOB_TYPE=${BASH_REMATCH[0]} +else + echo "Unable to determine job type!" + exit 1 +fi + +echo "Not activated!" diff --git a/jjb/fuel/fuel-deploy-exp.sh b/jjb/fuel/fuel-deploy-exp.sh new file mode 100755 index 000000000..f7f613dc0 --- /dev/null +++ b/jjb/fuel/fuel-deploy-exp.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then + JOB_TYPE=${BASH_REMATCH[0]} +else + echo "Unable to determine job type!" + exit 1 +fi + +echo "Not activated!" diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 2104d9090..ef47ff0e3 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -104,58 +104,5 @@ if [[ $exit_code -ne 0 ]]; then exit $exit_code else echo "Deployment is successful!" -fi - -# Quick and dirty fix for SFC scenatio - will be fixed properly post-release -if [[ ! "$DEPLOY_SCENARIO" =~ "os-odl_l2-sfc" ]]; then exit 0 fi - -echo -echo "SFC Scenario is deployed" -echo - -# The stuff below is here temporarily and will be fixed once the release is out -# The stuff below is here temporarily and will be fixed once the release is out -export FUEL_MASTER_IP=10.20.0.2 -export TACKER_SCRIPT_URL="https://git.opnfv.org/cgit/fuel/plain/prototypes/sfc_tacker/poc.tacker-up.sh?h=${GIT_BRANCH#*/}" -export CONTROLLER_NODE_IP=$(sshpass -pr00tme /usr/bin/ssh -o UserKnownHostsFile=/dev/null \ - -o StrictHostKeyChecking=no root@$FUEL_MASTER_IP 'fuel node list' | \ - grep controller | head -1 | cut -d'|' -f5) - -# we can't do much if we do not have the controller IP -if [[ ! "$CONTROLLER_NODE_IP" =~ "10.20.0" ]]; then - echo "Unable to retrieve controller IP" - exit 1 -fi - -echo -echo "Copying and executing poc.tacker-up.sh script on controller node $CONTROLLER_NODE_IP" -echo - -expect << END -spawn /usr/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root $::env(FUEL_MASTER_IP) -expect { - -re ".*sword.*" { - exp_send "r00tme\r" - } -} -expect "# " -send "/usr/bin/ssh -l root $::env(CONTROLLER_NODE_IP)\r" -expect "# " -send "PS1=\"tacker_poc> \"\r" -expect -re {tacker_poc> $} -send "sudo apt-get install -y git\r" -expect -re {tacker_poc> $} -sleep 10 -send "/bin/mkdir -p /root/sfc-poc && cd /root/sfc-poc\r" -expect -re {tacker_poc> $} -send "git clone https://gerrit.opnfv.org/gerrit/fuel && cd fuel\r" -expect -re {tacker_poc> $} -send "/bin/bash /root/sfc-poc/fuel/prototypes/sfc_tacker/poc.tacker-up.sh\r" -expect -re {tacker_poc> $} -send "exit\r" -expect "Connection to $::env(CONTROLLER_NODE_IP) closed. " -send "exit\r" -expect "Connection to $::env(FUEL_MASTER_IP) closed. " -END diff --git a/jjb/fuel/fuel-plugin-build.sh b/jjb/fuel/fuel-plugin-build.sh new file mode 100755 index 000000000..f7f613dc0 --- /dev/null +++ b/jjb/fuel/fuel-plugin-build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then + JOB_TYPE=${BASH_REMATCH[0]} +else + echo "Unable to determine job type!" + exit 1 +fi + +echo "Not activated!" diff --git a/jjb/fuel/fuel-plugin-test.sh b/jjb/fuel/fuel-plugin-test.sh new file mode 100755 index 000000000..f7f613dc0 --- /dev/null +++ b/jjb/fuel/fuel-plugin-test.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then + JOB_TYPE=${BASH_REMATCH[0]} +else + echo "Unable to determine job type!" + exit 1 +fi + +echo "Not activated!" diff --git a/jjb/fuel/fuel-plugin-verify-jobs.yml b/jjb/fuel/fuel-plugin-verify-jobs.yml index affc705f3..4fea26b32 100644 --- a/jjb/fuel/fuel-plugin-verify-jobs.yml +++ b/jjb/fuel/fuel-plugin-verify-jobs.yml @@ -9,7 +9,8 @@ ##################################### stream: - master: - branch: '{stream}' + upstream-branch: '{stream}' + opnfv-branch: 'experimental' gs-pathname: '' disabled: false ##################################### @@ -44,11 +45,23 @@ max-total: 4 option: 'project' - # the url to plugin repo can essentially become a variable if - # the plugin name is injected to env by gerrit plugin + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{upstream-branch}' + description: 'OpenStack branch to use' + - string: + name: OPNFV_BRANCH + default: '{opnfv-branch}' + description: 'OPNFV branch to use' + - 'opnfv-build-defaults' + - 'fuel-verify-plugin-defaults': + gs-pathname: '{gs-pathname}' + scm: - git: - url: 'https://git.openstack.org/openstack/fuel-plugin-bgpvpn' + url: 'https://git.openstack.org/$GERRIT_PROJECT' refspec: '$GERRIT_REFSPEC' branches: - 'origin/$GERRIT_BRANCH' @@ -89,21 +102,20 @@ project-pattern: 'openstack/fuel-plugin-bgpvpn' branches: - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + branch-pattern: '**/{upstream-branch}' + forbidden-file-paths: + - compare-type: ANT + pattern: 'README.md|.gitignore|.gitreview' + - project-compare-type: 'PLAIN' + project-pattern: 'openstack/fuel-plugin-onos' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{upstream-branch}' forbidden-file-paths: - compare-type: ANT pattern: 'README.md|.gitignore|.gitreview' readable-message: true - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - 'opnfv-build-defaults' - - 'fuel-verify-plugin-defaults': - gs-pathname: '{gs-pathname}' - builders: - description-setter: description: "Built on $NODE_NAME" @@ -114,6 +126,7 @@ - name: 'fuel-verify-plugin-build-{stream}' current-parameters: false predefined-parameters: | + GERRIT_PROJECT=$GERRIT_PROJECT GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -128,6 +141,7 @@ - name: 'fuel-verify-plugin-test-{stream}' current-parameters: false predefined-parameters: | + GERRIT_PROJECT=$GERRIT_PROJECT GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -154,11 +168,24 @@ - 'fuel-verify-plugin-test-.*' block-level: 'NODE' - # the url to plugin repo can essentially become a variable if - # the plugin name is injected to env by gerrit plugin + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{upstream-branch}' + description: 'OpenStack branch to use' + - string: + name: OPNFV_BRANCH + default: '{opnfv-branch}' + description: 'OPNFV branch to use' + - '{slave-label}-defaults' + - '{installer}-defaults' + - 'fuel-verify-plugin-defaults': + gs-pathname: '{gs-pathname}' + scm: - git: - url: 'https://git.openstack.org/openstack/fuel-plugin-bgpvpn' + url: 'https://git.openstack.org/$GERRIT_PROJECT' refspec: '$GERRIT_REFSPEC' branches: - 'origin/$GERRIT_BRANCH' @@ -174,15 +201,6 @@ - timeout: timeout: 360 fail: true - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - '{slave-label}-defaults' - - '{installer}-defaults' - - 'fuel-verify-plugin-defaults': - gs-pathname: '{gs-pathname}' builders: - description-setter: @@ -194,18 +212,14 @@ - builder: name: 'fuel-verify-plugin-build-macro' builders: - - shell: | - #!/bin/bash - - echo "Not activated!" + - shell: + !include-raw: ./fuel-plugin-build.sh - builder: name: 'fuel-verify-plugin-test-macro' builders: - - shell: | - #!/bin/bash - - echo "Not activated!" + - shell: + !include-raw: ./fuel-plugin-test.sh ##################################### # parameter macros ##################################### diff --git a/jjb/fuel/fuel-smoke-test-exp.sh b/jjb/fuel/fuel-smoke-test-exp.sh new file mode 100755 index 000000000..f7f613dc0 --- /dev/null +++ b/jjb/fuel/fuel-smoke-test-exp.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "$JOB_NAME" =~ (verify|merge|daily|weekly) ]]; then + JOB_TYPE=${BASH_REMATCH[0]} +else + echo "Unable to determine job type!" + exit 1 +fi + +echo "Not activated!" diff --git a/jjb/fuel/fuel-verify-jobs-experimental.yml b/jjb/fuel/fuel-verify-jobs-experimental.yml new file mode 100644 index 000000000..ae83b08cf --- /dev/null +++ b/jjb/fuel/fuel-verify-jobs-experimental.yml @@ -0,0 +1,264 @@ +- project: + # TODO: rename the project name + # TODO: get rid of appended -exp from the remainder of the file + name: 'fuel-verify-jobs-experimental' + + project: 'fuel' + + installer: 'fuel' +#------------------------------------ +# branch definitions +#------------------------------------ + # TODO: enable master once things settle + stream-exp: + - experimental: + branch: 'stable/{stream-exp}' + gs-pathname: '/{stream-exp}' + disabled: false +#------------------------------------ +# patch verification phases +#------------------------------------ + phase: + - 'basic': + # this phase does basic commit message check, unit test and so on + slave-label: 'opnfv-build' + - 'build': + # this phase builds artifacts if valid for given installer + slave-label: 'opnfv-build-ubuntu' + - 'deploy-virtual': + # this phase does virtual deployment using the artifacts produced in previous phase + slave-label: 'fuel-virtual' + - 'smoke-test': + # this phase runs functest smoke test + slave-label: 'fuel-virtual' +#------------------------------------ +# jobs +#------------------------------------ + jobs: + - 'fuel-verify-{stream-exp}' + - 'fuel-verify-{phase}-{stream-exp}' +#------------------------------------ +# job templates +#------------------------------------ +- job-template: + name: 'fuel-verify-{stream-exp}' + + project-type: multijob + + disabled: '{obj:disabled}' + + # TODO: this is valid for experimental only + # enable concurrency for master once things settle + concurrent: false + + properties: + - throttle: + enabled: true + max-total: 4 + option: 'project' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 360 + fail: true + + triggers: + - 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}' + file-paths: + - compare-type: ANT + pattern: 'ci/**' + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'deploy/**' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-defaults' + - 'fuel-verify-defaults-exp': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'fuel-verify-basic-{stream-exp}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'fuel-verify-build-{stream-exp}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'fuel-verify-deploy-virtual-{stream-exp}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: smoke-test + condition: SUCCESSFUL + projects: + - name: 'fuel-verify-smoke-test-{stream-exp}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + +- job-template: + name: 'fuel-verify-{phase}-{stream-exp}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 6 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'fuel-verify-deploy-.*' + - 'fuel-verify-test-.*' + block-level: 'NODE' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 360 + fail: true + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - 'fuel-verify-defaults-exp': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro-exp' +#------------------------------------ +# builder macros +#------------------------------------ +- builder: + name: 'fuel-verify-basic-macro-exp' + builders: + - shell: + !include-raw: ./fuel-basic-exp.sh + +- builder: + name: 'fuel-verify-build-macro-exp' + builders: + - shell: + !include-raw: ./fuel-build-exp.sh + - shell: + !include-raw: ./fuel-workspace-cleanup.sh + +- builder: + name: 'fuel-verify-deploy-virtual-macro-exp' + builders: + - shell: + !include-raw: ./fuel-deploy-exp.sh + +- builder: + name: 'fuel-verify-smoke-test-macro-exp' + builders: + - shell: + !include-raw: ./fuel-smoke-test-exp.sh +#------------------------------------ +# parameter macros +#------------------------------------ +- parameter: + name: 'fuel-verify-defaults-exp' + parameters: + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: CACHE_DIRECTORY + default: $HOME/opnfv/cache/$INSTALLER_TYPE + description: "Directory where the cache to be used during the build is located." + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index 4747835b1..348779308 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -128,10 +128,6 @@ slave-label: '{pod}' installer: joid <<: *master - - huawei-pod2: - slave-label: '{pod}' - installer: compass - <<: *colorado - huawei-pod5: slave-label: '{pod}' installer: compass diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index b117b32ae..17796a832 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -173,4 +173,6 @@ file-paths: - compare-type: ANT pattern: 'prototypes/bifrost/**' + - compare-type: ANT + pattern: 'jjb/infra/**' readable-message: true diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh index 759b50b8e..f7920a36f 100755 --- a/jjb/infra/bifrost-verify.sh +++ b/jjb/infra/bifrost-verify.sh @@ -18,6 +18,7 @@ function fix_ownership() { echo "Not running as part of Jenkins. Handle the logs manually." else sudo chown -R jenkins:jenkins $WORKSPACE + sudo chown -R jenkins:jenkins ${HOME}/.cache fi } @@ -30,6 +31,9 @@ fi # remove previously cloned repos sudo /bin/rm -rf /opt/bifrost /opt/puppet-infracloud /opt/stack /opt/releng +# Fix up permissions +fix_ownership + # clone all the repos first and checkout the patch afterwards sudo git clone https://git.openstack.org/openstack/bifrost /opt/bifrost sudo git clone https://git.openstack.org/openstack-infra/puppet-infracloud /opt/puppet-infracloud diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh index f56de7f60..e637f7b32 100644 --- a/jjb/opnfv/opnfv-docker.sh +++ b/jjb/opnfv/opnfv-docker.sh @@ -67,22 +67,9 @@ fi # cd to directory where Dockerfile is located -if [[ "$DOCKER_REPO_NAME" == "opnfv/bottlenecks" ]]; then - cd $WORKSPACE/ci/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/cperf" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/dovetail" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/functest" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/qtip" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/storperf" ]]; then - cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/yardstick" ]]; then - cd $WORKSPACE/tests/ci/docker/yardstick-ci -else - echo "ERROR: DOCKER_REPO_NAME parameter not valid: $DOCKER_REPO_NAME" +cd $WORKSPACE/docker +if [ ! -f ./Dockerfile ]; then + echo "ERROR: Dockerfile not found." exit 1 fi diff --git a/jjb/opnfv/opnfv-utils.yml b/jjb/opnfv/opnfv-utils.yml new file mode 100644 index 000000000..94a99d451 --- /dev/null +++ b/jjb/opnfv/opnfv-utils.yml @@ -0,0 +1,40 @@ +- project: + + name: opnfv-utils + + jobs: + - 'prune-docker-images' +######################## +# job templates +######################## +- job-template: + name: 'prune-docker-images' + + disabled: false + + concurrent: true + + parameters: + - node: + name: SLAVE_NAME + description: Slaves to prune docker images + default-slaves: + - arm-build1 + - arm-build2 + - ericsson-build4 + - ericsson-build5 + - lf-build2 + allowed-multiselect: true + ignore-offline-nodes: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - shell: | + #!/bin/bash + + (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm + docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi + + triggers: + - timed: '@midnight' diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml index 6cbaba4a5..4ffaff4ae 100644 --- a/jjb/opnfv/slave-params.yml +++ b/jjb/opnfv/slave-params.yml @@ -378,20 +378,6 @@ default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - parameter: - name: 'huawei-pod2-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-pod2 - default-slaves: - - huawei-pod2 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' -- parameter: name: 'huawei-pod3-defaults' parameters: - node: diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml index ac323a3c1..2d88449e8 100644 --- a/jjb/releng/releng-ci-jobs.yml +++ b/jjb/releng/releng-ci-jobs.yml @@ -2,7 +2,6 @@ name: builder-jobs jobs: - 'builder-verify-jjb' - - 'builder-sandbox' - 'builder-merge' - 'artifacts-api' @@ -102,55 +101,6 @@ jenkins-jobs update -r --delete-old jjb/ - job-template: - name: 'builder-sandbox' - - # Upload all jjb jobs to sandbox instance, excluding jobs jjb - # builder jobs - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: 'master' - - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - 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: 'releng' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/sandbox' - file-paths: - - compare-type: ANT - pattern: jjb/** - - compare-type: ANT - pattern: utils/** - - builders: - - shell: - !include-raw: verify-releng.sh - - shell: | - #!/bin/bash - source /opt/virtualenv/jenkins-job-builder/bin/activate - cd /opt/jenkins-ci/releng - git pull - cp /etc/jenkins_jobs/jenkins_jobs.ini jenkins_sandbox.ini - sed -i 's/url=.*/url=https:\/\/sandbox.opnfv.org\//g' jenkins_sandbox.ini - jenkins-jobs --conf jenkins_sandbox.ini update -r -x jjb/releng --delete-old jjb - rm -f jenkins_sandbox.ini - -- job-template: name: 'artifacts-api' # Generate and upload the JSON file to used for artifacts site diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index 1cb1c9779..962ea4743 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -177,11 +177,6 @@ installer: joid auto-trigger-name: 'daily-trigger-disabled' <<: *master - - huawei-pod2: - slave-label: '{pod}' - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado - huawei-pod3: slave-label: '{pod}' installer: compass @@ -372,14 +367,6 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-huawei-pod2' - parameters: - - string: - name: YARDSTICK_DB_BACKEND - default: '-i 104.197.68.199:8086' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: name: 'yardstick-params-huawei-pod5' parameters: - string: |