Commit Graph

72 Commits

Author SHA1 Message Date
Monty Taylor 355f7090a6 Remove zuul v2 and jjb content
It's migrated, it can be removed now.

Depends-On: I6a89752d74ed7424267c3af3937ad01fb4bb8f86
Change-Id: Id67d0149b645bd23e460cef65719541f76f0967b
2017-10-24 08:50:05 +02:00
Monty Taylor b4fd783219
Remove unmatched single quotes from jenkins jobs
The v3 migration script can handle these just fine - but if we go ahead
and remove them the output can be predominantely shell rather than
script.

Change-Id: I440851a0149e1cc7f8c5c6e8a4e3e0b94088ee82
2017-09-20 09:27:26 -05:00
Jesse Pretorius 8931ee957b Simplify keystone OSA upgrade job config
The keystone OSA rolling-upgrade job defines a
builder and job template which duplicates things
done elsewhere. Instead of duplicating job
config, this patch implements the re-use of
other job config.

This also ensures that the primary checkout for
all openstack-ansible scenario jobs is actually
the openstack-ansible repository, instead of
another repository (eg: dragonflow). This ensures
that the correct tests are activated.

Change-Id: I8b0147454ba3ee1ecbd23a6f7c019826690936eb
2017-09-12 06:43:50 -06:00
Ian Wienand e8264a600f Remove/migrate Fedora 25 jobs
Fedora 26 is working with devstack jobs and (with bindep 2.5.0) tox
testing.  We wish to stop Fedora 25 builds to reduce the daily upload
requirements (but also, we try to keep this on the most recent as
quickly as possible).

The bindep fallback tests are removed and the other jobs migrated to
fedora-26 nodes.

Nodes are reduced to 0 in nodepool for build removal

Change-Id: I7bf569c5d7196516c93f8a2b7306596a74eaa0c7
2017-08-23 11:20:02 +10:00
Jenkins a575572837 Merge "jenkins: jobs: ansible-role-jobs: Increase job timeout to 90 minutes" 2017-08-16 14:36:38 +00:00
Markos Chandras 24f05bf5de jenkins: jobs: ansible-role-jobs: Increase job timeout to 90 minutes
We are seeing a lot of failures lately due to job timeouts. It appears
that jobs got more complex over time so these timeouts do not
necessarily mean that the job is stuck. For example the following job

2017-08-15 15:08:55.607415 | [Zuul] Launched by zl07
[...]
2017-08-15 16:03:01.405355 | TASK [Run functional tests for swift] ******************************************
2017-08-15 16:03:01.428393 | Tuesday 15 August 2017  16:03:01 +0000 (0:00:00.062)       0:51:42.612 ********
2017-08-15 16:14:02.430223 | [Zuul] Job timed out, result: FAILURE

took about an hour to reach the point of actually executing the
functional tests so the failure does not look legit. As such it might
be better to increase the timeout again so we can give the CI jobs more
time to finish.

Change-Id: I3562263beb5d3b8b3e164f96ae48f2cb2dddace5
2017-08-15 19:40:42 +01:00
Major Hayden 292cc1caa0
Skip yum-config-manager on Fedora
This patch ensures that the yum-config-manager commands in the
builders scripts are used only on CentOS/RHEL and not on Fedora.

Related-Bug: 1710675
Change-Id: I2607f295a924a2ec51920b5f2b27c34d5222e8ff
2017-08-14 13:53:43 -05:00
Paul Belanger 983d110ba8 Remove opensuse-422 from jobs
Like we do for fedora, we only want to keep the latest opensuse image
in the gate. After talking with dirk, he is happy enough with
opensuse-423 that we can remove opensuse-422.

Jobs that were depending on opensuse-422 have been upgraded to
opensuse-423.

Change-Id: I921e0507694d4d39e61c4c822fc3235d7e97a128
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-08-09 11:37:04 -04:00
Major Hayden c6cc5abe77
Reduce yum-config-manager output
The recent changes to yum-config-manager produce a lot
of output that isn't needed. This patch removes the output
from yum-config-manager.

An upstream fix for yum-utils has also been proposed:

  https://github.com/rpm-software-management/yum-utils/pull/26

Change-Id: I284d0b69647da64dc1148f8ce6cbe848a2d6bc67
Signed-off-by: Major Hayden <major@mhtx.net>
2017-08-07 17:00:45 -05:00
Major Hayden 5fd623e1c3
Enable minimum CentOS repositories
The CentOS CI images have many yum repositories enabled by default.
This can cause package conflicts in gate jobs and it doesn't match
what a basic CentOS system would look like for an OpenStack-Ansible
deployer.

