Move service to use uWSGI role instead of iternal task for uwsgi
deployment. This aims to ease the maintenance of uWSGI and speedup
metal deployments as the same uwsgi environment will be used
across all services.
Change-Id: I354ff3e81f4f4586aa2d52e1dcd8359c16a9e39a
The connection plugin no longer falls back on using the
inventory_hostname as the container_name. Set container_name as a host
var for each container in the test inventory.
Change-Id: I692d538976b7be49e35ef0f2f3d90aedd4355542
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.
The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The keystone/glance/cinder client libraries are not required any more
now that we're using the upstream modules. As there are no required packages
left, the task to install them is also removed.
Depends-On: https://review.openstack.org/582359
Depends-On: https://review.openstack.org/582579
Depends-On: https://review.openstack.org/582957
Depends-On: https://review.openstack.org/583430
Change-Id: Id3b9d57981006d3f7abbb94af5f72214db3da6cb
There is no record for why we implement the MQ vhost/user creation
outside of the role in the playbook, when we could do it inside the
role.
Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.
In this patch we remove the test vars and tasks which were duplicated
as they are no longer required.
Change-Id: Ibc217400d16ce06f9943d69e2305e46762ec2662
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters replace
the rabbitmq values and aure used to generate the messaging
transport_url for the service. The association of the messaging
backend server to the oslo.messaging services will then be transparent
to the magnum service.
This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Add transport_url generation to conf template
* Add oslo.messaging to tests inventory
* Update tests
* Update examples
* Add release note
Change-Id: Ib44af3b1d153742975351a321d65c8812a994370
Our role tests execute as non-root users, and the roles
need to access the environment variables for that non-root
user. Ansible, when targeting localhost, changes to
'connection: local' and thus breaks everything we need
to do against localhost as root unless we use 'become: true',
but we if generally use that against remote hosts we lose
the environment variables for the non-root user.
As such, we switch the inventory to target 'compute1' instead,
which has the address '10.1.1.1' (br-mgmt), so that we do not
have to deal with the implict connection type changes implemented
by Ansible.
Depends-On: https://review.openstack.org/584033
Change-Id: I137b9a59520c35e6342c4883435fd191fbc5dd68
There is no record for why we implement the database creation outside
of the role in the playbook, when we could do it inside the role.
Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.
In this patch we implement a new variable called 'magnum_db_setup_host'
which is used in the role to allow delegation of the database setup
task to any host, but defaults to the first member of the galera_all
host group. We also document the variable 'magnum_galera_address' which
has been used for a long time, but never documented. A bunch of unused
variables have also been removed.
Change-Id: I81263f316503c12f8e7b35e6ba9be12cc72cda1a
The use of a vars file for tests is a very old pattern.
This brings the role into line with the new pattern.
Change-Id: I44000bd8c44ed52f44c12f93bbdf11d84e4b8f27
Now that the v2.0 API has been removed, we don't have a reason to
include deployment instructions for two separate applications on
different ports.
Depends-On: Ife5023bc4752cf3c2d7221f9f8772990c6bc09df
Change-Id: I30b2b269deb7eb68b7d7d7de1a935b4b5b7bf494
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.
Change-Id: I05ea8250283fbf616b8f4de157c9e803b0f05ca6
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: I7e2d99356a7d6310b1fb2ff1859a6edf893627ee
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: I3e749a942294525be64f7ef47a54ff486d459045
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
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: I092e2419f669c71167bf464cfec3ffeef27be003
The Magnum service has split it's tests for Tempest in a seperate
repo so this patch updates it.
This patch also fixes the lint issue to use the systemd module
reload feature instead of a command.
Co-Authored-By: Jean-Philippe Evrard <jean-philippe@evrard.me>
Closes-Bug: #1747607
Depends-On: I5f1ecb71c6125c29d6487bef6c2be215c1b561c1
Change-Id: Ia4e323eda453ae3e8dacf3dcf14d175e00727b4f
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: I012c96803b8e107fee8ee5a6bc324e6ec68b435d
This patch 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.
Change-Id: Ib5ec32e6f746ae11e8f74453c0232b060516eafe
Due to the simplification of group vars [1], we've removed the
definition of cinder_service_region for magnum.
We could put cinder_service_region in all group vars instead,
but it looks like the scoping is done wrong.
We should instead rely on save defaults on the role, that can
be overriden.
Here, we introduce the variable magnum_cinder_service_region,
which defaults to magnum_service_region, i.e. "RegionOne".
We can remove the need for an override that way, and properly
scope variables.
[1]: https://review.openstack.org/#/c/504804/18/group_vars/all/cinder.yml
Depends-On: Ia8417bbdac3f515e42d1ed760110a63ae14f8f00
Change-Id: Id25c2d344859adfd09108b759d55f11ae83f97a9
In order to pass the lint test, all meta-dep
roles for the roles we execute in the test must
be present. As the os_neutron role recently got
the opendaylight role added as a meta-dep it is
now required here too.
Change-Id: I0069d97528382e0ce234a8e83ad4ed5ab52dc56c
The role 'ceph_client' was not found in openstack-ansible-os_magnum,
so add it.
Change-Id: I0b584a0af7373c4f4b7825a840231e8e43077190
Closes-Bug: #1704294
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.
Change-Id: I6d69ead3807870f9403f509c286e5fe1afb89549
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
'ansible_become' defined as a host_var or in the inventory for a host
has a higher precedence than 'become' defined within a playbook.
In change Id5b76a87809f03951c954fc3d752419a673403f7, 'become' was
defined explicitly for each play running against localhost so
'ansible_become' should be removed from its host_vars.
Duplicate 'ansible_host' definitions have also been removed.
Change-Id: I069d2113832cf0fe49695c5424f56ed5dad8fee6
Depends-On: Iefe86bbebac49efb6a3a98b5e070ff11e7fb07b2
This variable can be provided through the haproxy_server role's default
variables.
Change-Id: I61ba43bcc2540bded67072edee6d27800f54f865
Depends-On: Ib6ec9c95e166eb78173c9d3a642494cd2f04f0f8
The old method of executing tempest via run_tempest.sh from
the root of the git clone has been deprecated and will soon
be removed.
Change-Id: I13a43cf52dc06daf66165191b981c8029bfc26b8
Replace the use of OSA's glance library with the upstream Ansible
os_image module. This should be much more reliable for larger images,
such as magnum's. Include the in-role task in testing and remove the
additional testing tasks that were performing the image upload outside
of the role.
Related-Bug: 1538642
Change-Id: I017303e9a731ebc60315ea1784ba184a8294b08e
Create the m1.magnum flavor by overriding the tempest_flavors variable
of the os_tempest role instead of shelling out to the nova client.
Change-Id: Ia9b28bc98d838e3e1bce49dc72700b1b2a7235b7
This changes 'ansible_ssh_host' to 'ansible_host'. The 'ansible_ssh_host'
variable has been deprecated as noted here: [0].
[0] - http://docs.ansible.com/ansible/intro_inventory.html#hosts-and-groups
Change-Id: I06c26bc22ecbbbd7e858027a6b7fef22316efa22
Related-Bug: #1636606
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This patch consumes the centralised Ansible test scripts
implemented in https://review.openstack.org/381853
Change-Id: I71328a0d24eec716232a227ce52c63e25102ae46
To cut down on gate execution times, run only the cluster tests instead
of the entire set of API tests.
Change-Id: Idd58db90dfd818f20a28496e79ecf9d6a4c4c5bb
This implements the use of the openstack-ansible-tests repo and deploys
magnum, along with dependent services, to exercise basic functional
tests through tempest.
Change-Id: Ib9c986b5abe3f42b663af9981bed43c9aae8036d