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
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
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
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
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
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>
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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>
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
This is a noop change to reduce some duplicate code.
Change-Id: Ib116d64e2035ef65d9fe6feb00b23dcaf67431ec
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
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
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>
In order to facilitate better debugging abilities in check results,
this patch adds the log publisher.
Change-Id: I936a221644d0ac28a64855739934f8359b33ed52
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
This adds the project being tested to PROJECTS var,
so it gets cloned and placed on /opt/stack/new.
Change-Id: I86fb99d913cc7e3fcdf41f70e12b5843a304c944
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
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
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
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
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
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
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