Now that we're using the general templates, we can slim down
the role test definitions. We can also remove tests which are
not being watched, or which are fundamentally broken. With
this we can also remove unused scripts/plays.
We do the following:
1. We remove the 'ssl' job, given that the person working on
that is no longer doing so, and no-one else has picked up
the work.
2. We remove the 'upgrade' job, given that it's been broken
all cycle due to the way the job executes and we need to
regroup to figure out another way to do it.
3. We promote the jobs which appear to be reliably working.
4. We rename the tox target for 'func_ovs' to 'ovs' and
'func_ovn' to 'ovn' as the 'fun_' prefix is pointless.
5. We rename the '-nv' jobs to without that suffix, and move
the non-voting argument to the projects file to make it
more obvious and easier to change later.
Change-Id: Ic2f8a999cc084da76fade0000d2e6198b025c38a
In order to ensure that the updated role is used for tests,
we adjust the a-r-r file to pull from the correct repo.
Change-Id: I9aafd4b24631e195b46c3935c479fa00f9b5766a
In order to allow tests to work as the use of the common
role is implemented in the various roles, we pre-implement
the addition of the role into the a-r-r file.
Change-Id: Ibc431c82610549171be9f044ac48c4b5f1a50781
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
The post up checksum script was being executed by the legacy networking
To ensure we retain the same capabilities the checksum fix script has
been moved into a systemd oneshot service.
Change-Id: I58d393eb8c78a541142a29c5e0678cbd6ec18b65
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
In order to allow tests to work with https://review.openstack.org/551028
merged, add the role to the a-r-r file.
Change-Id: Ie797fec6698a9a525f5590617d069235715c03b1
With the latest ops changes, we use the clouds.yaml
file for API testing.
We therefore need to generate it on localhost, where the
API tests are located.
On top of this, the scripts are modified to consider that
previous branch is now queens, not pike.
Change-Id: I0c1d6298cd394426b6e4acbc1859c901fdd80439
Co-Authored-By: Jean-Philippe Evrard <jean-philippe@evrard.me>
Cloning from the official ODL git repository fails far too often with
the following error
fatal: unable to access 'https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git/': gnutls_handshake() failed: Error in the pull function
Lets switch to the github mirror which may be more reliable.
Change-Id: Icea546f80d0302d735e85ff2ce86ff4845451d59
This changes the a-r-r with the proper version, and fixes
the repo path for role upgrades:
The role will, during test-upgrade-pre, have its current branch
checked out, and will deploy the current branch infrastructure,
including the generation of the constraints.
Then, the installation of previous branch of the role will use
the constraints for its previous version, but will have no
constraints for it, and fail.
We need to generate the constraints for the previous version too.
This should do it.
On top of it, we need to enfore git and iptables to the list of
packages, because of the issues happening in the developer mode:
Error [Errno 2] No such file or directory while executing command
git clone -q https://git.openstack.org/openstack/neutron
/tmp/pip-build-iS3zW0/neutron
Cannot find command 'git'\n"
This patch also implements an initial set of jobs intended to
match the current job execution method. It does not intend to
improve how the jobs are executed - only to replicate what is
currently in openstack-infra/openstack-zuul-jobs and provide
the platform to iterate on.
To avoid the chicken and egg issue, this patchset temporarily disables
the upgrade testing.
Co-Authored-By: Manuel Buil <mbuil@suse.com>
Change-Id: I48a554e4ef92bc3c156e43881013cc85df0dc8d4
- This commit adds a new ML2 backend that uses OpenDaylight SDN
Controller and networking-odl to handle neutron networking.
- Installation of OpenDaylight uses the official ansible-opendaylight
Ansible role.
- It requires OpenvSwitch as traffic forwarder.
- New test scenario for OpenDaylight
Change-Id: I67083992660a1aca4b6edd5ecf4f28113c0e547f
A run_once task decides on a host without the
context of conditionals related to the task.
The filter is done prior to evaluating any
conditionals.
Also, only the neutron-server neutron.conf has
the database connection credentials as a
security measure, so it is not able to execute
the database migrations.
This patch ensures that the database migrations
are only run once, but are also executed
wherever neutron-server is. It also adds
multiple instances of neutron-server and
neutron-agents to better test against problems
of this nature happening again.
Additionally, the patch uses the handlers for
the offline migrations to ensure that
neutron-server is only restarted once when a
new tag is deployed.
Change-Id: I672ceb0848415c8f2653ebc8f7556db77f7f001c
For testing we need to set the ansible-role-requirements for the
previous role to be "stable/ocata"
Change-Id: If90cf64db42886463a0a10690610d4cc13e73c5f
Implement upgrade testing for os_neutron role.
This patch adds an upgrade testenv, which configures a previous version
of Neutron, and the test-vars from the previous stable branch to be used
by the previous version of Neutron.
We don't run functional tests after the initial stable/newton deploy
because a working stable/newton branch is already tested, and it's
assumed it worked if the upgrade works too - which is more
efficient.
This follows the pattern setup for Keystone in:
https://review.openstack.org/#/c/384269/
Change-Id: Id4b2cf8197ca902ab5b3d925175c3d7c698ec802
Implements: blueprint upgrade-testing
We're seeing a lot of gate failures due to race conditions that are
causing various failures (dhcp agent not starting in time, iptables
rules not being added in time etc.)
To avoid recreating tempest, lets use tempest to test using the
networking api tests.
Change-Id: I624d1c7ebbc191b1ddb89eef22dd120df6bb5415
Integrate deployment for Project Calico's Neutron networking
plugin into the os_neutron role.
See http://docs.openstack.org/developer/networking-calico/
for more information about Calico.
Change-Id: I80546b6deefe0878398716d173b7dcc36c3bef3a
In order to prepare for implementing requirements management by the
OpenStack requirements management process, and to improve the
reliability and effectiveness of test execution, this patch implements
some changes to the tox configuration:
- The minimum tox version is increased in order to be able to use
constraints for the python packages.
- The OpenStack upper-constraints are used when preparing the test
venv for the linters checks.
- Any proxy environment variables set on the test host are passed
into the venv to enable testing from behind a proxy.
- The environment variables used by Ansible tests are moved into
a new venv called 'ansible' and this environment is inherited
by all Ansible-related tests.
- The docs test will clean-up an existing build directory before
executing the docs build.
- The releasenotes build cannot use upper-constraints at this point,
so it doesn't.
- The Ansible role download will no longer ignore errors so that any
problems discovered will result in a failed test.
- The human readable logging callback plugin is implemented for
functional testing.
- The ansible test requirements are moved into tox.ini to ensure
compliance for requirements.txt/test-requirements.txt for the
global-requirements management contract.
- The ~/.ansible directory as a whole is not deleted. Instead only
the plugins and roles folders are deleted to ensure that zuul's
Ansible artifacts are left in-place.
- The ansible-lint version is updated to support execution against a
folder, and the test now executes against the entire role to ensure
that it captures all applicable files for lint testing.
This is a combined port of the following:
- https://review.openstack.org/323507
- https://review.openstack.org/338193
- https://review.openstack.org/332443
- https://review.openstack.org/338193
- https://review.openstack.org/339493
Change-Id: I46f916bfe0078a43ec6537e4e3e71be44acd4891
The pip_install and pip_lock_down roles have been merged.
Remove pip_lock_down from the role's meta dependencies and test
requirements.
Change-Id: I63c2700cd5636500fdd294d564ed5a76a12faed6
This commit adds test playbooks to deploy rabbitmq, galera, keystone,
and neutron for a functional convergence test. Note that we point at a
non-existent memcached server, but this can be adjusted to build
memcached if deemed necessary.
The openstack_services.yml file from openstack-ansible is downloaded and
included as extra vars to maintain consistent testing of OpenStack
project repo SHAs between this independent role and OpenStack-Ansible's
integration.
neutron_requirements_git_install_branch has been bumped to resolve the
issue of the required eventlet version no longer being available on PyPi
https://review.openstack.org/#/c/277912/
The test also checks if it's running in OpenStack-CI, and if it is -
then make the containers use the host's pip.conf and some of the apt
configuration.
Change-Id: I8905586727c327ac356b5a34897dbb096fd03e2f
Partial-Bug: #1553970
neutron-ha-tool.py.j2 has been updated to resolve flake8 violations.
This includes removing the venv activation code, by implementing the
following change: https://review.openstack.org/#/c/275279/
Pep8 'E501: line too long' has been added to the ignore list since the
Jinja2 templated shebang line now exceeds 79 characters.
Change-Id: Ib309ee50d75a5386fbc5fb8cd40d8f6733bd7887