X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fapex%2Fapex.yml;h=be595d4a38c298d6f969b725f1cfaec7f8b60318;hb=75927723d0553c90757fe69ebb67cd2beac12572;hp=ced678ff993d7c3f97f8ad9dcc9df5dab0894312;hpb=11d9c0a673a952b2add35a1241c347a56f449c4b;p=releng.git diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index ced678ff9..be595d4a3 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -14,8 +14,6 @@ - master: branch: 'master' gs-pathname: '' - flags: '-fM' - disabled: false project: 'apex' @@ -24,23 +22,16 @@ node: opnfv-jump-1 - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - parameters: - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - string: name: GIT_BASE - default: ssh://gerrit.opnfv.org:29418/$PROJECT + default: https://gerrit.opnfv.org/gerrit/$PROJECT description: "Used for overriding the GIT URL coming from parameters macro." scm: @@ -67,6 +58,15 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' + file-paths: + - compare-type: ANT + pattern: 'ci/**' + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'lib/**' + - compare-type: ANT + pattern: 'config/**' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' @@ -76,6 +76,8 @@ use-build-blocker: true blocking-jobs: - "apex-daily.*" + - "apex-deploy.*" + - "apex-build.*" builders: - 'apex-build' @@ -91,17 +93,18 @@ node: opnfv-jump-1 + disabled: true + parameters: - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - string: name: GIT_BASE - default: ssh://gerrit.opnfv.org:29418/$PROJECT + default: https://gerrit.opnfv.org/gerrit/$PROJECT description: "Used for overriding the GIT URL coming from parameters macro." scm: @@ -148,12 +151,11 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' - gerrit-parameter: branch: '{branch}' - string: name: GIT_BASE - default: ssh://gerrit.opnfv.org:29418/$PROJECT + default: https://gerrit.opnfv.org/gerrit/$PROJECT description: "Used for overriding the GIT URL coming from parameters macro." scm: @@ -162,8 +164,11 @@ refspec: '' branch: '{branch}' - triggers: - - 'apex-{stream}' + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "apex-deploy.*" builders: - 'apex-build' @@ -183,12 +188,25 @@ 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-verify.*" + - "apex-deploy.*" + - "apex-build.*" builders: - 'apex-deploy-virtual' @@ -204,16 +222,31 @@ # branch: branch (eg. stable) node: opnfv-jump-1 - disabled: true + 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-verify.*" + - "apex-deploy.*" + - "apex-build.*" + - "apex-daily.*" builders: + - 'apex-deploy-baremetal' - 'apex-workspace-cleanup' - job-template: @@ -228,18 +261,29 @@ 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.*" + - "apex-verify.*" + - "apex-deploy.*" + - "apex-build.*" + + triggers: + - 'apex-{stream}' + builders: - trigger-builds: - project: 'apex-build-{stream}' @@ -250,9 +294,7 @@ git-revision: true block: true - trigger-builds: - - project: 'apex-deploy-baremetal-{stream}' - - trigger-builds: - - project: 'functest-apex-{stream}' + - project: 'functest-apex-opnfv-jump-1-daily-{stream}' block: true block-thresholds: build-step-failure-threshold: 'never' @@ -285,10 +327,6 @@ name: GS_URL default: artifacts.opnfv.org/$PROJECT/{gs-pathname} description: "URL to Google Storage." - - string: - name: FLAGS - default: '{flags}' - description: "Build Flags" ######################## # builder macros @@ -304,8 +342,6 @@ # log info to console echo "Starting the build of Apex using OpenStack Master packages. This will take some time..." echo "---------------------------------------------------------------------------------------" - echo "Build flags for this build are ${FLAGS}" - echo "---------------------------------------------------------------------------------------" echo # create the cache directory if it doesn't exist [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY @@ -313,7 +349,7 @@ export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") # start the build cd $WORKSPACE/ci - ./build.sh $FLAGS -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY + ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY 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 @@ -405,7 +441,7 @@ [[ -f opnfv.properties ]] || exit 1 # source the file so we get OPNFV vars source opnfv.properties - RPM_INSTALL_PATH=$RPM_URL + RPM_INSTALL_PATH=$OPNFV_RPM_URL fi fi @@ -424,7 +460,73 @@ # cleanup virtual machines before we start sudo opnfv-clean # initiate virtual deployment - sudo opnfv-deploy -v + 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 + else + sudo opnfv-deploy -v + fi + echo + echo "--------------------------------------------------------" + echo "Done!" + +- builder: + name: 'apex-deploy-baremetal' + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # log info to console + echo "Starting the Apex baremetal 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) + if [ ! -e "$RPM_INSTALL_PATH" ]; then + RPM_INSTALL_PATH=http://${OPNFV_RPM_URL} + fi + + # update / install the new rpm + if rpm -q opnfv-apex > /dev/null; then + if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then + echo "RPM is already installed" + elif 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 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 echo echo "--------------------------------------------------------"