Commit Graph

22 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov 687dcb30bf Fix linters and metadata
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
2023-07-14 20:37:15 +02:00
Dmitriy Rabotyagov 17fb9cdc93 Use config_template as a collection
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
2021-12-07 13:03:32 +00:00
Jonathan Rosser b30094a654 Remove references to unsupported operating systems
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
2021-03-10 12:16:40 +00:00
Dmitriy Rabotyagov 5a46aff857 Remove unsupported OS
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
2020-10-16 19:44:31 +00:00
Sorin Sbarnea 92b43f56db Fixed bugs identified by newer ansible-lint
- 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/
2019-08-09 13:49:35 +01:00
Jean-Philippe Evrard e2665accd0 Clarify supported SUSE versions
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
2019-05-21 10:50:01 +02:00
Mohammed Naser 8b2139602e debian: add ci and update meta
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
2019-04-06 18:59:14 -04:00
Chandan Kumar 2588c9c5eb Remove apt_package_pinning dependency from os_tempest role
* 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
2018-10-20 10:49:37 +00:00
Markos Chandras c3e89fa2c4 SUSE: Add support for openSUSE Leap 15
Change-Id: If995ad9dad620b6346b6ade87c53606de0a5af90
Depends-On: https://review.openstack.org/#/c/603114/
2018-09-17 15:01:19 +01:00
Zuul d818ebfcb4 Merge "Add bionic to galaxy_info metadata" 2018-08-22 18:08:58 +00:00
Jesse Pretorius 81f6bda4c0 Execute service setup against a delegated host
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
2018-08-10 11:57:13 +00:00
Jonathan Rosser 6b15450064 Add bionic to galaxy_info metadata
Change-Id: I481470c1ab7b3ac16626fe36e4c384140d7fd25c
2018-08-02 15:06:32 +01:00
Jean-Philippe Evrard 51f35a78bd Remove pip_install dependency
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
2017-12-05 11:53:06 +00:00
Jean-Philippe Evrard 1c35977fbb Add OpenStack-Ansible metadata
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
2017-10-11 09:08:19 +00:00
Markos Chandras 692209da1f Add support for the openSUSE Leap distributions
Change-Id: I620b294488fedbebe556bd871fa058ff968dda6a
2017-06-28 13:18:37 +01:00
Andy McCrae c163da6b07 Remove Trusty support from os_tempest role
Change-Id: I5ad52a6ff39b735164b7f5107d54fe10ecca3e3f
Implements: blueprint trusty-removal
2016-12-15 15:06:00 +00:00
Jimmy McCrory 21972c772d Use upstream openstack network modules
Replace the use of OSA's neutron library with the equivalent upstream
Ansible OpenStack modules to create networks, subnets, and routers.

Change-Id: I8c165531407c6b6aa8e5910cb28ae610b53e2ee5
2016-11-07 22:16:50 +00:00
Jimmy McCrory 8c68340a46 Allow user defined nova flavor resources
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
2016-11-03 00:52:15 +00:00
Jimmy McCrory a36051f03a Remove pip_lock_down dependency
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
2016-06-07 23:31:37 -05:00
Matt Thompson 3146ac1dc4 Conditionally apply pip_lock_down role
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
2016-04-20 21:38:36 +01:00
Kevin Carter 9ef429971c added role to pin packages
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
2015-05-08 13:22:42 -05:00
Kevin Carter eaa4d69958 Convert existing roles into galaxy roles
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
2015-02-18 10:56:25 +00:00