diff options
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/apex/apex.yaml | 40 | ||||
-rw-r--r-- | jjb/apex/scenarios.yaml.hidden | 4 | ||||
-rw-r--r-- | jjb/armband/armband-ci-jobs.yaml | 15 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-ci-jobs.yaml | 27 | ||||
-rwxr-xr-x | jjb/container4nfv/arm64/compass-build.sh | 8 | ||||
-rwxr-xr-x | jjb/container4nfv/arm64/compass-deploy.sh | 4 | ||||
-rwxr-xr-x | jjb/container4nfv/arm64/deploy-cni.sh | 17 | ||||
-rw-r--r-- | jjb/container4nfv/container4nfv-arm64.yaml | 96 | ||||
-rw-r--r-- | jjb/fuel/fuel-daily-jobs.yaml | 37 | ||||
-rw-r--r-- | jjb/fuel/fuel-docker-jobs.yaml | 200 | ||||
-rw-r--r-- | jjb/xci/xci-daily-jobs.yaml | 254 | ||||
-rw-r--r-- | jjb/xci/xci-merge-jobs.yaml | 2 | ||||
-rw-r--r-- | jjb/xci/xci-verify-jobs.yaml | 2 |
13 files changed, 566 insertions, 140 deletions
diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml index d48ea262b..82f766e20 100644 --- a/jjb/apex/apex.yaml +++ b/jjb/apex/apex.yaml @@ -149,6 +149,14 @@ <<: *master - 'os-odl-bgpvpn_queens-noha': <<: *master + - 'os-odl-sfc-ha': + <<: *master + - 'os-odl-sfc-noha': + <<: *master + - 'os-odl-sfc_queens-ha': + <<: *master + - 'os-odl-sfc_queens-noha': + <<: *master - 'os-nosdn-nofeature-noha': <<: *euphrates - 'os-nosdn-nofeature-ha': @@ -1609,6 +1617,38 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false + - name: 'apex-os-odl-sfc-ha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-sfc-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-sfc_queens-ha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-sfc_queens-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false # euphrates Builder - builder: diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index f297af75d..b032613a3 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -14,6 +14,10 @@ master: - 'os-odl-bgpvpn-noha' - 'os-odl-bgpvpn_queens-ha' - 'os-odl-bgpvpn_queens-noha' + - 'os-odl-sfc-ha' + - 'os-odl-sfc-noha' + - 'os-odl-sfc_queens-ha' + - 'os-odl-sfc_queens-noha' fraser: - 'os-nosdn-nofeature-ha' - 'os-odl-bgpvpn-ha' diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml index ad96cf38e..959115ac2 100644 --- a/jjb/armband/armband-ci-jobs.yaml +++ b/jjb/armband/armband-ci-jobs.yaml @@ -66,11 +66,17 @@ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' - 'os-nosdn-ovs-ha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-vpp-ha': + auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' # NOHA scenarios - 'os-nosdn-nofeature-noha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' + exclude: + - scenario: os-nosdn-vpp-ha + stream: fraser + jobs: - '{installer}-{scenario}-{pod}-daily-{stream}' - '{installer}-deploy-{pod}-daily-{stream}' @@ -301,6 +307,10 @@ name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' triggers: - timed: '0 1 * * 1,3,5' +- trigger: + name: 'fuel-os-nosdn-vpp-ha-armband-baremetal-master-trigger' + triggers: + - timed: '' # --------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against fraser branch # --------------------------------------------------------------------- @@ -324,7 +334,6 @@ name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger' triggers: - timed: '' - # -------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against master branch # -------------------------------------------------------------- @@ -348,6 +357,10 @@ name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger' triggers: - timed: '' +- trigger: + name: 'fuel-os-nosdn-vpp-ha-armband-virtual-master-trigger' + triggers: + - timed: '' # ------------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against fraser branch # ------------------------------------------------------------------- diff --git a/jjb/compass4nfv/compass-ci-jobs.yaml b/jjb/compass4nfv/compass-ci-jobs.yaml index f9d222a7d..3a263d451 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yaml +++ b/jjb/compass4nfv/compass-ci-jobs.yaml @@ -129,6 +129,9 @@ - 'k8-nosdn-stor4nfv-noha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-stor4nfv-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' jobs: - 'compass-{scenario}-{pod}-daily-{stream}' @@ -511,6 +514,10 @@ name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-centos-master-trigger' triggers: - timed: '' +- trigger: + name: 'compass-os-nosdn-stor4nfv-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' # ---------------------------- # noha-baremetal-centos-master @@ -604,6 +611,10 @@ name: 'compass-k8-nosdn-stor4nfv-ha-huawei-pod7-danube-trigger' triggers: - timed: '' +- trigger: + name: 'compass-os-nosdn-stor4nfv-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' # ---------------------------- # noha-huawei-pod7-danube @@ -696,6 +707,10 @@ name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-master-trigger' triggers: - timed: '0 16 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-stor4nfv-ha-baremetal-master-trigger' + triggers: + - timed: '0 20 1-29/2 * *' # --------------------- # noha-baremetal-master @@ -788,6 +803,10 @@ name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-fraser-trigger' triggers: - timed: '0 7 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-stor4nfv-ha-baremetal-fraser-trigger' + triggers: + - timed: '' # --------------------- # noha-baremetal-fraser @@ -880,6 +899,10 @@ name: 'compass-k8-nosdn-stor4nfv-ha-virtual-master-trigger' triggers: - timed: '0 15 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-stor4nfv-ha-virtual-master-trigger' + triggers: + - timed: '0 19 2-30/2 * *' # ------------------- # noha-virtual-master @@ -972,6 +995,10 @@ name: 'compass-k8-nosdn-stor4nfv-ha-virtual-fraser-trigger' triggers: - timed: '0 15 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-stor4nfv-ha-virtual-fraser-trigger' + triggers: + - timed: '' # ------------------- # noha-virtual-fraser diff --git a/jjb/container4nfv/arm64/compass-build.sh b/jjb/container4nfv/arm64/compass-build.sh index 696f7ff76..48381cb00 100755 --- a/jjb/container4nfv/arm64/compass-build.sh +++ b/jjb/container4nfv/arm64/compass-build.sh @@ -7,8 +7,8 @@ COMPASS_WORK_DIR=$WORKSPACE/../compass-work mkdir -p $COMPASS_WORK_DIR ln -s $COMPASS_WORK_DIR work -#TODO: remove workaround after all arm64 patches merged -curl -s http://people.linaro.org/~yibo.cai/compass/compass4nfv-arm64-fixup.sh | bash -s {scenario} +sudo docker rm -f `docker ps | grep compass | cut -f1 -d' '` || true -# build tarball -COMPASS_ISO_REPO='http://people.linaro.org/~yibo.cai/compass' ./build.sh +curl -s http://people.linaro.org/~yibo.cai/compass/compass4nfv-arm64-fixup.sh | bash || true + +./build.sh diff --git a/jjb/container4nfv/arm64/compass-deploy.sh b/jjb/container4nfv/arm64/compass-deploy.sh index a22af09ba..7889c3bba 100755 --- a/jjb/container4nfv/arm64/compass-deploy.sh +++ b/jjb/container4nfv/arm64/compass-deploy.sh @@ -5,11 +5,11 @@ cd compass4nfv export ADAPTER_OS_PATTERN='(?i)CentOS-7.*arm.*' export OS_VERSION="centos7" -export KUBERNETES_VERSION="v1.7.5" +export KUBERNETES_VERSION="v1.9.1" if [[ "$NODE_NAME" =~ "-virtual" ]]; then export DHA="deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml" export NETWORK="deploy/conf/vm_environment/network.yml" - export VIRT_NUMBER=2 VIRT_CPUS=4 VIRT_MEM=8192 VIRT_DISK=50G + export VIRT_NUMBER=2 VIRT_CPUS=8 VIRT_MEM=8192 VIRT_DISK=50G else export DHA="deploy/conf/hardware_environment/huawei-pod8/k8-nosdn-nofeature-noha.yml" export NETWORK="deploy/conf/hardware_environment/huawei-pod8/network.yml" diff --git a/jjb/container4nfv/arm64/deploy-cni.sh b/jjb/container4nfv/arm64/deploy-cni.sh new file mode 100755 index 000000000..9afb98048 --- /dev/null +++ b/jjb/container4nfv/arm64/deploy-cni.sh @@ -0,0 +1,17 @@ +#!/bin/bash -e + +cd container4nfv/src/arm/cni-deploy + +DEPLOY_SCENARIO={scenario} + +virtualenv .venv +source .venv/bin/activate +pip install ansible==2.6.1 + +ansible-playbook -i inventory/inventory.cfg deploy.yml --tags flannel,multus + +if [ "$DEPLOY_SCENARIO" == "k8-sriov-nofeature-noha" ]; then + ansible-playbook -i inventory/inventory.cfg deploy.yml --tags sriov +elif [ "$DEPLOY_SCENARIO" == "k8-vpp-nofeature-noha" ]; then + ansible-playbook -i inventory/inventory.cfg deploy.yml --tags vhost-vpp +fi diff --git a/jjb/container4nfv/container4nfv-arm64.yaml b/jjb/container4nfv/container4nfv-arm64.yaml index 5f5bc8627..b66667471 100644 --- a/jjb/container4nfv/container4nfv-arm64.yaml +++ b/jjb/container4nfv/container4nfv-arm64.yaml @@ -14,21 +14,28 @@ disabled: false - 'k8-sriov-nofeature-noha': disabled: false + - 'k8-vpp-nofeature-noha': + disabled: false pod: - virtual: slave-label: arm-packet01 - baremetal: slave-label: compass-baremetal-arm jobs: + - 'container4nfv-arm-deploy-{pod}-daily-{stream}' - 'container4nfv-{scenario}-{pod}-daily-{stream}' - job-template: - name: 'container4nfv-{scenario}-{pod}-daily-{stream}' - disabled: '{obj:disabled}' - concurrent: false + name: 'container4nfv-arm-deploy-{pod}-daily-{stream}' + disabled: false node: '{slave-label}' + wrappers: + - timeout: + timeout: 210 + fail: true + scm: - git: url: https://gerrit.opnfv.org/gerrit/compass4nfv @@ -38,12 +45,7 @@ wipe-workspace: true triggers: - - 'trigger-{scenario}-{pod}-{stream}' - - wrappers: - - timeout: - timeout: 150 - fail: true + - 'trigger-deploy-{pod}-{stream}' builders: - shell: @@ -54,42 +56,68 @@ - project: yardstick-arm64-compass-arm-virtual03-daily-master current-parameters: false same-node: true - block: false + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'Failure' + - project: container4nfv-k8-multus-nofeature-noha-{pod}-daily-{stream} + current-parameters: true + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'Failure' + - project: container4nfv-k8-sriov-nofeature-noha-{pod}-daily-{stream} + current-parameters: true + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'Failure' + - project: container4nfv-k8-vpp-nofeature-noha-{pod}-daily-{stream} + current-parameters: true + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'never' -- trigger: - name: 'trigger-k8-multus-nofeature-noha-virtual-master' - triggers: - - timed: '0 12 * * *' -- trigger: - name: 'trigger-k8-sriov-nofeature-noha-virtual-master' - triggers: - - timed: '0 15 * * *' +- job-template: + name: 'container4nfv-{scenario}-{pod}-daily-{stream}' + disabled: '{obj:disabled}' + node: '{slave-label}' -- trigger: - name: 'trigger-k8-multus-nofeature-noha-virtual-fraser' - triggers: - - timed: '0 18 * * *' -- trigger: - name: 'trigger-k8-sriov-nofeature-noha-virtual-fraser' - triggers: - - timed: '0 21 * * *' + scm: + - git: + url: https://gerrit.opnfv.org/gerrit/container4nfv + branches: + - master + basedir: container4nfv + wipe-workspace: true + + builders: + - shell: + !include-raw: arm64/deploy-cni.sh - trigger: - name: 'trigger-k8-multus-nofeature-noha-baremetal-master' + name: 'trigger-deploy-virtual-master' triggers: - timed: '0 12 * * *' - trigger: - name: 'trigger-k8-sriov-nofeature-noha-baremetal-master' + name: 'trigger-deploy-virtual-fraser' triggers: - - timed: '0 15 * * *' - + - timed: '0 18 * * *' - trigger: - name: 'trigger-k8-multus-nofeature-noha-baremetal-fraser' + name: 'trigger-deploy-baremetal-master' triggers: - - timed: '0 18 * * *' + - timed: '0 12 * * *' - trigger: - name: 'trigger-k8-sriov-nofeature-noha-baremetal-fraser' + name: 'trigger-deploy-baremetal-fraser' triggers: - - timed: '0 21 * * *' + - timed: '0 18 * * *' diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml index 885096557..fc8269a56 100644 --- a/jjb/fuel/fuel-daily-jobs.yaml +++ b/jjb/fuel/fuel-daily-jobs.yaml @@ -75,6 +75,8 @@ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-kvm_ovs_dpdk_bar-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' + - 'os-nosdn-vpp-ha': + auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' # NOHA scenarios - 'os-nosdn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' @@ -96,6 +98,8 @@ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-kvm_ovs_dpdk_bar-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' + - 'os-nosdn-vpp-noha': + auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' # danube scenario for Dovetail only - 'os-odl_l2-bgpvpn-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' @@ -111,6 +115,14 @@ stream: danube - scenario: os-odl-ovs-noha stream: fraser + - scenario: os-nosdn-vpp-ha + stream: fraser + - scenario: os-nosdn-vpp-noha + stream: fraser + - scenario: os-nosdn-vpp-ha + stream: danube + - scenario: os-nosdn-vpp-noha + stream: danube jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' @@ -395,6 +407,11 @@ name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-master-trigger' triggers: - timed: '' # '30 8 * * *' +- trigger: + name: 'fuel-os-nosdn-vpp-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' + # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' @@ -436,6 +453,10 @@ name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-master-trigger' triggers: - timed: '' +- trigger: + name: 'fuel-os-nosdn-vpp-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' # ---------------------------------------------- # Triggers for job running on fuel-baremetal against fraser branch # ---------------------------------------------- @@ -552,6 +573,10 @@ name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-master-trigger' triggers: - timed: '' +- trigger: + name: 'fuel-os-nosdn-vpp-ha-virtual-daily-master-trigger' + triggers: + - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger' @@ -593,6 +618,10 @@ name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-master-trigger' triggers: - timed: '' # '30 20 * * *' +- trigger: + name: 'fuel-os-nosdn-vpp-noha-virtual-daily-master-trigger' + triggers: + - timed: '' # ---------------------------------------------- # Triggers for job running on fuel-virtual against fraser branch # ---------------------------------------------- @@ -708,6 +737,10 @@ name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' +- trigger: + name: 'fuel-os-nosdn-vpp-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger' @@ -749,3 +782,7 @@ name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' +- trigger: + name: 'fuel-os-nosdn-vpp-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' diff --git a/jjb/fuel/fuel-docker-jobs.yaml b/jjb/fuel/fuel-docker-jobs.yaml new file mode 100644 index 000000000..98ed66da7 --- /dev/null +++ b/jjb/fuel/fuel-docker-jobs.yaml @@ -0,0 +1,200 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: fuel-docker + + project: fuel + + stream: + - master: + branch: '{stream}' + disabled: false + - gambia: + branch: 'stable/{stream}' + disabled: true + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + jobs: + - "fuel-docker-{stream}" + - "fuel-docker-build-{arch_tag}-{stream}" + - "fuel-docker-manifest-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'fuel-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - fuel-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/25 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build fuel images' + execution-type: PARALLEL + projects: + - name: 'fuel-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'fuel-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish fuel manifests' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'fuel-docker-manifest-{stream}' + <<: *manifest-job-settings + + publishers: + - email-fuel-ptl + +- job-template: + name: 'fuel-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - fuel-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + tag="latest" ;; + *) + tag="{stream}" ;; + esac + sudo ./ci/build.sh $tag + +- job-template: + name: 'fuel-docker-manifest-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: REPO + default: "opnfv" + description: "Repository name for fuel-docker images" + + + disabled: '{obj:disabled}' + + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + tag="latest" ;; + *) + tag="{stream}" ;; + esac + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template $REPO/fuel:saltmaster-reclass-ARCH-$tag \ + --target $REPO/fuel:saltmaster-reclass-$tag + exit $? + +# parameter macro +- parameter: + name: fuel-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for fuel-docker images" diff --git a/jjb/xci/xci-daily-jobs.yaml b/jjb/xci/xci-daily-jobs.yaml index c1132ab85..47bd83c8a 100644 --- a/jjb/xci/xci-daily-jobs.yaml +++ b/jjb/xci/xci-daily-jobs.yaml @@ -1,15 +1,9 @@ --- -# ------------------------------- -# These jobs run on a daily basis and deploy OpenStack -# using the pinned versions of opnfv/releng, openstack/bifrost -# and openstack/openstack-ansible. Due to this, there is no -# version/branch is set/passed to jobs and instead the versions -# are checked out based on what is configured. -# ------------------------------- - project: project: 'releng-xci' name: 'xci-daily' + # ------------------------------- # Branch Anchors # ------------------------------- @@ -17,55 +11,87 @@ stream: master opnfv-releng-version: master gs-pathname: '' + # ------------------------------- # Scenarios # ------------------------------- scenario: - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' - xci-flavor: 'ha' - 'os-nosdn-nofeature-noha': auto-trigger-name: 'daily-trigger-disabled' - xci-flavor: 'noha' - - 'os-odl-sfc-ha': + deploy-scenario: 'os-nosdn-nofeature' + installer-type: 'osa' + xci-flavor: 'mini' + - 'os-nosdn-osm-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'os-nosdn-osm' + installer-type: 'osa' + xci-flavor: 'mini' + - 'os-odl-nofeature-noha': auto-trigger-name: 'daily-trigger-disabled' - xci-flavor: 'ha' + deploy-scenario: 'os-odl-nofeature' + installer-type: 'osa' + xci-flavor: 'mini' + - 'os-odl-bgpvpn-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'os-odl-bgpvpn' + installer-type: 'osa' + xci-flavor: 'mini' - 'os-odl-sfc-noha': auto-trigger-name: 'daily-trigger-disabled' - xci-flavor: 'noha' + deploy-scenario: 'os-odl-sfc' + installer-type: 'osa' + xci-flavor: 'mini' + - 'k8-nosdn-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'k8-nosdn-nofeature' + installer-type: 'kubespray' + xci-flavor: 'mini' + - 'k8-canal-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'k8-canal-nofeature' + installer-type: 'kubespray' + xci-flavor: 'mini' + - 'k8-calico-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'k8-calico-nofeature' + installer-type: 'kubespray' + xci-flavor: 'mini' + - 'k8-contiv-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'k8-contiv-nofeature' + installer-type: 'kubespray' + xci-flavor: 'mini' + - 'k8-flannel-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'k8-flannel-nofeature' + installer-type: 'kubespray' + xci-flavor: 'mini' + - 'k8-nosdn-istio-noha': + auto-trigger-name: 'daily-trigger-disabled' + deploy-scenario: 'k8-nosdn-istio' + installer-type: 'kubespray' + xci-flavor: 'mini' + # ------------------------------- # XCI PODs # ------------------------------- pod: - virtual: <<: *master + # ------------------------------- # Supported Distros # ------------------------------- distro: - - 'xenial': + - 'ubuntu': disabled: false - slave-label: xci-xenial-virtual - dib-os-release: 'xenial' - dib-os-element: 'ubuntu-minimal' - # yamllint disable rule:line-length - dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptabls' - # yamllint enable rule:line-length - extra-dib-elements: 'openssh-server' - - 'centos7': - disabled: true - slave-label: xci-centos7-virtual - dib-os-release: '7' - dib-os-element: 'centos7' - dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' - extra-dib-elements: 'openssh-server' - - 'suse': + slave-label: xci-virtual + - 'centos': disabled: true - slave-label: xci-suse-virtual - dib-os-release: '42.3' - dib-os-element: 'opensuse-minimal' - dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' - extra-dib-elements: 'openssh-server' + slave-label: xci-virtual + - 'opensuse': + disabled: false + slave-label: xci-virtual # ------------------------------- # Phases @@ -73,6 +99,7 @@ phase: - 'deploy' - 'functest' + # ------------------------------- # jobs # ------------------------------- @@ -94,7 +121,10 @@ - build-blocker: use-build-blocker: true blocking-jobs: + - '^xci-verify.*' + - '^xci-merge.*' - '^xci-os.*' + - '^xci-k8.*' - '^xci-deploy.*' - '^xci-functest.*' - '^bifrost-.*periodic.*' @@ -105,7 +135,10 @@ parameters: - string: name: DEPLOY_SCENARIO - default: '{scenario}' + default: '{deploy-scenario}' + - string: + name: INSTALLER_TYPE + default: '{installer-type}' - string: name: XCI_FLAVOR default: '{xci-flavor}' @@ -113,25 +146,43 @@ name: SLAVE_LABEL default: '{slave-label}' - string: + name: XCI_DISTRO + default: '{distro}' + - string: + name: FUNCTEST_MODE + default: 'tier' + - string: + name: FUNCTEST_SUITE_NAME + default: 'healthcheck' + - string: name: CI_LOOP default: 'daily' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' triggers: - '{auto-trigger-name}' wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 - fix-workspace-permissions builders: - description-setter: - description: "Built on $NODE_NAME" + description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME" - trigger-builds: - project: 'xci-deploy-{pod}-{distro}-daily-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO + INSTALLER_TYPE=$INSTALLER_TYPE XCI_FLAVOR=$XCI_FLAVOR CI_LOOP=$CI_LOOP + XCI_DISTRO=$XCI_DISTRO same-node: true block: true - trigger-builds: @@ -139,8 +190,12 @@ current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO + INSTALLER_TYPE=$INSTALLER_TYPE XCI_FLAVOR=$XCI_FLAVOR CI_LOOP=$CI_LOOP + XCI_DISTRO=$XCI_DISTRO + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME same-node: true block: true block-thresholds: @@ -150,42 +205,37 @@ publishers: # yamllint disable rule:line-length - - email: - recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com # yamllint enable rule:line-length - email-jenkins-admins-on-failure - - postbuildscript: - builders: - - role: BOTH - build-on: - - ABORTED - - FAILURE - - NOT_BUILT - - SUCCESS - - UNSTABLE - build-steps: - - shell: !include-raw: ./xci-cleanup.sh - mark-unstable-if-failed: true - job-template: name: 'xci-{phase}-{pod}-{distro}-daily-{stream}' - disabled: '{obj:disabled}' + disabled: false - concurrent: false + concurrent: true properties: - build-blocker: use-build-blocker: true blocking-jobs: + - '^xci-verify.*' + - '^xci-merge.*' - '^xci-deploy.*' - '^xci-functest.*' - '^bifrost-.*periodic.*' - '^osa-.*periodic.*' block-level: 'NODE' + - throttle: + enabled: true + max-per-node: 1 + option: 'project' - logrotate-default wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 - fix-workspace-permissions scm: @@ -196,76 +246,82 @@ project: '{project}' branch: '{opnfv-releng-version}' - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - - string: name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - - string: - name: XCI_FLAVOR - default: 'ha' - - string: - name: DISTRO - default: '{distro}' - - string: - name: DIB_OS_RELEASE - default: '{dib-os-release}' + default: 'os-nosdn-nofeature-noha' - string: - name: DIB_OS_ELEMENT - default: '{dib-os-element}' - - string: - name: DIB_OS_PACKAGES - default: '{dib-os-packages}' + name: INSTALLER_TYPE + default: 'osa' - string: - name: EXTRA_DIB_ELEMENTS - default: '{extra-dib-elements}' + name: XCI_FLAVOR + default: 'mini' - string: - name: CLEAN_DIB_IMAGES - default: 'true' + name: XCI_DISTRO + default: 'ubuntu' - label: name: SLAVE_LABEL default: '{slave-label}' - string: - name: CI_LOOP - default: 'daily' - - string: - name: INSTALLER_TYPE - default: 'osa' - - string: name: FUNCTEST_MODE - default: 'daily' + default: 'tier' - string: name: FUNCTEST_SUITE_NAME + default: 'healthcheck' + - string: + name: CI_LOOP default: 'daily' - description: "Daily suite name to run" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT builders: - description-setter: - description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" - - 'xci-{phase}-builder' + description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME" + - 'xci-daily-{phase}-macro' # -------------------------- # builder macros # -------------------------- +# These need to be properly fixed once the basic deployment and functest +# jobs are working outside of clean vm. +# One of the ugly fixes is moving functest preparation step into the +# deployment job itself since functest preparation requires some of the +# things from deployment job. With clean VM, this wasn't an issue +# since everything was on clean VM. When we move things out of clean +# VM, things are done in workspaces of the jobs that are different. +# +# Apart from these things, we will need to go through the scripts +# used for verify jobs and make them updated in order to be able to +# use them for jobs that don't use clean VM. - builder: - name: xci-deploy-builder + name: 'xci-daily-deploy-macro' builders: - - shell: - !include-raw: ./xci-deploy.sh + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + + cd $WORKSPACE/xci && ./xci-deploy.sh + + echo "Prepare OPNFV VM for Functest" + echo "---------------------------------------------------------------------------------" + export XCI_PATH=$WORKSPACE + export XCI_VENV=${XCI_PATH}/venv + source $XCI_VENV/bin/activate + while read var; do + declare -x "\${var}" 2>/dev/null + echo $var + done < ${XCI_PATH}/.cache/xci.env && cd ${XCI_PATH}/xci && \ + ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-functest.yml + + echo "Run Functest" + echo "---------------------------------------------------------------------------------" - builder: - name: xci-functest-builder + name: 'xci-daily-functest-macro' builders: - shell: | #!/bin/bash + set -o errexit + set -o pipefail - 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 + ssh root@192.168.122.2 "/root/run-functest.sh" diff --git a/jjb/xci/xci-merge-jobs.yaml b/jjb/xci/xci-merge-jobs.yaml index cb438ad5d..0cf1ab9e5 100644 --- a/jjb/xci/xci-merge-jobs.yaml +++ b/jjb/xci/xci-merge-jobs.yaml @@ -223,6 +223,8 @@ blocking-jobs: - 'xci-verify-{distro}-.*' - 'xci-merge-{distro}-.*' + - 'xci-os.*' + - 'xci-k8.*' - 'openstack-bifrost-verify-{distro}-.*' - 'xci-osa-verify-{distro}-.*' - 'xci-osa-periodic-{distro}-.*' diff --git a/jjb/xci/xci-verify-jobs.yaml b/jjb/xci/xci-verify-jobs.yaml index baff0c99e..cc6de488f 100644 --- a/jjb/xci/xci-verify-jobs.yaml +++ b/jjb/xci/xci-verify-jobs.yaml @@ -67,6 +67,8 @@ blocking-jobs: - 'xci-verify-{distro}-.*' - 'xci-merge-{distro}-.*' + - 'xci-os-.*' + - 'xci-k8-.*' - 'openstack-bifrost-verify-{distro}-.*' - 'xci-osa-verify-{distro}-.*' - 'xci-osa-periodic-{distro}-.*' |