diff options
Diffstat (limited to 'jjb/xci/osa-periodic-jobs.yaml')
-rw-r--r-- | jjb/xci/osa-periodic-jobs.yaml | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/jjb/xci/osa-periodic-jobs.yaml b/jjb/xci/osa-periodic-jobs.yaml new file mode 100644 index 000000000..6c2d165a4 --- /dev/null +++ b/jjb/xci/osa-periodic-jobs.yaml @@ -0,0 +1,261 @@ +--- +- project: + name: 'opnfv-osa-periodic' + + project: openstack-ansible + # ------------------------------- + # branches + # ------------------------------- + stream: + - master: + branch: '{stream}' + # ------------------------------- + # distros + # ------------------------------- + distro: + - ubuntu: + disabled: false + - centos: + disabled: false + - opensuse: + disabled: false + # ------------------------------- + # type + # ------------------------------- + type: + - virtual + # ------------------------------- + # periodic deploy & test phases + # ------------------------------- + phase: + - 'deploy' + - 'healthcheck' + # ------------------------------- + # jobs + # ------------------------------- + jobs: + - 'xci-osa-periodic-{distro}-{type}-{stream}' + - 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}' +# ------------------------------- +# job templates +# ------------------------------- +- job-template: + name: 'xci-osa-periodic-{distro}-{type}-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'xci-verify-{distro}-.*' + - 'bifrost-verify-{distro}-.*' + - 'bifrost-periodic-{distro}-.*' + - 'xci-osa-verify-{distro}-.*' + - 'xci-osa-periodic-{distro}-.*' + block-level: 'NODE' + - throttle: + max-per-node: 2 + max-total: 10 + categories: + - xci-verify-virtual + option: category + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 + - fix-workspace-permissions + + scm: + - git-scm-openstack + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'xci-virtual' + - string: + name: OPENSTACK_OSA_VERSION + default: 'master' + - string: + name: CLEAN_DIB_IMAGES + default: 'true' + - string: + name: GIT_BASE + default: 'https://git.openstack.org/openstack/$PROJECT' + description: 'Git URL to use on this Jenkins Slave' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'xci-osa-periodic-{distro}-deploy-{type}-{stream}' + current-parameters: true + predefined-parameters: | + DISTRO={distro} + DEPLOY_SCENARIO=os-nosdn-nofeature-noha + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES + BRANCH=$BRANCH + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: true + - multijob: + name: healthcheck + condition: SUCCESSFUL + projects: + - name: 'xci-osa-periodic-{distro}-healthcheck-{type}-{stream}' + current-parameters: true + predefined-parameters: | + DISTRO={distro} + DEPLOY_SCENARIO=os-nosdn-nofeature-noha + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES + FUNCTEST_MODE=tier + FUNCTEST_TIER=healthcheck + BRANCH=$BRANCH + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + +- job-template: + name: 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}' + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '.*-bifrost-verify-.*' + - '.*-bifrost-periodic-.*' + block-level: 'NODE' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DISTRO + default: 'ubuntu' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-noha' + - string: + name: OPENSTACK_OSA_VERSION + default: 'master' + - string: + name: FUNCTEST_MODE + default: 'tier' + - string: + name: FUNCTEST_SUITE_NAME + default: 'healthcheck' + - string: + name: XCI_FLAVOR + default: 'mini' + - string: + name: CLEAN_DIB_IMAGES + default: 'true' + - string: + name: INSTALLER_TYPE + default: 'osa' + - string: + name: GIT_BASE + default: 'https://git.openstack.org/openstack/$PROJECT' + description: 'Git URL to use on this Jenkins Slave' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 + - fix-workspace-permissions + + scm: + - git-scm-openstack + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'xci-osa-periodic-{phase}-macro' + +# ------------------------------- +# builder macros +# ------------------------------- +- builder: + name: 'xci-osa-periodic-deploy-macro' + builders: + - shell: | + #!/bin/bash + + cd $WORKSPACE + + # The start-new-vm.sh script will copy the entire releng-xci directory + # so lets prepare the test script now so it can be copied by the script. + # Please do not move it elsewhere or you would have to move it to the VM + # yourself. + cat > xci_test.sh<<EOF + #!/bin/bash + export DISTRO=$DISTRO + export DEPLOY_SCENARIO=$DEPLOY_SCENARIO + export OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + export FUNCTEST_MODE=$FUNCTEST_MODE + export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME + export XCI_FLAVOR=$XCI_FLAVOR + export CORE_OPENSTACK_INSTALL=true + export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES + export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/ + export INSTALLER_TYPE=$INSTALLER_TYPE + export GIT_BASE=$GIT_BASE + export JENKINS_HOME=$JENKINS_HOME + + cd xci + ./xci-deploy.sh + EOF + chmod a+x xci_test.sh + + export XCI_BUILD_CLEAN_VM_OS=false + export XCI_UPDATE_CLEAN_VM_OS=true + + ./xci/scripts/vm/start-new-vm.sh $DISTRO + - shell: | + #!/bin/bash + + ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh" + + +- builder: + name: 'xci-osa-periodic-healthcheck-macro' + builders: + - shell: | + #!/bin/bash + + echo "Hello World!" + - shell: | + #!/bin/bash + + sudo virsh destroy ${DISTRO}_xci_vm || true + sudo virsh undefine ${DISTRO}_xci_vm || true + +# this will be enabled once the xci is prepared +# - builder: +# name: 'xci-verify-healthcheck-macro' +# builders: +# - shell: +# !include-raw: ../../utils/fetch_os_creds.sh +# - shell: +# !include-raw: ../functest/functest-alpine.sh |