This patch disables all repositories for the ansible-role-jobs and
only enables base, epel, and updates. This allows individual roles
to add extra repositories when they need them.

Related-Bug: 1708493
Change-Id: I2ac5a9c463991e4668a3e7608831c1944377e85e
2017-08-03 12:07:55 -05:00
Markos Chandras b50595f9c2 jenkins: openstack-ansible: Add openSUSE 42.3 jobs
openSUSE 42.3 is being released soon but we are already building images
for it so add it as a non-voting job to the OpenStack Ansible roles.
However, we don't add it to the AIO project yet as that still doesn't
work properly on 42.2 so it's pointless to add 42.3 at this point.

Change-Id: I9a5ec74eca996733ac97cca284f8e20f6886ee13
2017-07-24 13:56:15 +01:00
Markos Chandras 1d07a7c155 zuul: layout: Add non-voting openSUSE OpenStack Ansible jobs
Add new openSUSE non-voting job so we can automatically test
openSUSE on new patchsets. This aims to slowly phase out the
experimental one. We also need to prevent these jobs in the
stable/(newton|ocata) branches since openSUSE support has been
added in the Pike release.

Change-Id: If5583aa89818509d56b1d3f994c1515f18ccdb50
2017-07-20 15:05:50 +01:00
Andreas Jaeger a4a47bf7f2 Do not define some non-voting ansible jobs
No repo uses non-voting opensuse or non-voting trusty functional jobs,
remove them.

There are only two dsvm functional jobs used:
gate-ansible-role-cloud-launcher-dsvm-ansible-func-centos-7
gate-ansible-role-cloud-launcher-dsvm-ansible-func-ubuntu-trusty

So, no need to define also the following, remove them:
gate-ansible-role-cloud-launcher-dsvm-ansible-func-centos-7-nv
gate-ansible-role-cloud-launcher-dsvm-ansible-func-opensuse-422
gate-ansible-role-cloud-launcher-dsvm-ansible-func-opensuse-422-nv
gate-ansible-role-cloud-launcher-dsvm-ansible-func-ubuntu-trusty-nv
gate-ansible-role-cloud-launcher-dsvm-ansible-func-ubuntu-xenial
gate-ansible-role-cloud-launcher-dsvm-ansible-func-ubuntu-xenial-nv

Remove unused templates in zuul/layout.yaml.

Note this deletes 123 unused but defined jobs.

Change-Id: Ib343c6e8b1474ac7ea4d0b3dddd34361d7da230d
2017-07-16 15:55:46 +00:00
Jenkins ff6547920a Merge "jenkins: jobs: ansible-role-jobs: Check if yum-config-manager is present" 2017-07-12 08:22:24 +00:00
Jenkins 5b84c07ed0 Merge "Remove unused ansible job definitions" 2017-07-11 14:22:05 +00:00
Markos Chandras e7d16dfd34 jenkins: jobs: ansible-role-jobs: Check if yum-config-manager is present
Fedora has /usr/bin/yum present but lacks yum-config-manager and as such
enabling the EPEL repository fails. Fedora does not need the EPEL
repository anyway but it's best to check if yum-config-manager is
present before we try to use it to manage the repositories.

Fixes the following problem on ansible-hardening Fedora CI tests

2017-07-11 08:41:33.826710 | [Zuul] Task exit code: 0
2017-07-11 08:41:40.250338 | + [[ -e /usr/bin/yum ]]
2017-07-11 08:41:40.250583 | + sudo yum-config-manager --enable epel
2017-07-11 08:41:40.256168 | sudo: yum-config-manager: command not found

Change-Id: I2b7b7c360197a7526e6cedc9f6c4ae5a391d9f6d
2017-07-11 10:14:41 +01:00
Jenkins 43e857a8b8 Merge "jenkins: jobs: ansible-role-jobs: Always enable the EPEL repo" 2017-07-11 06:25:17 +00:00
Andreas Jaeger 16a74f4e51 Remove unused ansible job definitions
The debian-jessie jobs are only run on ansible-hardening and
ansible-security repos, no need to define them for all ansible repos.

Also, remove unused node from ansible-role-jobs and
ansible-role-dsvm-jobs.

Change-Id: I1d353dbe0f81e0579d52cda51b14a47ac8b2b85d
2017-07-09 19:19:47 +02:00
Andreas Jaeger 81e4241693 mitaka-eol: Remove trusty docs, linters for ansible
The ansible jobs run only the xenial version of docs and linters. So,
remove the unneeded trusty versions and cleanup conditions.

