diff options
Diffstat (limited to 'jjb/genesis/genesis-foreman.yml')
-rw-r--r-- | jjb/genesis/genesis-foreman.yml | 665 |
1 files changed, 0 insertions, 665 deletions
diff --git a/jjb/genesis/genesis-foreman.yml b/jjb/genesis/genesis-foreman.yml deleted file mode 100644 index 808dd3b22..000000000 --- a/jjb/genesis/genesis-foreman.yml +++ /dev/null @@ -1,665 +0,0 @@ -######################## -# Job configuration for genesis/foreman -######################## -- project: - - name: genesis-foreman - - project: 'genesis' - - installer: 'foreman' - -# jobs: -# - 'genesis-foreman-verify-build-{stream}' -# - 'genesis-foreman-merge-{stream}' -# - 'genesis-foreman-daily-{stream}' -# - 'genesis-foreman-build-{stream}' -# - 'genesis-foreman-deploy-{stream}' -# - 'genesis-foreman-lab-reconfig-{stream}' -# - 'genesis-foreman-deploy-runner-{stream}' -# - 'genesis-foreman-verify-deploy-virtual-{stream}' - - # stream: branch with - in place of / (eg. stable-arno) - # branch: branch (eg. stable/arno) - stream: - - master: - branch: 'master' - gs-pathname: '' - disabled: true - - stable-arno: - branch: 'stable/arno' - gs-pathname: '/arno' - disabled: true -######################## -# job templates -######################## - -- job-template: - name: 'genesis-foreman-verify-build-{stream}' - - disabled: true - - node: ericsson-build - - concurrent: true - - properties: - - throttle: - enabled: true - max-total: 1 - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - foreman-parameter: - installer: '{installer}' - gs-pathname: '{gs-pathname}' - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - triggers: - - gerrit: - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: 'genesis' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - 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}/include/**' - forbidden-file-paths: - - compare-type: ANT - pattern: 'common/docs/**' - - compare-type: ANT - pattern: '{installer}/docs/**' - - builders: - - 'foreman-build' - - 'foreman-workspace-cleanup' - -- job-template: - name: 'genesis-foreman-merge-{stream}' - - node: ericsson-build - - disabled: true - - concurrent: true - - properties: - - throttle: - enabled: true - max-total: 2 - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - foreman-parameter: - installer: '{installer}' - gs-pathname: '' - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - 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: 'genesis' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - 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}/include/**' - forbidden-file-paths: - - compare-type: ANT - pattern: 'common/docs/**' - - compare-type: ANT - pattern: '{installer}/docs/**' - - builders: - - 'foreman-build' - - 'foreman-workspace-cleanup' - -- job-template: - name: 'genesis-foreman-daily-{stream}' - - node: ericsson-build - - disabled: true - - triggers: - - 'foreman-{stream}' - - parameters: - - project-parameter: - project: '{project}' - - foreman-parameter: - installer: '{installer}' - gs-pathname: '{gs-pathname}' - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' - - builders: - - trigger-builds: - - project: 'genesis-foreman-build-{stream}' - git-revision: true - block: true - - trigger-builds: - - project: 'genesis-foreman-lab-reconfig-{stream}' - git-revision: true - block: true - - trigger-builds: - - project: 'genesis-foreman-deploy-{stream}' - git-revision: true - block: true - - trigger-builds: - - project: 'functest-foreman-{stream}' - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - # - trigger-builds: - # - project: 'yardstick-foreman-{stream}' - # block: true - # block-thresholds: - # build-step-failure-threshold: 'never' - # failure-threshold: 'never' - # unstable-threshold: 'FAILURE' - - publishers: - - trigger-parameterized-builds: - - project: 'genesis-fuel-daily-{stream}' - trigger-with-no-params: true - -- job-template: - name: 'genesis-foreman-deploy-runner-{stream}' - - disabled: true - - parameters: - - project-parameter: - project: '{project}' - - foreman-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-fuel-daily.*" - - "genesis-fuel-deploy-runner-{stream}" - - "genesis-foreman-daily.*" - - builders: - - 'foreman-lab-reconfig' - - trigger-builds: - - project: 'genesis-foreman-deploy-{stream}' - git-revision: true - block: true - -- job-template: - name: 'genesis-foreman-build-{stream}' - - node: ericsson-build - - disabled: true - - parameters: - - project-parameter: - project: '{project}' - - foreman-parameter: - installer: '{installer}' - gs-pathname: '{gs-pathname}' - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' - - builders: - - 'foreman-build' - - 'foreman-upload-artifact' - - 'foreman-workspace-cleanup' - -- job-template: - name: 'genesis-foreman-deploy-{stream}' - - disabled: true - - node: opnfv-jump-2 - - parameters: - - project-parameter: - project: '{project}' - - foreman-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}' - - builders: - - 'foreman-deploy' - -- job-template: - name: 'genesis-foreman-lab-reconfig-{stream}' - - disabled: true - - parameters: - - project-parameter: - project: '{project}' - - foreman-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-fuel-daily.*" - - builders: - - 'foreman-lab-reconfig' - -- job-template: - name: 'genesis-foreman-verify-deploy-virtual-{stream}' - - node: opnfv-jump-1 - - disabled: true - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - foreman-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: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - triggers: - - gerrit: - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: 'genesis' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - 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}/include/**' - forbidden-file-paths: - - compare-type: ANT - pattern: 'common/docs/**' - - compare-type: ANT - pattern: '{installer}/docs/**' - dependency-jobs: 'genesis-foreman-verify-build-{stream}' - - builders: - - 'foreman-deploy-virtual' - -######################## -# parameter macros -######################## -- parameter: - name: foreman-parameter - parameters: - - string: - name: INSTALLER - default: '{installer}' - description: "Installer to use." - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: CACHE_DIRECTORY - default: $HOME/opnfv/cache/genesis-$INSTALLER{gs-pathname} - description: "Directory where the cache to be used during the build is located." - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT/$INSTALLER{gs-pathname} - description: "URL to Google Storage." - -######################## -# builder macros -######################## -- builder: - name: 'foreman-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/foreman.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!" - -- builder: - name: 'foreman-build' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Starting the build of $INSTALLER. This could take some time..." - echo "--------------------------------------------------------" - echo - - # create the cache directory if it doesn't exist - [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY - - # set OPNFV_ARTIFACT_VERSION - export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") - - # start the build - cd $WORKSPACE/$INSTALLER/ci - ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY - - # list the contents of BUILD_OUTPUT directory - ls -al $BUILD_DIRECTORY - - # save information regarding artifact into file - ( - echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" - echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" - echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" - 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_BUILD_URL=$BUILD_URL" - ) > $WORKSPACE/opnfv.properties - - echo - echo "--------------------------------------------------------" - echo "Done!" - -- builder: - name: 'foreman-deploy' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Starting the deployment using $INSTALLER. This could take some time..." - echo "--------------------------------------------------------" - echo - - # cleanup first - sudo $WORKSPACE/common/ci/clean.sh -base_config $WORKSPACE/$INSTALLER/ci/inventory/lf_pod2_ksgen_settings.yml - - echo "Sleeping for 60 seconds between clean and deploy to allow nodes to power off" - sleep 60 - - # and then initiate deployment - sudo $WORKSPACE/$INSTALLER/ci/deploy.sh -base_config $WORKSPACE/$INSTALLER/ci/inventory/lf_pod2_ksgen_settings.yml - - echo - echo "--------------------------------------------------------" - echo "Done!" - -- builder: - name: 'foreman-deploy-virtual' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Starting the virtual deployment using $INSTALLER. This could take some time..." - echo "--------------------------------------------------------" - echo - - # cleanup baremetal first (in case baremetal was being used on pod2, remove when moved to isolated Virtual pod) - sudo $WORKSPACE/common/ci/clean.sh - - # initiate virtual deployment - sudo $WORKSPACE/$INSTALLER/ci/deploy.sh -virtual - - echo - echo "--------------------------------------------------------" - echo "Done!" - -- builder: - name: 'foreman-upload-artifact' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Uploading the $INSTALLER artifact. This could take some time..." - echo "--------------------------------------------------------" - echo - - # source the opnfv.properties to get ARTIFACT_VERSION - source $WORKSPACE/opnfv.properties - - # 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 $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 - - echo - echo "--------------------------------------------------------" - echo "Done!" - echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" - -- builder: - name: 'foreman-workspace-cleanup' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # delete everything that is in $WORKSPACE - /bin/rm -rf $WORKSPACE - -######################## -# trigger macros -######################## -- trigger: - name: 'foreman-master' - triggers: - - timed: '0 11 * * *' - -- trigger: - name: 'foreman-stable-arno' - triggers: - - timed: '0 12 * * *' |