diff options
Diffstat (limited to 'jjb')
-rwxr-xr-x | jjb/apex/apex-build.sh | 11 | ||||
-rwxr-xr-x | jjb/apex/apex-deploy.sh | 9 | ||||
-rwxr-xr-x | jjb/apex/apex-download-artifact.sh | 5 | ||||
-rw-r--r-- | jjb/apex/apex-verify-jobs.yaml | 3 | ||||
-rw-r--r-- | jjb/apex/apex.yaml | 89 | ||||
-rw-r--r-- | jjb/apex/apex.yaml.j2 | 61 | ||||
-rw-r--r-- | jjb/apex/scenarios.yaml.hidden | 2 | ||||
-rw-r--r-- | jjb/armband/armband-ci-jobs.yaml | 2 | ||||
-rw-r--r-- | jjb/fuel/fuel-daily-jobs.yaml | 16 | ||||
-rw-r--r-- | jjb/functest/functest-daily-jobs.yaml | 29 | ||||
-rw-r--r-- | jjb/releng/compass4nfv-docker.yaml | 99 | ||||
-rw-r--r-- | jjb/releng/releng-release-create-venv.sh (renamed from jjb/releng/releng-release-verify.sh) | 23 | ||||
-rw-r--r-- | jjb/releng/releng-release-jobs.yaml | 32 | ||||
-rw-r--r-- | jjb/releng/releng-release-tagging.sh | 70 |
14 files changed, 298 insertions, 153 deletions
diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh index aabd20e30..09aa716be 100755 --- a/jjb/apex/apex-build.sh +++ b/jjb/apex/apex-build.sh @@ -12,21 +12,26 @@ echo if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$') export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}" - export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + if [ "$BRANCH" == 'master' ]; then + # build rpm + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" + else + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + fi elif echo $BUILD_TAG | grep "csit" 1> /dev/null; then export OPNFV_ARTIFACT_VERSION=csit${BUILD_NUMBER} export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" elif [ "$ARTIFACT_VERSION" == "daily" ]; then export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d") if [ "$BRANCH" == 'master' ]; then - export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso" fi else export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION} if [ "$BRANCH" == 'master' ]; then - export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso" fi diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index 35c2b8544..dfaf2a8b5 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -118,11 +118,8 @@ if [[ "$JOB_NAME" =~ "virtual" ]]; then if [[ "${DEPLOY_SCENARIO}" =~ fdio|ovs ]]; then DEPLOY_CMD="${DEPLOY_CMD} --virtual-default-ram 12 --virtual-compute-ram 7" fi - if [[ "$JOB_NAME" == *csit* ]]; then - DEPLOY_CMD="${DEPLOY_CMD} -e csit-environment.yaml" - fi if [[ "$PROMOTE" == "True" ]]; then - DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 1" + DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 2 -e csit-environment.yaml" fi else # settings for bare metal deployment @@ -144,6 +141,8 @@ fi if [ "$IPV6_FLAG" == "True" ]; then NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml" +elif [[ "$PROMOTE" == "True" ]]; then + NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_csit.yaml" else NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml" fi @@ -157,7 +156,7 @@ fi # start deployment sudo ${DEPLOY_CMD} -d ${DEPLOY_FILE} -n ${NETWORK_FILE} --debug -if [[ "$JOB_NAME" == *csit* ]]; then +if [[ "$PROMOTE" == 'True' ]]; then echo "CSIT job: setting host route for floating ip routing" # csit route to allow docker container to reach floating ips UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo "[0-9\.]+{3}[0-9]+") diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh index 3efe1cbc7..e1e51b3b6 100755 --- a/jjb/apex/apex-download-artifact.sh +++ b/jjb/apex/apex-download-artifact.sh @@ -45,10 +45,9 @@ else RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//') RPM_LIST=$(basename $OPNFV_RPM_URL) - + # find version of RPM + VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)') if [ "$BRANCH" != 'master' ]; then - # find version of RPM - VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)') # build RPM List which already includes base Apex RPM RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm" RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm" diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml index 7dbd6709b..8140d9ef5 100644 --- a/jjb/apex/apex-verify-jobs.yaml +++ b/jjb/apex/apex-verify-jobs.yaml @@ -243,6 +243,8 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + FUNCTEST_SUITE_NAME=healthcheck + FUNCTEST_MODE=tier node-parameters: false kill-phase-on: FAILURE abort-all-job: true @@ -309,6 +311,7 @@ blocking-jobs: - 'apex-verify.*' - 'apex-virtual.*' + - 'apex-.*-promote.*' - throttle: max-per-node: 1 max-total: 10 diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml index 587a06377..bb5b53d6d 100644 --- a/jjb/apex/apex.yaml +++ b/jjb/apex/apex.yaml @@ -8,7 +8,7 @@ - 'apex-virtual-{stream}' - 'apex-deploy-{platform}-{stream}' - 'apex-daily-{stream}' - - 'apex-csit-promote-daily-{stream}' + - 'apex-csit-promote-daily-{stream}-{os_version}' - 'apex-fdio-promote-daily-{stream}' - 'apex-{scenario}-baremetal-{scenario_stream}' - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' @@ -25,7 +25,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'master' disable_daily: false disable_promote: false @@ -35,7 +35,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'fraser' disable_daily: false disable_promote: true @@ -144,9 +144,13 @@ <<: *danube - 'os-ovn-nofeature-noha': <<: *danube - - 'os-odl-master_upstream-noha': + - 'os-odl-nofeature-noha': <<: *master - - 'os-odl-queens_upstream-noha': + - 'os-odl-nofeature-ha': + <<: *master + - 'os-odl-queens-noha': + <<: *master + - 'os-odl-queens-ha': <<: *master - 'os-nosdn-nofeature-noha': <<: *euphrates @@ -190,9 +194,12 @@ - 'virtual' os_version: - - 'pike' - - 'queens' - - 'master' + - 'pike': + os_scenario: 'pike' + - 'queens': + os_scenario: 'queens' + - 'master': + os_scenario: 'nofeature' # Fetch Logs Job @@ -361,6 +368,7 @@ parameters: - '{project}-defaults' - '{project}-virtual-{stream}-defaults' + - 'functest-suite-parameter' - project-parameter: project: '{project}' branch: '{branch}' @@ -382,7 +390,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' @@ -408,6 +415,7 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + PROMOTE=$PROMOTE node-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -420,7 +428,8 @@ current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO - FUNCTEST_SUITE_NAME=healthcheck + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -570,7 +579,6 @@ blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-testsuite-.+-baremetal-.+' - throttle: @@ -758,7 +766,7 @@ # CSIT promote - job-template: - name: 'apex-csit-promote-daily-{stream}' + name: 'apex-csit-promote-daily-{stream}-{os_version}' # Job template for promoting CSIT Snapshots # @@ -778,6 +786,14 @@ branch: '{branch}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: ARTIFACT_VERSION + default: dev + description: "Used for overriding the ARTIFACT_VERSION" + - string: + name: PROMOTE + default: 'True' + description: "Used for overriding the PROMOTE" properties: - build-blocker: @@ -785,7 +801,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-verify.*' - - 'apex-deploy.*' - 'apex-runner.*' - 'apex-daily.*' @@ -794,40 +809,24 @@ builders: - multijob: - name: deploy-virtual + name: apex-virtual-deploy-test condition: SUCCESSFUL projects: - - name: 'apex-deploy-virtual-{stream}' - current-parameters: false + - name: 'apex-virtual-{stream}' + current-parameters: true predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha + DEPLOY_SCENARIO=os-odl-{os_scenario}-noha OPNFV_CLEAN=yes GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - PROMOTE=True - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: false - - multijob: - name: functest-smoke - condition: SUCCESSFUL - projects: - - name: 'functest-apex-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha FUNCTEST_SUITE_NAME=tempest_smoke_serial - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + FUNCTEST_MODE=testcase node-parameters: true kill-phase-on: FAILURE abort-all-job: true - git-revision: false + git-revision: true - multijob: name: create snapshot condition: SUCCESSFUL @@ -1494,7 +1493,23 @@ name: Baremetal Deploy and Test Phase condition: SUCCESSFUL projects: - - name: 'apex-os-odl-master_upstream-noha-baremetal-master' + - name: 'apex-os-odl-nofeature-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-nofeature-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-queens-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1502,7 +1517,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-odl-queens_upstream-noha-baremetal-master' + - name: 'apex-os-odl-queens-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2 index 4620bbc7e..3397f1ed2 100644 --- a/jjb/apex/apex.yaml.j2 +++ b/jjb/apex/apex.yaml.j2 @@ -8,7 +8,7 @@ - 'apex-virtual-{stream}' - 'apex-deploy-{platform}-{stream}' - 'apex-daily-{stream}' - - 'apex-csit-promote-daily-{stream}' + - 'apex-csit-promote-daily-{stream}-{os_version}' - 'apex-fdio-promote-daily-{stream}' - 'apex-{scenario}-baremetal-{scenario_stream}' - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' @@ -25,7 +25,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'master' disable_daily: false disable_promote: false @@ -35,7 +35,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'fraser' disable_daily: false disable_promote: true @@ -74,9 +74,12 @@ - 'virtual' os_version: - - 'pike' - - 'queens' - - 'master' + - 'pike': + os_scenario: 'pike' + - 'queens': + os_scenario: 'queens' + - 'master': + os_scenario: 'nofeature' # Fetch Logs Job @@ -245,6 +248,7 @@ parameters: - '{project}-defaults' - '{project}-virtual-{stream}-defaults' + - 'functest-suite-parameter' - project-parameter: project: '{project}' branch: '{branch}' @@ -266,7 +270,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' @@ -292,6 +295,7 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + PROMOTE=$PROMOTE node-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -304,7 +308,8 @@ current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO - FUNCTEST_SUITE_NAME=healthcheck + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -454,7 +459,6 @@ blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-testsuite-.+-baremetal-.+' - throttle: @@ -642,7 +646,7 @@ # CSIT promote - job-template: - name: 'apex-csit-promote-daily-{stream}' + name: 'apex-csit-promote-daily-{stream}-{os_version}' # Job template for promoting CSIT Snapshots # @@ -662,6 +666,14 @@ branch: '{branch}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: ARTIFACT_VERSION + default: dev + description: "Used for overriding the ARTIFACT_VERSION" + - string: + name: PROMOTE + default: 'True' + description: "Used for overriding the PROMOTE" properties: - build-blocker: @@ -669,7 +681,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-verify.*' - - 'apex-deploy.*' - 'apex-runner.*' - 'apex-daily.*' @@ -678,40 +689,24 @@ builders: - multijob: - name: deploy-virtual + name: apex-virtual-deploy-test condition: SUCCESSFUL projects: - - name: 'apex-deploy-virtual-{stream}' - current-parameters: false + - name: 'apex-virtual-{stream}' + current-parameters: true predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha + DEPLOY_SCENARIO=os-odl-{os_scenario}-noha OPNFV_CLEAN=yes GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - PROMOTE=True - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: false - - multijob: - name: functest-smoke - condition: SUCCESSFUL - projects: - - name: 'functest-apex-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha FUNCTEST_SUITE_NAME=tempest_smoke_serial - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + FUNCTEST_MODE=testcase node-parameters: true kill-phase-on: FAILURE abort-all-job: true - git-revision: false + git-revision: true - multijob: name: create snapshot condition: SUCCESSFUL diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index 2650eafbb..8375f6163 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -1,6 +1,8 @@ master: - 'os-odl-nofeature-noha' + - 'os-odl-nofeature-ha' - 'os-odl-queens-noha' + - 'os-odl-queens-ha' fraser: - 'os-nosdn-nofeature-noha' - 'os-nosdn-nofeature-ha' diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml index b8ffc16fa..fe2bbcc63 100644 --- a/jjb/armband/armband-ci-jobs.yaml +++ b/jjb/armband/armband-ci-jobs.yaml @@ -127,7 +127,7 @@ same-node: true block: true - trigger-builds: - - project: 'functest-{installer}-{pod}-arm-daily-{stream}' + - project: 'functest-{installer}-{pod}-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml index 7110daeaf..e636538ef 100644 --- a/jjb/fuel/fuel-daily-jobs.yaml +++ b/jjb/fuel/fuel-daily-jobs.yaml @@ -86,6 +86,8 @@ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-ovn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' + - 'os-odl-ovs-noha': + auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-kvm-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-noha': @@ -107,6 +109,8 @@ stream: danube - scenario: os-ovn-nofeature-ha stream: danube + - scenario: os-odl-ovs-noha + stream: fraser jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' @@ -428,6 +432,10 @@ triggers: - timed: '' - trigger: + name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' triggers: - timed: '' @@ -581,6 +589,10 @@ triggers: - timed: '5 23 * * *' - trigger: + name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger' + triggers: + - timed: '5 2 * * *' +- trigger: name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' triggers: - timed: '' # '35 6 * * *' @@ -733,6 +745,10 @@ triggers: - timed: '' - trigger: + name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml index ae226b665..4fc67e7f8 100644 --- a/jjb/functest/functest-daily-jobs.yaml +++ b/jjb/functest/functest-daily-jobs.yaml @@ -201,8 +201,6 @@ - 'suite': job-timeout: 60 - 'daily': - job-timeout: 360 - - 'arm-daily': job-timeout: 480 jobs: @@ -268,14 +266,6 @@ description: "Daily suite name to run" - parameter: - name: functest-arm-daily-parameter - parameters: - - string: - name: FUNCTEST_MODE - default: 'arm-daily' - description: "Daily suite name (Aarch64) to run" - -- parameter: name: functest-suite-parameter parameters: - choice: @@ -368,14 +358,6 @@ - 'functest-exit' - builder: - name: functest-arm-daily-builder - builders: - - 'functest-cleanup' - - 'functest-arm-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: name: functest-suite-builder builders: - 'functest-cleanup' @@ -409,17 +391,6 @@ # yamllint enable rule:indentation - builder: - name: functest-arm-daily - builders: - # yamllint disable rule:indentation - - shell: - !include-raw: - - ./functest-env-presetup.sh - - ../../utils/fetch_os_creds.sh - - ./functest-alpine.sh - -# yamllint enable rule:indentation -- builder: name: functest-store-results builders: - shell: diff --git a/jjb/releng/compass4nfv-docker.yaml b/jjb/releng/compass4nfv-docker.yaml index 5fbb37ca2..d9a8b9227 100644 --- a/jjb/releng/compass4nfv-docker.yaml +++ b/jjb/releng/compass4nfv-docker.yaml @@ -19,6 +19,10 @@ arch_tag: - 'amd64': slave_label: 'opnfv-build-ubuntu' + dockerfile: 'Dockerfile' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + dockerfile: 'Dockerfile-arm64' # yamllint disable rule:key-duplicates image: @@ -43,10 +47,20 @@ 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 + # yamllint enable rule:key-duplicates jobs: - "compass-docker-{stream}" - "compass-{image}-build-{arch_tag}-{stream}" + - "compass-{image}-manifest-{stream}" ######################## # job templates @@ -63,7 +77,6 @@ project: '{project}' branch: '{branch}' slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' properties: - throttle: @@ -84,6 +97,14 @@ projects: - name: 'compass-tasks-base-build-amd64-{stream}' <<: *build-job-settings + - name: 'compass-tasks-base-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish compass-tasks-base manifests' + execution-type: PARALLEL + projects: + - name: 'compass-tasks-base-manifest-{stream}' + <<: *manifest-job-settings - multijob: name: 'build all compass images' condition: SUCCESSFUL @@ -101,9 +122,38 @@ <<: *build-job-settings - name: 'compass-tasks-osa-build-amd64-{stream}' <<: *build-job-settings + - name: 'compass-cobbler-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-db-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-deck-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-k8s-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-osa-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish all manifests' + execution-type: PARALLEL + projects: + - name: 'compass-cobbler-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-db-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-deck-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-k8s-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-osa-manifest-{stream}' + <<: *manifest-job-settings publishers: - 'compass-amd64-recipients' + - 'compass-arm64-recipients' - job-template: name: 'compass-{image}-build-{arch_tag}-{stream}' @@ -113,7 +163,6 @@ project: '{project}' branch: '{branch}' slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - string: name: DOCKER_REPO_NAME default: "opnfv/compass-{image}" @@ -122,12 +171,43 @@ name: DOCKER_DIR default: "compass-{image}" description: "Directory containing files needed by the Dockerfile" + - string: + 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 builders: - shell: !include-raw-escape: ./opnfv-docker.sh +- job-template: + name: 'compass-{image}-manifest-{stream}' + disabled: '{obj:disabled}' + parameters: + - compass-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + 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 opnfv/compass-{image}:ARCH-$tag \ + --target opnfv/compass-{image}:$tag + exit $? + # parameter macro - parameter: name: compass-job-parameters @@ -156,14 +236,6 @@ 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: DOCKERFILE - default: "Dockerfile" - description: "Dockerfile to use for creating the image." - - string: - name: ARCH_TAG - default: "" - description: "If set, this value will be added to the docker image tag as a prefix" - - string: name: PROJECT default: "{project}" description: "Project name used to enable job conditions" @@ -178,3 +250,10 @@ huangxiangyui5@huawei.com xueyifei@huawei.com wutianwei1@huawei.com + +- publisher: + name: 'compass-arm64-recipients' + publishers: + - email: + recipients: > + yibo.cai@arm.com diff --git a/jjb/releng/releng-release-verify.sh b/jjb/releng/releng-release-create-venv.sh index c1262e2c9..0d5635b59 100644 --- a/jjb/releng/releng-release-verify.sh +++ b/jjb/releng/releng-release-create-venv.sh @@ -7,21 +7,12 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -set -xe +set -e -o pipefail +echo "---> Create virtualenv" -# Activate virtualenv, supressing shellcheck warning -# shellcheck source=/dev/null -. $WORKSPACE/venv/bin/activate +sudo pip install virtualenv +virtualenv $WORKSPACE/venv +# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091 +source $WORKSPACE/venv/bin/activate +pip install --upgrade pip pip install -r releases/scripts/requirements.txt - -STREAM=${STREAM:-'nostream'} -RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM") - -# TODO: The create_branch.py should be refactored so it can be used here -# to verify the commit exists that is being added, along with -# jjb/<project> -for release_file in $RELEASE_FILES; do - python releases/scripts/verify_schema.py \ - -s releases/schema.yaml \ - -y $release_file -done diff --git a/jjb/releng/releng-release-jobs.yaml b/jjb/releng/releng-release-jobs.yaml index e31320b81..0c059ee9b 100644 --- a/jjb/releng/releng-release-jobs.yaml +++ b/jjb/releng/releng-release-jobs.yaml @@ -10,6 +10,8 @@ - project: name: releng-release-jobs + build-node: 'opnfv-build' + stream: - fraser @@ -23,6 +25,7 @@ name: 'releng-release-{stream}-verify' parameters: + - '{build-node}-defaults' - stream-parameter: stream: '{stream}' - project-parameter: @@ -59,9 +62,9 @@ pattern: 'releases/scripts/verify_schema.py' builders: - - create-virtualenv - - shell: - !include-raw-escape: releng-release-verify.sh + - shell: !include-raw-escape: + - releng-release-create-venv.sh + - releng-release-tagging.sh publishers: - email-jenkins-admins-on-failure @@ -82,6 +85,12 @@ - project-parameter: project: '{project}' branch: 'master' + # Override GIT_BASE so we can send patches back to Gerrit and + # modify repos + - string: + name: GIT_BASE + default: ssh://$USER@gerrit.opnfv.org:29418/$PROJECT + description: 'Git URL to use on this Jenkins Slave' scm: - git-scm-gerrit @@ -93,9 +102,10 @@ files: 'releases/{stream}/*' builders: - - create-virtualenv - - shell: - !include-raw-escape: releng-release-create-branch.sh + - shell: !include-raw-escape: + - releng-release-create-venv.sh + - releng-release-tagging.sh + # - releng-release-create-branch.sh publishers: - email-jenkins-admins-on-failure @@ -107,13 +117,3 @@ name: STREAM default: '{stream}' description: "OPNFV Stable Stream" - -- builder: - name: create-virtualenv - builders: - - shell: | - #!/bin/bash - sudo pip install virtualenv - virtualenv $WORKSPACE/venv - . $WORKSPACE/venv/bin/activate - pip install --upgrade pip diff --git a/jjb/releng/releng-release-tagging.sh b/jjb/releng/releng-release-tagging.sh new file mode 100644 index 000000000..10c0cc8c9 --- /dev/null +++ b/jjb/releng/releng-release-tagging.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# SPDX-License-Identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 The Linux Foundation 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 +############################################################################## +set -e -o pipefail + +GIT_URL=${GIT_URL:-https://gerrit.opnfv.org/gerrit} +STREAM=${STREAM:-'nostream'} +RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM") + +echo "--> Verifying $RELEASE_FILES." +for release_file in $RELEASE_FILES; do + # Verify the release file schema + python releases/scripts/verify_schema.py \ + -s releases/schema.yaml \ + -y $release_file + + # Verify tag for each repo exist and are attached to commits on stable-branch + while read -r repo tag ref + do + echo "--> Cloning $repo" + if [ ! -d $repo ]; then + git clone $GIT_URL/$repo.git $repo + fi + pushd $repo &> /dev/null + + echo "--> Checking for tag: $tag" + if ! (git tag -l | grep $tag &> /dev/null); then + echo "$tag does not exist" + TAG_EXISTS=false + else + git cat-file tag $tag + TAG_EXISTS=true + fi + + echo "--> Checking if $ref is on stable/$STREAM" + if ! (git branch -a --contains $ref | grep "stable/$STREAM"); then + echo "--> ERROR: $ref for $repo is not on stable/$STREAM!" + # If the tag exists but is on the wrong ref, there's nothing + # we can do. But if the tag neither exists nor is on the + # correct branch we need to fail the verification. + if [ $TAG_EXISTS = false ]; then + exit 1 + fi + else + if [[ $TAG_EXISTS = false && "$JOB_NAME" =~ "merge" ]]; then + # If the tag doesn't exist and we're in a merge job, + # everything has been verified up to this point and we + # are ready to create the tag. + git config --global user.name "jenkins-ci" + git config --global user.email "jenkins-opnfv-ci@opnfv.org" + echo "--> Creating $tag tag for $repo at $ref" + git tag -am "$tag" $tag $ref + echo "--> Pushing tag" + echo "[noop] git push origin $tag" + else + # For non-merge jobs just output the ref info. + git show -s --format="%h %s %d" $ref + fi + fi + + popd &> /dev/null + echo "--> Done verifing $repo" + done < <(python releases/scripts/repos.py -f $release_file) +done |