X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fapex%2Fapex.yml;h=90418dbb32f12ce3b4fdf4491e9710b3f8a926e5;hb=d457354f2d6c3cd22c96fca58192488fa6dc9e3b;hp=b29bef6fc33da1a4a6309cee447a755ec2825446;hpb=68cc72a276a4638e99d4ef8a3aed3591c6e14209;p=releng.git diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index b29bef6fc..90418dbb3 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -3,6 +3,9 @@ jobs: - 'apex-verify-{stream}' - 'apex-merge-{stream}' + - 'apex-build-{stream}' + - 'apex-deploy-virtual-{stream}' + - 'apex-deploy-baremetal-{stream}' - 'apex-daily-{stream}' # stream: branch with - in place of / (eg. stable-arno) @@ -21,14 +24,6 @@ node: opnfv-jump-1 - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - parameters: - apex-parameter: gs-pathname: '{gs-pathname}' @@ -48,10 +43,6 @@ refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - triggers: - gerrit: trigger-on: @@ -74,8 +65,15 @@ - compare-type: ANT pattern: 'docs/**' + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "apex-daily.*" + builders: - 'apex-build' + - 'apex-deploy-virtual' - 'apex-workspace-cleanup' - job-template: @@ -87,13 +85,7 @@ node: opnfv-jump-1 - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 40 - artifactDaysToKeep: -1 - artifactNumToKeep: 5 + disabled: true parameters: - apex-parameter: @@ -114,10 +106,6 @@ refspec: '' choosing-strategy: 'default' - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - triggers: - gerrit: trigger-on: @@ -136,12 +124,13 @@ builders: - 'apex-build' + - 'apex-deploy-virtual' - 'apex-workspace-cleanup' - job-template: - name: 'apex-daily-{stream}' + name: 'apex-build-{stream}' - # Job template for daily builders + # Job template for builds # # Required Variables: # stream: branch with - in place of / (eg. stable) @@ -150,14 +139,6 @@ disabled: false - project-type: freestyle - - logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' - parameters: - project-parameter: project: '{project}' @@ -177,17 +158,121 @@ refspec: '' branch: '{branch}' - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' + builders: + - 'apex-build' + - 'apex-deploy-virtual' + - 'apex-upload-artifact' + - 'apex-workspace-cleanup' + +- job-template: + name: 'apex-deploy-virtual-{stream}' + + # Job template for virtual deployment + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: opnfv-jump-1 + + disabled: false + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + parameters: + - project-parameter: + project: '{project}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + flags: '{flags}' + + builders: + - 'apex-deploy-virtual' + - 'apex-workspace-cleanup' + +- job-template: + name: 'apex-deploy-baremetal-{stream}' + + # Job template for baremetal deployment + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: opnfv-jump-1 + + disabled: true + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + parameters: + - project-parameter: + project: '{project}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + flags: '{flags}' + + builders: + - 'apex-workspace-cleanup' + +- job-template: + name: 'apex-daily-{stream}' + + # Job template for daily build + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: opnfv-jump-1 + + disabled: false + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + parameters: + - project-parameter: + project: '{project}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + flags: '{flags}' + + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "apex-daily.*" triggers: - 'apex-{stream}' builders: - - 'apex-build' - - 'apex-upload-artifact' - - 'apex-workspace-cleanup' + - trigger-builds: + - project: 'apex-build-{stream}' + git-revision: true + block: true + - trigger-builds: + - project: 'apex-deploy-virtual-{stream}' + git-revision: true + block: true + - trigger-builds: + - project: 'apex-deploy-baremetal-{stream}' + - trigger-builds: + - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' ######################## # parameter macros @@ -195,6 +280,10 @@ - parameter: name: apex-parameter parameters: + - string: + name: ARTIFACT_NAME + default: 'latest' + description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact" - string: name: BUILD_DIRECTORY default: $WORKSPACE/build_output @@ -240,7 +329,7 @@ # start the build cd $WORKSPACE/ci ./build.sh $FLAGS -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY - RPM_VERSION=$(grep Version $BUILD_DIRECTORY/../opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-') + RPM_VERSION=$(grep Version $BUILD_DIRECTORY/../build/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-') # list the contents of BUILD_OUTPUT directory ls -al $BUILD_DIRECTORY # save information regarding artifact into file @@ -251,8 +340,8 @@ echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $BUILD_DIRECTORY/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)" echo "OPNFV_SRPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.src.rpm" - echo "OPNFV_RPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.rpm" - echo "OPNFV_RPM_MD5SUM=$(md5sum $BUILD_DIRECTORY/opnfv-apex-$RPM_VERSION.rpm | cut -d' ' -f1)" + echo "OPNFV_RPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.noarch.rpm" + echo "OPNFV_RPM_MD5SUM=$(md5sum $BUILD_DIRECTORY/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)" echo "OPNFV_BUILD_URL=$BUILD_URL" ) > $WORKSPACE/opnfv.properties echo @@ -300,6 +389,61 @@ echo "ISO Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" echo "RPM Artifact is available as http://$GS_URL/$(basename $OPNFV_RPM_URL)" +- builder: + name: 'apex-deploy-virtual' + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # log info to console + echo "Starting the Apex virtual deployment." + echo "--------------------------------------------------------" + echo + + if [[ ! "$ARTIFACT_NAME" == "latest" ]]; then + # if artifact name is passed the pull a + # specific artifact from artifacts.opnfv.org + RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME + else + if [[ -f 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) + else + # 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 + [[ -f opnfv.properties ]] || exit 1 + # source the file so we get OPNFV vars + source opnfv.properties + RPM_INSTALL_PATH=$OPNFV_RPM_URL + fi + fi + + source opnfv.properties + RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) + + # update / install the new rpm + if rpm -q opnfv-apex > /dev/null; then + if sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then + sudo yum downgrade -y $RPM_INSTALL_PATH; + fi + else + sudo yum install -y $RPM_INSTALL_PATH; + fi + + # cleanup virtual machines before we start + sudo opnfv-clean + # initiate virtual deployment + sudo opnfv-deploy -v + + echo + echo "--------------------------------------------------------" + echo "Done!" ####################### # trigger macros