Use where possible the ansible-role template instead of single jobs.

Change-Id: I451570277a1a602d488662dd5e496e4dcb834cf6
2017-07-07 21:10:19 +02:00
Markos Chandras 0fd037862f jenkins: jobs: ansible-role-jobs: Always enable the EPEL repo
The ansible-role-jobs are supposed to be used in the OSA repositories so
there is not particular reason to check for the project name before we
enable the EPEL repository. If for whatever reason the EPEL repository
is not there, then we simply return 'true' so we don't break existing
jobs. This fixes a problem with the 'ansible-hardening' repository which
doesn't match the 'openstack-ansible' pattern and as such the EPEL
repository was never enabled for its jobs. This will soon affect the
ansible-hardening jobs with the following error:

2017-07-04 20:45:46.069562 | + sudo PATH=/usr/sbin:/sbin:/usr/local/bin:/usr/bin yum install -y python-ndg_httpsclient
2017-07-04 20:45:46.184220 | Loaded plugins: fastestmirror
2017-07-04 20:45:46.227381 | Loading mirror speeds from cached hostfile
2017-07-04 20:45:46.347841 | No package python-ndg_httpsclient available.
2017-07-04 20:45:46.435958 | Error: Nothing to do
2017-07-04 20:45:46.455212 | + set -e
2017-07-04 20:45:46.456459 | + try=3
2017-07-04 20:45:46.456522 | + /usr/bindep-env/bin/bindep -b -f bindep.txt test
2017-07-04 20:45:47.411528 | python-ndg_httpsclient
2017-07-04 20:45:47.423625 | + '[' 3 -gt 2 ']'
2017-07-04 20:45:47.423690 | + set +x
2017-07-04 20:45:48.408816 |
2017-07-04 20:45:48.408901 | ERROR: These requested packages were not installed:
2017-07-04 20:45:48.408911 |
2017-07-04 20:45:48.408925 | python-ndg_httpsclient
2017-07-04 20:45:48.408931 |
2017-07-04 20:45:48.408940 | + exit 1

Change-Id: If534b74d3e26f8f051e1c6186766d2e6434e21f9
2017-07-07 07:33:20 +01:00
Markos Chandras e58307df56 jenkins: jobs: ansible-role-jobs: Add openSUSE 42.2
Instantiate jobs for openSUSE Leap 42.2 which is now available in the
OpenStack CI. These jobs will be 'experimental' for the time being.

Change-Id: I8573d1253d4b3cd53a53beff8adf9ef48f673a96
2017-06-20 10:42:25 +01:00
Jenkins 6954af5734 Merge "Add 'propose' job for openstack-ansible-tests" 2017-05-23 10:07:02 +00:00
Major Hayden 20abda3c03
Add Debian nv check for osa-security
This patch adds a non-voting CI check for Debian jessie on the
openstack-ansible-security role.

Change-Id: Ia33012de9aab5f9113bce5453c3127a9c77594ba
2017-05-19 14:31:54 -05:00
Markos Chandras e6ddb7965c Add 'propose' job for openstack-ansible-tests
The openstack/openstack-ansible-tests repository holds various test
files which are duplicated in every openstack-ansible project. Files
are often end up out of sync so we add a new 'propose' job in order
to try and keep all these files in sync.

Change-Id: Ic46cf859c8a6e0eae2576cb11e2798f49ce87b23
2017-05-19 09:22:33 +01:00
Andy McCrae 240c1e9696 Fix conditional for EPEL Repo enable/disable for OSA
Because the job runs against Ubuntu and CentOS7 hosts, we need to ensure
that the task won't fail on an Ubuntu host. This patch changes to a
conditional so the exit code is 0 rather than 1 when running on Ubuntu.

Change-Id: I4ab7194db9ded8190dca209f284e5195e526b695
2017-05-03 10:34:19 +01:00
David Moreau-Simard 44ca9dd5f3 Disable EPEL after running Bindep for OSA jobs
EPEL is enabled on a per-transaction basis only when required as
part of the playbooks (ex: [1][2]).

By enabling EPEL for the purpose of installing packages out of
bindep and not disabling it afterwards means EPEL is effectively
"bleeding" into every yum transactions, not just the ones where it
is explicitely enabled.

This patch prevents such bleeding by disabling EPEL right after
bindep has finished installed packages.

