This parameter should be optional as only the first core in the mask
will be used to repin all ovs-vswitchd threads.
Leaving this parameter blank (and as a consequence, not setting
'dpdk-lcore-mask') allows all non-dpdk threads to float on the original
cpu set.
Change-Id: Ia9e001e2b1987f00a960cdf106eaa8e84dc4d71a
Signed-off-by: Christophe Fontaine <cfontain@redhat.com>
This adds a new module to upload templates to plan as a tar
file.
Change-Id: I7ac4c328ec7f4dd0fb4aa7495945fbc57feb4bbc
Depends-On: https://review.opendev.org/712599
Signed-off-by: Kevin Carter <kecarter@redhat.com>
Uses tripleo-common library to build image params and update
the plan.
Depends-On: https://review.opendev.org/712598
Change-Id: If8df9863a3b3f18e00767d095849b48eb08486fd
The block isn't working well and we need a file to for the dict data,
which we have in the previous block. Let's just remove it.
Change-Id: I9b9a0796aac6354629124f7490a1e7911c0b82c0
- assure all jobs are using centos-8
- fixed broken role-addition caused by partial centos-8 migration
- assure that touching molecule.yaml file tests role-addition, so
we avoid future regressions
Change-Id: I18dfce4ef4d8c3bd3b73b2447fc6807047186f61
This replaces the mistral workflow used to rotate
passwords.
Depends-On: https://review.opendev.org/711836
Change-Id: Id12c902bc2e062ff71f16fd489675ebb4333b968
This would replace the mistral workflow used for rotating the
fernet_keys. It does not replace the existing rotate-keys.yaml
playbook, but imports it in a new playbook.
Change-Id: If3410feda79ccf5087a2ecd894ccdf5e9dba5e68
The contributor guide has a nice section on how to install dependencies
required to develop roles for tripleo-ansible. This commit includes a
reference to an additional requirements file for molecule dependencies.
Change-Id: Ib838c0527c33534cbf9f3bc8d69b9e5daf585607
A module which performs reservation, provision and unprovision of a
multiple ironic node instances. The only package it imports is
metalsmith, to allow for the possible future option of putting it in
the metalsmith repo.
Change-Id: Ib6c7739d27c0fb5d937ce31c82c5c0bba86b5f41
Story: 2007212
Task: 38457
This module takes a list of instances and returns a list of uuids for
instances which exist, and a list of instances which were not found.
Change-Id: I056b346ae7ff55ab6e27c3d3248820eca13dda8d
Story: 2007212
Task: 38457
Thanks to https://review.opendev.org/#/c/706972/ (and the module
itself), we don't have hashed files anymore. The hash is now in the
container file, and we don't have 2 files anymore; which makes things
easier to understand and debug.
This patch updates the doc and the defaults.
For backward compatibility and upgrades, if a file has hashed in its
name, it's still supported and it'll be clean-up.
Change-Id: Ie01d5509a479a726adac6490a5f32ef2df2ccde6
This change removes the json_error callback plugin. This plugin does not work, as seen in the
logs:
[WARNING]: Failure using method (v2_playbook_on_stats) in callback plugin (<ans
ible.plugins.callback./usr/share/ansible/plugins/callback/json_error.CallbackMo
dule object at 0x7f6ee2270dd0>): [Errno 13] Permission denied: 'ansible-
errors.json'
Given this plugin has no value, due to it being broken for a long time, we're removing it which
will stop the warning being raised in our ansible output.
* The test_json_error_callback role has also been removed, given this no longer serves any purpose.
* The molecule test layout has been updated so that we're no longer running this test.
Change-Id: I76cd51df4ff26b22f3d9b590ceded848581d4c3d
Signed-off-by: Kevin Carter <kecarter@redhat.com>
If tripleo_container_manage_valid_exit_code is set to a list of codes,
for each container that will be created and expected to run something,
Ansible will check that the container exited with a valid code, given in
the parameter.
It can be useful for the Puppet containers where the entrypoint returns
the code from Puppet that has run in the container.
Change-Id: I268d7b257334d78da11c37cb0ba0783fbe2021c0
This module will do two things:
Summary:
(1) Generate container configs for each container that has a puppet
deployment step; and but the files in
/var/lib/tripleo-config/container-puppet-config
(2) Update the container-startup-config of the containers which have a new
hash; so they get restarted later.
Details:
(1) Here are the steps that happen to generate the puppet container
configs:
- Create /var/lib/tripleo-config/container-puppet-config/step_X
- Generate a JSON file, that is the same format as the
well-known container-startup-configs (which are understood by
Paunch and tripleo-container-manage Ansible role). It mimics
the logic from THT/common/container-puppet.py to add the
required configuration so the container can run.
(2) If a container has a new configuration, the TRIPLEO_CONFIG_HASH
will be updated in the startup config of the container, so later
Paunch or tripleo-container-manage Ansible role can restart the
container so the config is applied.
Note: it processing a bunch of files and data, so it's better for it to
be a module and not an action plugin so the file generation can be
delegated on to the remote nodes instead of the undercloud.
In the future, we'll try to generate container configuration directly in
config-download so the data will be ready to be copied.
Change-Id: I6b656df725803db0c1cdaac6f534766398a15810
This change will allow all comments in our variable files to be rendered
normally within our documentation. This will allow folks reading our
documentation to benifit from information we may put in the various
files.
Change-Id: I0ce554651916f2b942dc0fd9f647d5a348042203
Signed-off-by: Kevin Carter <kecarter@redhat.com>
Adds a tripleo-nova-image-cache role to manage the nova local image cache on
remote compute nodes.
For multi-site/stack deployments the image can be downloaded once and
distributed to the remaining nodes in the stack to minimise WAN traffic.
Also adds a playbook to run the role using the single/multi-stack inventory
and the overcloudrc environment variables.
Change-Id: Ib5aaa22f6cf307181d8f34cf89f9f24619b43004
Implements: blueprint tripleo-nova-cache-mgmt
This role will manage Keystone resources, like
/etc/openstack/clouds.yaml, Keystone endpoints/users/roles/etc and
everything that was managed by Puppet before regarding Keystone.
Management of Keystone resources for each OpenStack service:
- services
- projects
- endpoints
- roles
- users and their assignment to roles
- admin resources
It's using batch + async so it runs faster than with Puppet where it
calls openstack client for each resource. Here it's using the python
openstacksdk with concurrency.
Change-Id: Ib9615c55d0fb4ea71208d74c5ee22594db52f46a
This patch adds a new role that will be used to manage side containers
with systemd instead of docker.socket or nsenter. The main use case here
is Neutron, although this role is designed to work with any service.
This role will create a series of systemd files to monitor a file which
gets mounted into a container. Additionally a wrapper script is
generated which is mounted in the container that will provide the
arguments that should be used to launch new containers.
Blueprint: safe-side-containers
Change-Id: I4821b7ca0260e4dfd1717ba976cef700d160f84f
Co-Authored-By: Dan Prince <dprince@redhat.com>
Co-Authored-By: Emilien Macchi <emilien@redhat.com>
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
This is needed for https://review.opendev.org/#/c/693826 which improves
linting.
The funny aspect is that we already had pre-commit rule to check this
inside the repository but it was not active on CI.
Change-Id: I7c528e193c7656d71d53908620970e7b51e9e6cc
Rather than inline this code in the deploy steps, let's use a proper
role that can just be included.
Change-Id: I3f38ea132390867b455790c9c1c0507b13beb836
Add a new role to manage /etc/hosts entries. Instead of these entries
being calculated by Heat, a jinja2 expression is used to construct the
individual hosts entries for each overcloud nodes.
Some data still comes out of Heat, such as those for the undercloud,
vips, and extra hosts entries used for multi-stack. As such, variables
are used for these entries so that the role can add them to /etc/hosts.
Change-Id: I1e12962e2f2fa6c1a2b429a3e02424fd42b0a08d
This is a first ieration of the role, but there is still a long TODO,
that will come later in separated patches:
- Add molecule testing
- In podman.yaml, add cpuset_cpus with parity of what is in paunch
- Remove containers that are:
- managed by tripleo-ansible (using the container_label flag)
- not in the container-startup-config
- Print stdout when containers start as it was done with paunch
Story: 2006732
Task: 37165
Co-Authored-By: Kevin Carter <kecarter@redhat.com>
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
Change-Id: I2f88caa8e1c230dfe846a8a0dd9f939b98992cd5
Now, it only supports "apply" which is called by THT but later we could
add other actions that are supported by the CLI.
Example of usage:
- name: Start containers for step 1
paunch:
config: /var/lib/tripleo-config/hashed-container-startup-config-step_1.json
config_id: tripleo_step1
Co-Authored-By: Sagi Shnaidman <sshnaidm@redhat.com>
Change-Id: Iaf988eaf3136c93703aac972a0e853c98a888e65
A new role has been created to initialize DPDK in
openvswitch. Currently, puppet-vswitch module does this
initialization. This role has the functionality in par
with current puppet-vswitch's dpdk implementation.
The goal is to remove the invocation of puppet-vswitch
in two places in THT by replacing it with this role.
Depends-On: https://review.opendev.org/#/c/677726
Change-Id: Ib16face659108aa59878f47e793a6a4991b49636
We currently support the backup and restore of the control plane
using ReaR.
This submission adds the boiler plate to start the integration
of the documented ReaR backup and restore using Ansible.
Change-Id: Ie34ff6f49285fc78675d67e289f1507f20f7fb78