With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.
With that we also update metdata to reflect current state.
Change-Id: Ifcb6ebfa971e324e447509e50cc7294bddd6a4a0
Since we still use ceph-ansible that has their own implementation of
config_template module it's worth to use mentioned module as a collection
explicitly.
Change-Id: I4c5c6a836b40805938735bc9c0d8d4d60d23ab61
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: Ie84846f8590c3ae60afd671d973a4de3c644d526
Do some role cleanup to path for not supported OS,
like gentoo or suse.
This includes bionic distro jobs, since this path is not supported
for bionic in Victoria
Fix ansible linter errors as a result of linter update.
Change-Id: I619dc6da251bd9d6f9d117e7b0cdedc2e59bf581
- scm: git is mandatory on requirements.yml when using git urls
- role_name is needed in meta
- centos was not listed as supported platform
- galaxy_tags should be used instead of categories
- comparison to empty string should be avoided
These where found while attempting to enable functional testing using
ansible-molecule.
Change-Id: I5f8087516628e20c2539552c653d4ea5361234ec
Needed-By: https://review.opendev.org/#/c/675615/
This role only support openSUSE Leap 15, not 42.3, not tumbleweed.
Saying all is confusing and a bad practice. This fixes it, while
ensuring the job is properly defined to test that assertion.
Change-Id: I63f2f699eaa57b05c67916b190e9dde52ba2d2d2
This patch adds the Debian jobs for this role to make sure
it's always passing as well as updates the meta to reflect
it's support of Debian accordingly.
Depends-On: I9a92b73c419a0dc1cca40dacfef75de61a61db94
Change-Id: I51554e4ed0ce8a29566ee4993ba0216ad63a90ce
* os_tempest role does not need apt_package_pinning role as a
dependency as it does not do any pinning and it needs to
be removed.
Change-Id: I983fcee92341edc473e0e1d685363b1645ed983e
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.
1. We no longer need tempest_requires_pip_packages,
so it is removed.
2. The openstack_openrc role is executed in the playbook,
so we do not need it as a meta-dep any more.
3. All uses of our custom keystone module have been
replaced with standard Ansible modules.
4. Using the service delegation model, it makes no sense
to run the resource creation on all hosts, so we
use run_once instead.
5. Given that we're using developer mode for master
integrated builds, and pip.conf is present, we need
to use the CLI to create the virtualenv so that we
can use the '--never-download' option.
Change-Id: I572db645b64a4a0ac6255bc36eaac1be13336989
With addition of pip_install on every node, we don't
need to have pip_install as a meta dependency.
Depends-On: If3412bb888ebb854874bbc43eb76bfcb3e4a7868
Depends-On: I79ff70c438b44753be2a93f004ebbc46de0a963d
Change-Id: Ib8e09a23c6120ee9ab59964ae1d1401a5a10e9ba
We need to add openstack ansible information in the role
metadata to be able to track role maturity. With it,
we can create a role maturity table and take decisions about
role deprecations.
Change-Id: I0224980d5801f81a2e09101d189d3146049612c1
Replace the use of OSA's neutron library with the equivalent upstream
Ansible OpenStack modules to create networks, subnets, and routers.
Change-Id: I8c165531407c6b6aa8e5910cb28ae610b53e2ee5
Make use of the Ansible 2 module os_nova_flavor to allow users to define
their own flavors through the ``tempest_flavors`` variable.
Change-Id: I937765975c8ae99c12f8e5705b9aab8e5b115d22
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: I1f928025b654734ab05a9cd448a2eaf03c509486
This commit adds variable ``tempest_developer_mode`` and conditionally
applies pip_lock_down when ``tempest_developer_mode`` is false. This
is necessary when installing tempest in a functional test.
By default, ``tempest_developer_mode`` will remain false so that the
default behaviour of the role is maintained.
Change-Id: I262fca0717520efb554ae83cb38d3b7f8d001abe
This new role is now providing the ability for a user to pin apt
packages as they see fit. The idea is to allow someone to implement
pinning in a generic way that can be represented as a global variable
or as a hostvar. The new role has been added to all install roles as
a dependency which will allow it to ensure that packages are pinned
everywhere as would be expected.
Change-Id: I354e8515570fa7174366ba57d57aece3c304568e
This change implements the blueprint to convert all roles and plays into
a more generic setup, following upstream ansible best practices.
Items Changed:
* All tasks have tags.
* All roles use namespaced variables.
* All redundant tasks within a given play and role have been removed.
* All of the repetitive plays have been removed in-favor of a more
simplistic approach. This change duplicates code within the roles but
ensures that the roles only ever run within their own scope.
* All roles have been built using an ansible galaxy syntax.
* The `*requirement.txt` files have been reformatted follow upstream
Openstack practices.
* Dynamically generated inventory is now more organized, this should assist
anyone who may want or need to dive into the JSON blob that is created.
In the inventory a properties field is used for items that customize containers
within the inventory.
* The environment map has been modified to support additional host groups to
enable the seperation of infrastructure pieces. While the old infra_hosts group
will still work this change allows for groups to be divided up into seperate
chunks; eg: deployment of a swift only stack.
* The LXC logic now exists within the plays.
* etc/openstack_deploy/user_variables.yml has all password/token
variables extracted into the separate file
etc/openstack_deploy/user_secrets.yml in order to allow seperate
security settings on that file.
Items Excised:
* All of the roles have had the LXC logic removed from within them which
should allow roles to be consumed outside of the `os-ansible-deployment`
reference architecture.
Note:
* the directory rpc_deployment still exists and is presently pointed at plays
containing a deprecation warning instructing the user to move to the standard
playbooks directory.
* While all of the rackspace specific components and variables have been removed
and or were refactored the repository still relies on an upstream mirror of
Openstack built python files and container images. This upstream mirror is hosted
at rackspace at "http://rpc-repo.rackspace.com" though this is
not locked to and or tied to rackspace specific installations. This repository
contains all of the needed code to create and/or clone your own mirror.
DocImpact
Co-Authored-By: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
Closes-Bug: #1403676
Implements: blueprint galaxy-roles
Change-Id: I03df3328b7655f0cc9e43ba83b02623d038d214e