[1]: 09406de86b/vars/redhat-7.yml (L67)
[2]: 1db27456b9/tasks/pre_install_yum.yml (L53)

Change-Id: Iab82082d24f4edddeedd28964871dafc0379cd44
2017-05-02 12:58:35 -04:00
Andreas Jaeger 0af15e8d9d Remove useless quotes for nodes
A few projects used excess '' for node declarations, remove them.

We had 17 'ubuntu-trusty' and 285 ubuntu-trusty,
and 25 'ubuntu-xenial' and 744 ubuntu-xenial.

This changes all node names for consistency, thus making search easier.

Change-Id: I0cf565d1e31ea246f3b9d93bbd8de9980df4c684
2017-04-28 19:43:00 +02:00
Jimmy McCrory 34d4df7691 Enable EPEL before installing distro packages
OpenStack-Ansible's roles contain a bindep requirement from EPEL.

Change-Id: Ie27db0423d0679f7f32a2295837816f79721af2f
2017-04-14 16:35:57 +00:00
Andreas Jaeger acf7572d10 s/gerrit-git-prep/zuul-git-prep/g
We do not need gerrit-git-prep anymore, zuul-git-prep works on all our
slaves and has the advantage of using zuul-cloner so that the local
cache is used and Depends-On works.

Remove gerrit-git-prep and use zuul-git-prep instead everywhere.

Change-Id: I2f106af58f78fceaf3c497fe43e6f5a002695645
2017-04-03 19:36:51 +02:00
Paul Belanger 6db5cd3c4f Replace fedora-24 jobs with fedora-25
The majority of these fedora jobs are non-voting. There is no issue
moving the ansible roles and windmill to fedora-25, as I can clean up
issues as they are found.

Change-Id: Ifc2a000858808438b394a1959d7e89700fb41f00
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-01-14 11:49:30 -05:00
Paul Belanger 01dfd5c9a3 Add fedora-24 voting jobs
We've confirmed the following ansible roles work correctly on Fedora
24, so we can make them voting.

Change-Id: Ifbd3946a065c2d0c3ebbdbfea6a38e6c0b2c2f06
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-12-08 21:03:35 -05:00
Andreas Jaeger 4a61bc67f5 Change job-suffix to suffix
We have now some rather long job-template names, shorten them with
replacing job-suffix with suffix.

Before this change we had 1500 usages of job-suffix and 700 of just
suffix. This change therefore unifies to one setting.

Note that this does not change any job names at all, they are unchanged,
it changes and shortens only the names of job-templates.

Change-Id: I514df039a848d9f6619bca3adc05dfb84a761fc9
2016-12-08 22:05:01 +01:00
Paul Belanger f28f0a2b1c Clean up ansible-(dsvm-)role-jobs
This is a noop change to reduce some duplicate code.

Change-Id: Ib116d64e2035ef65d9fe6feb00b23dcaf67431ec
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-11-24 15:22:06 -05:00
Jesse Pretorius 3eeb2a4819 Add upper constraints prep to ansible-role-jobs
Currently the UPPER_CONSTRAINTS_FILE environment variable
is set, but there is no file. This patch ensures that the
file is on the test node too.

Change-Id: I34af5505e9f3f1744134428f03e96d3446e5c2a0
2016-10-18 17:02:35 +01:00
Jenkins 3c93d892c9 Merge "Allow Ansible role checks to collect logs" 2016-08-02 13:23:53 +00:00
Paul Belanger 83e43018f4
Switch to gate-{name}-linters-{node}
This is part of our effort to migrate from ubuntu-trusty to
ubuntu-xenial.

Change-Id: Ifc69d2b5bb487f4b41bc9a04daec7f265e7463ab
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-08-01 12:04:43 -04:00
Jesse Pretorius b25c256bf3 Allow Ansible role checks to collect logs
In order to facilitate better debugging abilities in check results,
this patch adds the log publisher.

Change-Id: I936a221644d0ac28a64855739934f8359b33ed52
2016-07-29 17:41:40 +00:00
Clark Boylan 02fc6ae7ed Convert python-jobs to run on xenial
This moves members of the python-jobs group over to using xenial by
default on >= Newton. We continue to run on trusty on older branches.

Change-Id: Idba3883443e53567435c36dcc833b5f3988d8670
2016-07-25 19:32:46 -04:00
Ricardo Carrillo Cruz 38c54ee096 Bump cloud launcher build timeout
Change-Id: I975854a58954a72e51461a5bebd5fa15cc5473d2
2016-07-19 10:49:21 +02:00
Ricardo Carrillo Cruz a34873be50 Add ZUUL_PROJECT to PROJECTS to clone
This adds the project being tested to PROJECTS var,
so it gets cloned and placed on /opt/stack/new.

