diff options
Diffstat (limited to 'jjb/apex/apex.yml')
-rw-r--r-- | jjb/apex/apex.yml | 239 |
1 files changed, 180 insertions, 59 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 57825cecd..a1b922c5d 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -2,10 +2,10 @@ name: apex jobs: - 'apex-verify-{stream}' - - 'apex-merge-{stream}' + - 'apex-runner-{platform}-{scenario}-{stream}' - 'apex-build-{stream}' - - 'apex-deploy-virtual-{stream}' - - 'apex-deploy-baremetal-{stream}' + - 'apex-deploy-virtual-{scenario}-{stream}' + - 'apex-deploy-baremetal-{scenario}-{stream}' - 'apex-daily-{stream}' # stream: branch with - in place of / (eg. stable-arno) @@ -17,9 +17,21 @@ - brahmaputra: branch: 'stable/brahmaputra' gs-pathname: '/brahmaputra' + disabled: true project: 'apex' + scenario: + - 'os-odl_l2-nofeature-ha' + - 'os-odl_l2-sfc-ha' + - 'os-odl_l3-nofeature-ha' + - 'os-onos-nofeature-ha' + - 'os-opencontrail-nofeature-ha' + + platform: + - 'baremetal' + - 'virtual' + - job-template: name: 'apex-verify-{stream}' @@ -28,7 +40,6 @@ parameters: - apex-parameter: gs-pathname: '{gs-pathname}' - ARTIFACT_VERSION: 'dev' - project-parameter: project: '{project}' - gerrit-parameter: @@ -82,22 +93,32 @@ - "apex-daily.*" - "apex-deploy.*" - "apex-build.*" + - "apex-runner.*" builders: - 'apex-build' - - 'apex-deploy-virtual' + - trigger-builds: + - project: 'apex-deploy-virtual-os-odl_l2-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-verify-master/build_output + git-revision: false + block: true + - trigger-builds: + - project: 'apex-deploy-virtual-os-onos-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-verify-master/build_output + git-revision: false + block: true - 'apex-workspace-cleanup' - job-template: - name: 'apex-merge-{stream}' + name: 'apex-runner-{platform}-{scenario}-{stream}' - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB + # runner jobs for deploying manually node: opnfv-jump-1 - disabled: true + disabled: false parameters: - apex-parameter: @@ -117,26 +138,34 @@ 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: 'apex' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "apex-daily.*" + - "apex-verify.*" builders: - - 'apex-build' - - 'apex-deploy-virtual' - - 'apex-workspace-cleanup' + - trigger-builds: + - project: 'apex-deploy-{platform}-{scenario}-{stream}' + git-revision: false + block: true + - trigger-builds: + - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO='{scenario}' + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' - job-template: name: 'apex-build-{stream}' @@ -176,12 +205,16 @@ builders: - 'apex-build' - - 'apex-deploy-virtual' + - trigger-builds: + - project: 'apex-deploy-virtual-os-odl_l2-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-build-master/build_output + git-revision: false + block: true - 'apex-upload-artifact' - - 'apex-workspace-cleanup' - job-template: - name: 'apex-deploy-virtual-{stream}' + name: 'apex-deploy-virtual-{scenario}-{stream}' # Job template for virtual deployment # @@ -203,21 +236,23 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + description: "Scenario to deploy with." properties: - build-blocker: use-build-blocker: true blocking-jobs: - - "apex-verify.*" - "apex-deploy.*" - - "apex-build.*" builders: - 'apex-deploy-virtual' - 'apex-workspace-cleanup' - job-template: - name: 'apex-deploy-baremetal-{stream}' + name: 'apex-deploy-baremetal-{scenario}-{stream}' # Job template for baremetal deployment # @@ -239,6 +274,10 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + description: "Scenario to deploy with." properties: - build-blocker: @@ -284,9 +323,10 @@ - "apex-verify.*" - "apex-deploy.*" - "apex-build.*" + - "apex-runner.*" triggers: - - 'apex-master' + - 'apex-{stream}' builders: - trigger-builds: @@ -295,11 +335,37 @@ current-parameters: true block: true - trigger-builds: - - project: 'apex-deploy-baremetal-{stream}' + - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-build-master/build_output git-revision: true block: true - trigger-builds: - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO=os-odl_l2-nofeature-ha + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'apex-deploy-baremetal-os-onos-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-build-master/build_output + git-revision: true + block: true + - trigger-builds: + - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO=os-onos-nofeature-ha block: true block-thresholds: build-step-failure-threshold: 'never' @@ -425,8 +491,19 @@ # upload artifact and additional files to google storage gsutil cp $BUILD_DIRECTORY/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 - gsutil cp $BUILD_DIRECTORY/$(basename $OPNFV_RPM_URL) gs://$GS_URL/$(basename $OPNFV_RPM_URL) > gsutil.iso.log 2>&1 - gsutil cp $BUILD_DIRECTORY/$(basename $OPNFV_SRPM_URL) gs://$GS_URL/$(basename $OPNFV_SRPM_URL) > gsutil.iso.log 2>&1 + RPM_INSTALL_PATH=$BUILD_DIRECTORY/$(basename $OPNFV_RPM_URL) + RPM_LIST=$RPM_INSTALL_PATH + for pkg in common undercloud; do + RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}" + done + SRPM_INSTALL_PATH=$BUILD_DIRECTORY/$(basename $OPNFV_SRPM_URL) + SRPM_LIST=$SRPM_INSTALL_PATH + for pkg in common undercloud; do + SRPM_LIST+=" ${SRPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}" + done + for artifact in $RPM_LIST $SRPM_LIST; do + gsutil cp $artifact gs://$GS_URL/$(basename $artifact) > gsutil.iso.log 2>&1 + done gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 @@ -455,12 +532,29 @@ # specific artifact from artifacts.opnfv.org RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME else - if [[ -f opnfv.properties ]]; then + if [[ $BUILD_DIRECTORY == *verify* ]]; then + BUILD_DIRECTORY=$WORKSPACE/../$BUILD_DIRECTORY + echo "BUILD DIRECTORY modified to $BUILD_DIRECTORY" + elif [[ $BUILD_DIRECTORY == *apex-build* ]]; then + BUILD_DIRECTORY=$WORKSPACE/../$BUILD_DIRECTORY + echo "BUILD DIRECTORY modified to $BUILD_DIRECTORY" + fi + + if [[ -f ${BUILD_DIRECTORY}/../opnfv.properties ]]; then # if opnfv.properties exists then use the # local build. Source the file so we get local OPNFV vars - source opnfv.properties - RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) + source ${BUILD_DIRECTORY}/../opnfv.properties + RPM_INSTALL_PATH=${BUILD_DIRECTORY}/$(basename $OPNFV_RPM_URL) else + if [[ $BUILD_DIRECTORY == *verify* ]]; then + echo "BUILD_DIRECTORY is from a verify job, so will not use latest from URL" + echo "Check that the slave has opnfv.properties in $BUILD_DIRECTORY" + exit 1 + elif [[ $BUILD_DIRECTORY == *apex-build* ]]; then + echo "BUILD_DIRECTORY is from a daily job, so will not use latest from URL" + echo "Check that the slave has opnfv.properties in $BUILD_DIRECTORY" + exit 1 + fi # no opnfv.properties means use the latest from artifacts.opnfv.org # get the latest.properties to get the link to the latest artifact curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties @@ -471,12 +565,6 @@ fi fi - source opnfv.properties - RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) - if [ ! -e "$RPM_INSTALL_PATH" ]; then - RPM_INSTALL_PATH=http://${OPNFV_RPM_URL} - fi - RPM_LIST=$RPM_INSTALL_PATH for pkg in common undercloud; do RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}" @@ -488,7 +576,7 @@ echo "RPM is already installed" elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then if ! sudo yum downgrade -y $RPM_LIST; then - yum remove -y opnfv-undercloud opnfv-common + sudo yum remove -y opnfv-undercloud opnfv-common sudo yum downgrade -y $RPM_INSTALL_PATH fi fi @@ -499,8 +587,19 @@ # cleanup virtual machines before we start sudo opnfv-clean # initiate virtual deployment - if [ -e /usr/share/doc/opnfv/network_settings.yaml.example ]; then - sudo opnfv-deploy -v -d /usr/share/doc/opnfv/deploy_settings.yaml.example -n /usr/share/doc/opnfv/network_settings.yaml.example + if [ -e /etc/opnfv-apex/network_settings.yaml ]; then + if [ -n "$DEPLOY_SCENARIO" ]; then + echo "Deploy Scenario set to ${DEPLOY_SCENARIO}" + if [ -e /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml ]; then + sudo opnfv-deploy -v -d /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml -n /etc/opnfv-apex/network_settings.yaml + else + echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" + exit 1 + fi + else + echo "Deploy scenario not set!" + exit 1 + fi else sudo opnfv-deploy -v fi @@ -527,11 +626,15 @@ # specific artifact from artifacts.opnfv.org RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME else - if [[ -f opnfv.properties ]]; then + if [[ $BUILD_DIRECTORY == *apex-build* ]]; then + BUILD_DIRECTORY=$WORKSPACE/../$BUILD_DIRECTORY + echo "BUILD DIRECTORY modified to $BUILD_DIRECTORY" + fi + if [[ -f ${BUILD_DIRECTORY}/../opnfv.properties ]]; then # if opnfv.properties exists then use the # local build. Source the file so we get local OPNFV vars - source opnfv.properties - RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) + source ${BUILD_DIRECTORY}/../opnfv.properties + RPM_INSTALL_PATH=${BUILD_DIRECTORY}/$(basename $OPNFV_RPM_URL) else # no opnfv.properties means use the latest from artifacts.opnfv.org # get the latest.properties to get the link to the latest artifact @@ -543,8 +646,6 @@ fi fi - source opnfv.properties - RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) if [ ! -e "$RPM_INSTALL_PATH" ]; then RPM_INSTALL_PATH=http://${OPNFV_RPM_URL} fi @@ -560,7 +661,7 @@ echo "RPM is already installed" elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then if ! sudo yum downgrade -y $RPM_LIST; then - yum remove -y opnfv-undercloud opnfv-common + sudo yum remove -y opnfv-undercloud opnfv-common sudo yum downgrade -y $RPM_INSTALL_PATH fi fi @@ -571,9 +672,25 @@ # cleanup environment before we start sudo opnfv-clean # initiate baremetal deployment - sudo opnfv-deploy -i /root/inventory/pod_settings.yaml \ - -d /usr/share/doc/opnfv/deploy_settings.yaml.example \ - -n /root/network/network_settings.yaml + if [ -e /etc/opnfv-apex/network_settings.yaml ]; then + if [ -n "$DEPLOY_SCENARIO" ]; then + echo "Deploy Scenario set to ${DEPLOY_SCENARIO}" + if [ -e /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml ]; then + sudo opnfv-deploy -i /root/inventory/pod_settings.yaml \ + -d /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml \ + -n /root/network/network_settings.yaml + else + echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" + exit 1 + fi + else + echo "Deploy scenario not set!" + exit 1 + fi + else + echo "File /etc/opnfv-apex/network_settings.yaml does not exist!" + exit 1 + fi echo echo "--------------------------------------------------------" @@ -586,3 +703,7 @@ name: 'apex-master' triggers: - timed: '0 3 * * *' +- trigger: + name: 'apex-brahmaputra' + triggers: + - timed: '0 6 * * 2050' |