X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fgenesis%2Fgenesis-fuel.yml;h=cc134fb101c72068ba6a0386fe4468222c066af0;hb=f1b5edef0df34e0313593d9a3d6a7fdd7061306c;hp=f6b2d0b7e9eece8fe55a03fcb3128132b4cb82bd;hpb=a5d5b6ef96411f8c91e3e3b7d96f303bd52755ae;p=releng.git diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml index f6b2d0b7e..cc134fb10 100644 --- a/jjb/genesis/genesis-fuel.yml +++ b/jjb/genesis/genesis-fuel.yml @@ -9,13 +9,15 @@ installer: 'fuel' - jobs: - - 'genesis-fuel-verify-{stream}' - - 'genesis-fuel-merge-{stream}' - - 'genesis-fuel-daily-{stream}' - - 'genesis-fuel-build-{stream}' - - 'genesis-fuel-deploy-{stream}' - - 'genesis-fuel-deploy-virtual-master' +# jobs: +# - 'genesis-fuel-verify-build-{stream}' +# - 'genesis-fuel-merge-{stream}' +# - 'genesis-fuel-daily-{stream}' +# - 'genesis-fuel-build-{stream}' +# - 'genesis-fuel-deploy-{stream}' +# - 'genesis-fuel-deploy-runner-{stream}' +# - 'genesis-fuel-lab-reconfig-{stream}' +# - 'genesis-fuel-verify-deploy-virtual-{stream}' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) @@ -23,21 +25,23 @@ - master: branch: 'master' gs-pathname: '' + disabled: true - stable-arno: branch: 'stable/arno' gs-pathname: '/arno' + disabled: true ######################## # job templates ######################## - job-template: - name: 'genesis-fuel-verify-{stream}' - - project-type: freestyle + name: 'genesis-fuel-verify-build-{stream}' node: ericsson-build + disabled: true + concurrent: true properties: @@ -45,18 +49,12 @@ enabled: true max-total: 3 - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - - fuel-parameter: + - genesis-fuel-parameter: installer: '{installer}' gs-pathname: '{gs-pathname}' @@ -66,10 +64,6 @@ refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - triggers: - gerrit: trigger-on: @@ -90,9 +84,28 @@ branch-pattern: '**/{branch}' file-paths: - compare-type: ANT - pattern: 'common/**' + pattern: 'common/ci/**' + - compare-type: ANT + pattern: 'common/manifests/**' + - compare-type: ANT + pattern: 'common/puppet-opnfv/**' + - compare-type: ANT + pattern: 'common/tools/**' + - compare-type: ANT + pattern: '{installer}/build/**' + - compare-type: ANT + pattern: '{installer}/ci/**' - compare-type: ANT - pattern: '{installer}/**' + pattern: '{installer}/deploy/**' + - compare-type: ANT + pattern: '{installer}/include/**' + - compare-type: ANT + pattern: '{installer}/prototypes/**' + forbidden-file-paths: + - compare-type: ANT + pattern: 'common/docs/**' + - compare-type: ANT + pattern: '{installer}/docs/**' builders: - 'fuel-build' @@ -101,10 +114,10 @@ - job-template: name: 'genesis-fuel-merge-{stream}' - project-type: freestyle - node: ericsson-build + disabled: true + concurrent: true properties: @@ -112,18 +125,12 @@ enabled: true max-total: 2 - logrotate: - daysToKeep: 30 - numToKeep: 40 - artifactDaysToKeep: -1 - artifactNumToKeep: 5 - parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - - fuel-parameter: + - genesis-fuel-parameter: installer: '{installer}' gs-pathname: '' @@ -133,10 +140,6 @@ refspec: '' choosing-strategy: 'default' - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - triggers: - gerrit: trigger-on: @@ -147,13 +150,32 @@ - project-compare-type: 'ANT' project-pattern: 'genesis' branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' file-paths: - compare-type: ANT - pattern: 'common/**' + pattern: 'common/ci/**' + - compare-type: ANT + pattern: 'common/manifests/**' + - compare-type: ANT + pattern: 'common/puppet-opnfv/**' + - compare-type: ANT + pattern: 'common/tools/**' + - compare-type: ANT + pattern: '{installer}/build/**' + - compare-type: ANT + pattern: '{installer}/ci/**' + - compare-type: ANT + pattern: '{installer}/deploy/**' + - compare-type: ANT + pattern: '{installer}/include/**' + - compare-type: ANT + pattern: '{installer}/prototypes/**' + forbidden-file-paths: - compare-type: ANT - pattern: '{installer}/**' + pattern: 'common/docs/**' + - compare-type: ANT + pattern: '{installer}/docs/**' builders: - 'fuel-build' @@ -162,19 +184,17 @@ - job-template: name: 'genesis-fuel-daily-{stream}' - project-type: freestyle - node: ericsson-build - disabled: false + disabled: true triggers: - - 'fuel-{stream}' + - 'genesis-fuel-{stream}-trigger' parameters: - project-parameter: project: '{project}' - - fuel-parameter: + - genesis-fuel-parameter: installer: '{installer}' gs-pathname: '{gs-pathname}' @@ -184,45 +204,87 @@ refspec: '' branch: '{branch}' - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - builders: - trigger-builds: - project: 'genesis-fuel-build-{stream}' git-revision: true block: true + - trigger-builds: + - project: 'genesis-fuel-lab-reconfig-{stream}' + git-revision: true + block: true - trigger-builds: - project: 'genesis-fuel-deploy-{stream}' git-revision: true block: true - trigger-builds: - - project: 'functest-opnfv-jump-1' + - project: 'functest-fuel-{stream}' block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + # - trigger-builds: + # - project: 'yardstick-fuel-{stream}' + # block: true + # block-thresholds: + # build-step-failure-threshold: 'never' + # failure-threshold: 'never' + # unstable-threshold: 'FAILURE' + + publishers: + - trigger-parameterized-builds: + - project: 'genesis-foreman-daily-{stream}' + trigger-with-no-params: true + +- job-template: + name: 'genesis-fuel-deploy-runner-{stream}' + + disabled: true + + parameters: + - project-parameter: + project: '{project}' + - genesis-fuel-parameter: + installer: '{installer}' + gs-pathname: '{gs-pathname}' + - string: + name: GIT_BASE + default: ssh://gerrit.opnfv.org:29418/$PROJECT + description: "Used for overriding the GIT URL coming from parameters macro." + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "genesis-foreman-daily.*" + - "genesis-foreman-deploy-runner-{stream}" + - "genesis-fuel-daily.*" + + builders: + - 'fuel-lab-reconfig' - trigger-builds: - - project: 'yardstick-opnfv-jump-1' + - project: 'genesis-fuel-deploy-{stream}' + git-revision: true block: true - job-template: name: 'genesis-fuel-build-{stream}' - project-type: freestyle - node: ericsson-build - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 + disabled: true parameters: - project-parameter: project: '{project}' - - fuel-parameter: + - genesis-fuel-parameter: installer: '{installer}' gs-pathname: '{gs-pathname}' @@ -237,25 +299,27 @@ - 'fuel-upload-artifact' - 'fuel-workspace-cleanup' + publishers: + - email: + recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com + - job-template: name: 'genesis-fuel-deploy-{stream}' - project-type: freestyle + disabled: true - disabled: false - - node: opnfv-jump-1 + node: opnfv-jump-2 parameters: - project-parameter: project: '{project}' - - fuel-parameter: + - genesis-fuel-parameter: installer: '{installer}' gs-pathname: '{gs-pathname}' - string: name: GIT_BASE default: ssh://gerrit.opnfv.org:29418/$PROJECT - description: "POD1 has some issues with cloning using https so that's why GIT_BASE is overriden here again." + description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again." scm: - git-scm: @@ -263,29 +327,56 @@ refspec: '' branch: '{branch}' - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - builders: - 'fuel-download-artifact' - - 'fuel-deploy-{stream}' + - 'fuel-deploy' + + publishers: + - email: + recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com - job-template: - name: 'genesis-fuel-deploy-virtual-master' + name: 'genesis-fuel-lab-reconfig-{stream}' - project-type: freestyle + disabled: true - disabled: false + parameters: + - project-parameter: + project: '{project}' + - genesis-fuel-parameter: + installer: '{installer}' + gs-pathname: '{gs-pathname}' + - string: + name: GIT_BASE + default: ssh://gerrit.opnfv.org:29418/$PROJECT + description: "Used for overriding the GIT URL coming from parameters macro." + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "genesis-foreman-daily.*" + + builders: + - 'fuel-lab-reconfig' + +- job-template: + name: 'genesis-fuel-verify-deploy-virtual-{stream}' + + disabled: true node: ericsson-build parameters: - project-parameter: project: '{project}' - - fuel-parameter: + - genesis-fuel-parameter: installer: '{installer}' gs-pathname: '' @@ -293,13 +384,7 @@ - git-scm: credentials-id: '{ssh-credentials}' refspec: '' - branch: master - - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 + branch: 'master' builders: - 'fuel-deploy-virtual' @@ -308,7 +393,7 @@ # parameter macros ######################## - parameter: - name: fuel-parameter + name: genesis-fuel-parameter parameters: - string: name: INSTALLER @@ -376,7 +461,7 @@ echo "Done!" - builder: - name: 'fuel-deploy-master' + name: 'fuel-deploy' builders: - shell: | #!/bin/bash @@ -398,45 +483,15 @@ chmod a+x $HOME chmod a+x $TMPDIR - # set TOPDIR - export TOPDIR=$WORKSPACE/fuel/prototypes/auto-deploy - - # log info to console - echo "Starting the deployment using $INSTALLER. This could take some time..." - echo "--------------------------------------------------------" - echo - - # start the deployment - echo "Issuing command" - echo "sudo TMPDIR=${TMPDIR} ${TOPDIR}/deploy/deploy.sh ${WORKSPACE}/opnfv.iso ${TOPDIR}/configs/lf_pod1/dea_no-ha.yaml ${TOPDIR}/configs/lf_pod1/dha.yaml" - sudo TMPDIR=${TMPDIR} ${TOPDIR}/deploy/deploy.sh ${WORKSPACE}/opnfv.iso ${TOPDIR}/configs/lf_pod1/dea_no-ha.yaml ${TOPDIR}/configs/lf_pod1/dha.yaml - - echo - echo "--------------------------------------------------------" - echo "Done!" - -- builder: - name: 'fuel-deploy-stable-arno' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # source the file so we get OPNFV vars - source latest.properties + # set CONFDIR, BRIDGE + export CONFDIR=$WORKSPACE/fuel/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2 + export BRIDGE=pxebr - # echo the info about artifact that is used during the deployment - echo "Using $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f4) for deployment" + # cleanup first + sudo $WORKSPACE/common/ci/clean.sh -base_config $WORKSPACE/foreman/ci/inventory/lf_pod2_ksgen_settings.yml - # create TMPDIR if it doesn't exist - export TMPDIR=$HOME/tmp/$JOB_NAME - [[ -d $TMPDIR ]] || mkdir -p $TMPDIR - - # change permissions down to TMPDIR - chmod a+x $HOME - chmod a+x $TMPDIR + # prepare for Fuel Deployment + sudo $WORKSPACE/common/ci/setup.sh # log info to console echo "Starting the deployment using $INSTALLER. This could take some time..." @@ -445,9 +500,9 @@ # start the deployment echo "Issuing command" - echo "sudo $WORKSPACE/fuel/ci/deploy.sh $WORKSPACE/opnfv.iso $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dea.yaml $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dha.yaml -s $TMPDIR" + echo "sudo $WORKSPACE/fuel/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh" + sudo $WORKSPACE/fuel/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh - sudo $WORKSPACE/fuel/ci/deploy.sh $WORKSPACE/opnfv.iso $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dea.yaml $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dha.yaml -s $TMPDIR echo echo "--------------------------------------------------------" echo "Done!" @@ -545,15 +600,92 @@ # delete everything that is in $WORKSPACE /bin/rm -rf $WORKSPACE +- builder: + name: 'fuel-lab-reconfig' + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # check to see if ucs login info file exists + if [ -e ~/.ssh/ucs_creds ];then + source ~/.ssh/ucs_creds + else + echo "Unable to find UCS credentials for LF lab reconfiguration...Exiting" + exit 1 + fi + + # clone releng + echo "Cloning releng repo..." + if ! GIT_SSL_NO_VERIFY=true git clone https://gerrit.opnfv.org/gerrit/releng; then + echo "Unable to clone releng repo...Exiting" + exit 1 + fi + + # log info to console + echo "Starting the lab reconfiguration for $INSTALLER..." + echo "--------------------------------------------------------" + echo + + # create venv + $WORKSPACE/releng/utils/lab-reconfiguration/create_venv.sh + + # disable nounset because 'activate' script contains unbound variable(s) + set +o nounset + # enter venv + source $WORKSPACE/releng/utils/lab-reconfiguration/venv/bin/activate + # set nounset back again + set -o nounset + + # verify we are in venv + if [[ ! $(which python | grep venv) ]]; then + echo "Unable to activate venv...Exiting" + exit 1 + fi + + python $WORKSPACE/releng/utils/lab-reconfiguration/reconfigUcsNet.py -i $ucs_host -u $ucs_user -p $ucs_password -f $WORKSPACE/releng/utils/lab-reconfiguration/fuel.yaml + + # while undergoing reboot + sleep 30 + + # check to see if slave is back up + ping_counter=0 + ping_flag=0 + while [ "$ping_counter" -lt 20 ]; do + if [[ $(ping -c 5 172.30.10.72) ]]; then + ping_flag=1 + break + fi + ((ping_counter++)) + sleep 10 + done + + if [ "$ping_flag" -eq 1 ]; then + echo "Slave is pingable, now wait 180 seconds for services to start" + sleep 180 + else + echo "Slave did not come back up after reboot: please check opnfv-jump-2" + exit 1 + fi + + set +o nounset + deactivate + + echo + echo "--------------------------------------------------------" + echo "Done!" + ######################## # trigger macros ######################## - trigger: - name: 'fuel-master' + name: 'genesis-fuel-master-trigger' triggers: - - timed: '0 21 * * *' + - timed: '0 5 * * *' - trigger: - name: 'fuel-stable-arno' + name: 'genesis-fuel-stable-arno-trigger' triggers: - - timed: '0 3 * * *' + - timed: '0 7 * * *'