Change-Id: I86fb99d913cc7e3fcdf41f70e12b5843a304c944
2016-07-18 18:57:08 +02:00
Ricardo Carrillo Cruz a8fe0209c3 Use {name} instead of ZUUL_PROJECT in ansible role post_test_hook
Otherwise it shows 'openstack/$PROJECT', making tests to fail as
the path does not exist.
e.g.

https://review.openstack.org/#/c/342099/ , patchset 18.

{name} just contains the project name being tested, so just use it.

Change-Id: Ib41e31eba87c863723ede7b89ca81a4c871ad5e5
2016-07-18 15:04:39 +02:00
Jenkins b5334b1186 Merge "Fix ansible dsvm functional job" 2016-07-18 10:09:25 +00:00
Ricardo Carrillo Cruz ca82114230 Fix ansible dsvm functional job
The job is missing the post_test_hook function export.
This makes the job to bail early, as there's no post test hook
and the cleanup routine is called immediately.

This causes an issue on DevStack, as the cleanup calls the
stackviz installation code which makes a pip install -U, upgrading
underlying libs needed by DevStack like pytz and oslo.context, which
breaks subsequent tests as the latest versions of these libraries
do not work properly with Nova code.
e.g. https://review.openstack.org/#/c/342099/

The tox kickoff script should be in project repo, rather than
relying on the tox macro. The path expected is
tests/hooks/post_test_hook.sh.

Depends-On: Icfe3d5a4f4226d36885664bb95a370ada13c630f
Change-Id: Ie56f41884253d1ab97a205fdb9fbde88963c5fe7
2016-07-18 10:51:31 +02:00
Jesse Pretorius 441816ac31 Implement optional scenario setting for Ansible jobs
In order to allow the same ansible role jobs to be used for multiple
scenarios, this patch implements an optional job setting which gets
used to modify the tox environment used.

The intent is that the tox configuration used in the target repository
can be specified in the job in order to implement alternative
scenarios.

Change-Id: I2e9c49b6d8181feb24c963d88b2f08e46e8a18c4
2016-07-12 17:56:56 +01:00
Ricardo Carrillo Cruz 794b01e578 Remove bindep builder from cloud launcher dsvm job
The bindep macro installs mysql, which sets the password for root
user.
However, devstack *also* installs is with preseed data with
the default password 'secretpassword', which makes the job
to break in Ubuntu.

Change-Id: Ia81a065a7f02eafda5f0d7b107c88484ddc20d75
2016-06-01 23:47:02 +02:00
Ricardo Carrillo Cruz fe8468263e Run dsvm jobs on the Ansible cloud launcher role
Change-Id: I40838acb972840002dbbf761a3bdd9b90b21675f
2016-05-31 19:57:40 +02:00
Ricardo Carrillo Cruz dcf2f3c8a3 Add ansible role job with DevStack
The Ansible cloud launcher needs to run with DevStack running
to test that it actually can launch clouds and do anything useful.
Add this job to the ansible role jobs family prior to enabling it
on the cloud launcher project.

Change-Id: I0dc8936929ce7654b16ec1e8e0c7025fcf94b8da
2016-05-31 14:22:45 +02:00
Jesse Pretorius 53f44fd8d2 Add release announcement jobs for major OSA repos
In order to facilitate the execution of the release announcements for
OpenStack-Ansible repositories (which don't publish tarballs), this
patch sets up the announce-release post job for a selective set of
repositories.

Also included is a small fix to the experimental jobs for the os_aodh
repository.

Change-Id: Ia56d236d3a952f9370a0c23622ec08d62f0e287b
2016-05-27 16:05:56 +01:00
Jenkins 13a3129ba7 Merge "Implement higher job timeout for Ansible role jobs" 2016-04-19 17:10:07 +00:00
Jesse Pretorius e1e8c6995c Implement higher job timeout for Ansible role jobs
Some of the OpenStack-Ansible (OSA) roles construct enough of
an OpenStack environment and execute enough functional testing
for the job to easily reach the 30 min default time limit.

This patch implements a higher limit to cater for these jobs
to ensure that OSA can properly execute functional testing in
the roles without having to compromise o quality to accommodate
a short job timeout.

Change-Id: I780b735de54c23cfea14ddafa8ad39aff16e92eb
2016-04-15 19:09:40 +01:00