All references to Gentoo, SUSE, Debian stretch and Centos-7 are removed.
Conditional tasks, ternary operators and variables are simplified where possible
OS specific variables files are generalised where possible
Change-Id: I96a9757621eab69e7bc16a2e31ab28d0eb8a23be
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: Ifb4cecdb003bf8e90fddcd223b7c6e08b5bc03b8
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: I7209861cd0b285ce1d641f68d2e97505cd3b1fb8
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 client library is 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.
With the dependent patches, the openstack_openrc role is now executed once
on the designated host, so it is no longer required as a meta-dependency for
the role.
Depends-On: https://review.openstack.org/579233
Depends-On: https://review.openstack.org/579959
Change-Id: I155b5036dd98f80a0d31d8bb691beae147a97bc3
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 'designate_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 'designate_galera_address' which
has been used for a long time, but never documented. A bunch of unused
variables have also been removed.
Change-Id: Ie0d09401adaa66142fe12d1b6454641dd76104b7
This introduces oslo.messaging variables that define the RPC and Notify
transports for the OpenStack services. These parameters replace the
rabbitmq values and are used to generate the messaging transport_url for
the service. The association of the messaging backend server to the
oslo.messaging service will be transparent to the designate service.
This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation (add for notification)
* Add oslo.messaging to tests inventory
* Update tests
* Add releaes note
* Update README and example playbook
Change-Id: I620a13e1ea3c24c8bd31c02206613d37d769dd30
Distributions provide packages for the OpenStack services so we add
support for using these instead of the pip ones.
Change-Id: Iab155254fa3600e1b6b3e8992f7c1fdc6f710ed6
Implements: blueprint openstack-distribution-packages
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: If822729b14984ae2f654728ecf8ee528f023bffe
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: Ic4f89d564caabf6df782390adf738a6253eedcc7
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: I5c8fcb9af7bcf1d0a96378ad6b29244c6f50dae0
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: Ia8dbcdb00655dab71e94fcc0c96fe6f1a06d595a
With the merge of https://review.openstack.org/520177 in the
tests repo some ansible-lint failures which previously were
not being picked up are now detected.
Change-Id: I2c1720056046f038cfeae3b0591230ab1aa5e5ac
Currently there's an override in place to make the tests
use the master branch. This becomes a pain when master
becomes a stable branch because this override is out of
the norm, so it gets forgotten.
The override is not necessary - we can just use the
values from the role defaults instead.
Change-Id: I4cf8a97ee93da9e2648cc47782e6984ab7cc13b7
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: Ic27fb8019ab35fbdf45e23164f907c6c6baf8655
It's better to use a single template file for the bind configuration
instead of using a copy for each distribution. The new template file
is based on the configuration files from Ubuntu, CentOS and openSUSE.
Change-Id: I85ec991d4761db891c624c9495ccc97c7d08dfe3
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: Ia4d7c9674d96bf1e9d4e89362892084c801f2e92
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
designate-pool-manager and designate-zone-manager are deprecated
in favor of designate-worker and designate-producer. This enables
those services.
This does not functionally change the way Designate works, so the
associated config changes are minimal. This does remove some
cumbersome pool manager cache configuration that is no longer
needed, but wasn't being used anyway. It also simplifies the
Designate architecture by making the separation of duties easier
to grok, and enables simple horizontal scaling by starting more
``designate-worker`` processes.
Change-Id: I7adb2cea21136c18f36e0ed6404989d4e5de8e4d
This adds the ability for a user to configure the Designate
pools.yaml file inside of the role by specifying an attribute.
Because the data required is yaml, it's a nice mapping to specify
the yaml attribute and have it dumped directly to the pools.yaml
file.
This allows users to use attributes from other plays (perhaps setting
up some complex DNS infrastructure in their cloud) and insert them
into Designate without having to write their own template or supply
their own file.
This also invokes the `designate-manage` command to load the pools.yaml
file into the Designate database, and simplifies the tests that
do the pools.yaml needful.
Change-Id: I11a849898bf33aa6b8aa6605296ac7fd733d7c01
Renamed in os_designate role repo
Changed test-vars.yml to os_designate-overrides.yml
Removed the test-vars.yml file
Change-Id: Ic3d5c3094d96cf0026564fcc8407157dfc87cec4
Partial-Bug: #1629284
This patch consumes the test scripts implemented by
https://review.openstack.org/375061 to ensure that
the tests and test preparation is consistent and
more maintainable.
Change-Id: I3a50b32bbb7bf724ccc446876755454b5cb24c89
Ansible 2.1.1 introduces a regression in the way conditional
includes are handled which results in every task in the
included file being evaluated even if the condition for the
include is not met. This extends the run time significantly
for a deployment.
This patch forces all conditional includes to be dynamic.
Change-Id: Iea4689aa17b232911275d9a51cfbd5713b78a557
Related-Bug: https://github.com/ansible/ansible/issues/17687
The openstack_hosts role is not used in any of the test playbooks
or required by dependent roles and can be removed from the test
role requirements.
Change-Id: I64df0427e7e9bf7f76d377f0caeeda7e814caa37
All rabbitmq connection vars are now namespaced. Namespace support
was previously inconsistent which limited deployer override options.
Change-Id: I2593239e98aa3ebd578d030206299d4868d036ca
Implements: blueprint multi-rabbitmq-clusters
Remove all tasks and variables related to toggling between installation
of designate inside or outside of a Python virtual environment.
Installing within a venv is now the only supported deployment.
Additionally, a few changes have been made to make the creation of the
venv more resistant to interruptions during a run of the role.
* unarchiving a pre-built venv will now also occur when the venv
directory is created, not only after being downloaded
* virtualenv-tools is run against both pre-built and non pre-built venvs
to account for interruptions during or prior to unarchiving
Change-Id: If3f0cb96d0ac670f6c53243283d6726067cba011
Implements: blueprint only-install-venvs
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: I4c5f51143d783d8acd0a6ef9fc0d12deaab182ec
Update documentation, default variables, tasks, and environment
inventory to include installation of the designate-zone-manager service.
Change-Id: I1a72cad13e88d962a1e38793a1a3b5b35c0ba8b7
This commit updates role to install tempest and
designate-tempest-plugin and then runs the designate scenario tests.
Change-Id: Icc70b47e8cc34d21ef082e7dd04d969789c9ca83
This commit moves the installation of bind9 to the tests, leaving the
installation/configuration of the desired DNS server to the deployer.
We can eventually use a role to handle the installation/configuration
of bind, but some further research will need to be done to isolate
the best role.
Additionally, this commit adds some very basic tests that validate the
Designate API. Next steps involve using designate-tempest-plugin to
handle this.
NOTE: No relnote is being added for the removal of bind9 as no valid
configuration was being dropped for bind9, meaning we had a
non-functional DNS server as far as designate was concerned.
Change-Id: I5a21e32f8ad885afd5b4a04d2ef348cd65d0999b