diff --git a/modules/openstack_project/files/jenkins_job_builder/config/solum.yaml b/modules/openstack_project/files/jenkins_job_builder/config/solum.yaml index bebc0c8e6d..4b05b9ae1b 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/solum.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/solum.yaml @@ -1,5 +1,5 @@ - job: - name: gate-solum-devstack-dsvm + name: 'gate-solum-devstack-dsvm' node: 'devstack-precise || devstack-trusty' wrappers: @@ -39,3 +39,45 @@ publishers: - devstack-logs - console-log + +- job: + name: 'gate-solum-devstack-dsvm-f20' + node: 'devstack-f20' + + wrappers: + - timeout: + timeout: 65 + fail: true + - timestamps + + builders: + - link-logs + - net-info + - devstack-checkout + - shell: | + #!/bin/bash -xe + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TIMEOUT=60 + export DEVSTACK_GATE_NEUTRON=1 + export KEEP_LOCALRC=1 + export ENABLED_SERVICES=solum,solum-api,solum-build-api,solum-conductor,solum-deployer,solum-worker,tempest + export PROJECTS="stackforge/solum $PROJECTS" + + function pre_test_hook { + cd /opt/stack/new/solum/functionaltests + ./pre_test_hook.sh + } + export -f pre_test_hook + + function post_test_hook { + cd /opt/stack/new/solum/functionaltests + ./post_test_hook.sh + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + + publishers: + - devstack-logs + - console-log diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index 933008834b..9165a86f50 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -591,6 +591,8 @@ jobs: voting: false - name: gate-solum-python33 voting: false + - name: gate-solum-devstack-dsvm + voting: false - name: gate-reviewstats-python33 voting: false - name: gate-refstack-python33 @@ -4489,9 +4491,10 @@ projects: - gate-solum-python33 - gate-solum-pypy - gate-solum-devstack-dsvm + - gate-solum-devstack-dsvm-f20 gate: - gate-solum-pypy - - gate-solum-devstack-dsvm + - gate-solum-devstack-dsvm-f20 pre-release: - solum-tarball release: diff --git a/modules/openstack_project/files/zuul/openstack_functions.py b/modules/openstack_project/files/zuul/openstack_functions.py index 211c9a11ce..4e005b41fc 100644 --- a/modules/openstack_project/files/zuul/openstack_functions.py +++ b/modules/openstack_project/files/zuul/openstack_functions.py @@ -88,6 +88,7 @@ def set_node_options(item, job, params, default): mirror_re = r'^(periodic|post)-mirror-python(26|27|33)$' python26_re = r'^.*-py(thon)?26.*$' centos6_re = r'^.*-centos6.*$' + f20_re = r'^.*-f20.*$' python33_re = r'^.*-py(py|(thon)?33).*$' tripleo_re = r'^.*-tripleo.*$' devstack_re = r'^.*-dsvm.*$' @@ -105,6 +106,10 @@ def set_node_options(item, job, params, default): elif re.match(centos6_re, job.name): # Pass because job specified label is always correct. pass + # Jobs needing fedora 20 + elif re.match(f20_re, job.name): + # Pass because job specified label is always correct. + pass # Jobs needing py33/pypy slaves elif re.match(python33_re, job.name): # Pass because job specified label is always correct.