494 Commits

Author SHA1 Message Date
Zuul
74d50525e6 Merge "Allow enable SNAT service on the seed hypervisor" 2022-01-07 12:45:44 +00:00
Zuul
616ed9d44b Merge "Adds support for custom Placement configuration." 2022-01-06 16:15:27 +00:00
Zuul
719968f694 Merge "docs: Improve all-in-one scenario" 2021-12-21 16:37:56 +00:00
Maksim Malchuk
e87fbf37a8 Adds support for custom Placement configuration.
Change-Id: Icb02cffe04d84c6d29f3f0c3b4af540a4ffe631d
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2021-12-19 17:37:27 +03:00
Maksim Malchuk
e10b52c588 Allow enable SNAT service on the seed hypervisor
Adds an ability to enable SNAT service on the seed hypervisor.

Depends-On: Ie42ab7a0dc9dd1ed1925b3a17134b3770ae8ba98
Change-Id: I0a2ff5caa01d54b1532d30d501b55ef23a6deff8
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2021-12-10 07:47:30 +03:00
Pierre Riteau
f88f49ec67 Document seed_enable_snat
Change-Id: Ie42ab7a0dc9dd1ed1925b3a17134b3770ae8ba98
2021-12-07 07:02:14 +01:00
Zuul
9f574402f3 Merge "Document that extra kernel parameters are important for inspection" 2021-11-29 15:42:19 +00:00
Zuul
1fccaec4b0 Merge "Document variables to configure connectivity check" 2021-11-29 11:02:03 +00:00
Pierre Riteau
7ed91dd066 Document that extra kernel parameters are important for inspection
When customising kolla_bifrost_inspector_extra_kernel_options, for
example to define which console to use, operators should note that
Kayobe defines extra kernel parameters that are important for
inspection, such as ipa-collect-lldp=1.

Change-Id: Id789dede2d1886ef5ec66ebc86968d6cf62fa2de
2021-11-19 09:38:27 +01:00
Mark Goddard
c84741f47c docs: Improve all-in-one scenario
Change-Id: Id88d4cf226359c9f313d04276000f4c60ecdf373
2021-11-10 09:15:00 +00:00
Zuul
bf440c5dd2 Merge "Support Ansible diff mode" 2021-10-21 16:31:56 +00:00
Zuul
b594e1bc48 Merge "Add the missing documentation for mariadb recovery" 2021-10-21 15:47:14 +00:00
Zuul
d345e6dac5 Merge "Infra VMs: follow up" 2021-10-21 15:47:12 +00:00
Mark Goddard
9c2565a60c Support Ansible diff mode
Adds a '--diff' argument to kayobe CLI commands. This is passed through
to ansible-playbook for Kayobe Ansible playbooks, and can be used with
the '--check' argument to see changes that would be made to files.

This change also passes through --check and --diff arguments to
kolla-ansible.

Story: 2009038
Task: 42794

Change-Id: I350795c328c0dc0a91a5cd500c252c5b7b1eafc1
2021-10-21 12:00:33 +00:00
Maksim Malchuk
8710a7766e Add the missing documentation for mariadb recovery
This change is a missing part for the new Kayobe functionality
introduced in Ie16354cd01ea7dd83cd3d4058dd8451b8387600b.

Change-Id: Ia3d665d53ccdb9e3b1d40949e96b720fab6df348
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2021-10-21 09:48:30 +00:00
Pierre Riteau
3d4792ee32 Document variables to configure connectivity check
If ICMP is filtered, it can be useful to change the IP and hostname used
by the network connectivity check feature.

Change-Id: I7432287dcb43992688600415fbb360709a532565
2021-10-20 10:38:38 +00:00
Pierre Riteau
2e2c96e394 Allow Docker to use insecure registry when deployed by Kayobe
Kolla Ansible has recently updated the default Docker configuration to
stop using an insecure registry [1]. To avoid breaking existing Kayobe
deployments, automatically set docker_registry_insecure to true if we
deploy a registry without TLS.

[1] https://review.opendev.org/c/openstack/kolla-ansible/+/805449

Change-Id: Ifec7102812b5503cb02f207098192e99e7193d49
2021-10-19 11:50:59 +02:00
Zuul
e97a8fe63d Merge "Use merge_configs and merge_yaml to generate Kolla configs" 2021-10-14 16:47:03 +00:00
Zuul
26f5c537a0 Merge "Add support for configuring tuned profile" 2021-10-09 23:24:44 +00:00
Zuul
1f1f24229c Merge "firewalld: support infra VMs" 2021-10-09 23:17:38 +00:00
Mark Goddard
e318cadaa5 Use merge_configs and merge_yaml to generate Kolla configs
Supports merging configuration for the following files:

* kolla/globals.yml
* kolla/config/bifrost/bifrost.yml
* kolla/config/bifrost/dib.yml
* kolla/config/bifrost/servers.yml
* kolla/kolla-build.conf

Configuration is merged from the following sources:

* Kayobe source code
* Base Kayobe config
* Kayobe environment

Co-Authored-By: Will Szumski <will@stackhpc.com>
Change-Id: I552bd8f7853b2032954b372bf4476676dac3e271
Story: 2002009
Task: 42974
2021-10-08 09:08:45 +01:00
Mark Goddard
8afd68ca44 Infra VMs: follow up
* Improve docs
* Fix up some comments

Change-Id: Iee05721bbe084f5580805cd82b12d065a2c61a1e
2021-10-07 13:36:29 +00:00
Michał Nasiadka
769c2efb97 Add support for configuring tuned profile
This is only supported on CentOS for now due to limitations of the
Ansible role used to configure tuned.

Change-Id: Ie07c5f467975f8da2f720e70c94cea6285981d72
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Story: 2007853
Task: 40155
2021-10-06 17:49:24 +02:00
Pierre Riteau
717600e1ce Fix wrong filename in bifrost docs
Change-Id: Ic49de8d27da6604429e09fb0122eb64239cf58a8
2021-10-06 16:31:20 +02:00
Mark Goddard
4b31079fae firewalld: support infra VMs
Follow up to Id60e25e129e323f3c07e702bb81a11efc530fb3e, adds support for
firewalld configuration on Infra VMs.

Change-Id: Idd1ab982d4bca1cbdb0c4c6041cf3b6c17eae6cb
2021-10-06 14:30:58 +02:00
Zuul
f11c73ff03 Merge "Support configuration of firewalld" 2021-10-05 17:25:06 +00:00
Pierre Riteau
79be93baf5 Enable consistent network device naming
CentOS cloud images come with net.ifnames=0 on the kernel command line,
which disables consistent network device naming. This does not provide a
good experience on bare metal because NIC ordering can vary. This is
specific to cloud images: an ISO installation would use consistent
network device naming.

We now set net.ifnames=1 in the DIB default environment to use
consistent network device naming. The parameters `nofb nomodeset
gfxpayload=text` are also set to preserve defaults from DIB.

To restore the existing behaviour, set DIB_BOOTLOADER_DEFAULT_CMDLINE to
`nofb nomodeset gfxpayload=text net.ifnames=0` in the
kolla_bifrost_dib_env_vars_extra dictionary.

Change-Id: I20465eab4e0aec6620578a92d3bdbddcec0954df
2021-10-05 11:00:49 +02:00
Will Szumski
c583922c27 Add support for infrastructure VMs
This change allows you to define additional VMs to deploy
on the seed-hypervisor.

Co-authored-by: Piotr Parczewski <piotr@stackhpc.com>
Co-authored-by: Will Szumski <will@stackhpc.com>
Co-authored-by: Mark Goddard <mark@stackhpc.com>
Story: 2008741
Task: 42095
Change-Id: I8055fc5eb0a9edadcb35767303c659922f2d07ca
2021-10-04 12:40:54 +01:00
Mark Goddard
7d15aa16f2 Support configuration of firewalld
Adds support for configuring firewalld for CentOS hosts managed by
Kayobe.

* create zones
* set default zone
* set zone for interfaces
* define rules

Change-Id: Id60e25e129e323f3c07e702bb81a11efc530fb3e
Story: 2008991
Task: 42644
2021-10-04 10:36:13 +01:00
Mark Goddard
b8abf706d4 Build and deploy source type images by default
Source images get the most test coverage, so it makes sense to build and
deploy these by default.

Change-Id: I297b83985b09e888c5ee64c1a39f8a1dfcacc5c1
2021-10-01 12:55:37 +02:00
Zuul
00f422c785 Merge "Add support for apt proxy setting" 2021-09-30 14:44:33 +00:00
Pierre Riteau
0f2b104213 Bump up Ansible supported versions
This change bumps up the maximum supported Ansible version to 4.x
(ansible-core 2.11.x) and minimum to 2.10. This synchronises Kayobe with
Kolla Ansible (see change I8b9212934dfab3831986e8db55671baee32f4bbd).

Uses of docker_image are updated. We must now provide the source
parameter. When source is build (for molecule), we replace force by
force_source and force_tag and move path and dockerfile under the build
parameter.

Use docker_image_info instead of docker_image_facts.

Handle update of ansible inside kolla-ansible virtualenv and document
how to do it for the kayobe virtualenv.

Change-Id: I7a4530f4f63ddb37aa30a617db5944b97bc3e17f
2021-09-29 22:31:33 +02:00
Zuul
4e14f9e9c5 Merge "Support Ansible collections" 2021-09-29 18:19:44 +00:00
Zuul
baac37ee00 Merge "Make setup module arguments configurable" 2021-09-29 17:56:44 +00:00
Mark Goddard
2648f48746 Make setup module arguments configurable
Ansible facts can have a large impact on the performance of the Ansible
control host. This patch introduces some control over which facts are
gathered (kayobe_ansible_setup_gather_subset) and which facts are stored
(kayobe_ansible_setup_filter). By default we do not change the default
values of these arguments to the setup module. The flexibility of these
arguments is limited, but they do provide enough for a large performance
improvement in a typical moderate to large OpenStack cloud.

In particular, the large complex dict fact for each interface has a
large effect, and on an OpenStack controller or hypervisor there may be
many virtual interfaces. We can use the kayobe_ansible_setup_filter
variable to help:

    kayobe_ansible_setup_filter: 'ansible_[!qt]*'

This causes Ansible to collect but not store facts matching that
pattern, which includes the virtual interface facts. Currently we are
not referencing other facts matching the pattern within Kayobe.
Note that including the 'ansible_' prefix causes meta facts module_setup
and gather_subset to be filtered, but this seems to be the only way to
get a good match on the interface facts. To work around this, we use
ansible_facts rather than module_setup to detect whether facts exist in
the cache.

The exact improvement will vary, but has been reported to be as large as
18x on systems with many virtual interfaces.

This change also introduces a new command to gather facts for Kayobe &
Kolla Ansible on demand, 'kayobe overcloud facts gather'. This can be
used to populate a fact cache.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/794610
Story: 2007993
Task: 42586

Change-Id: I5ce3c734433e1682ee942867505468c57440e689
2021-09-27 09:31:09 +00:00
Mark Goddard
5535832c10 Support Ansible collections
This change adds support for installing Ansible collections via
requirements.yml in Kayobe or Kayobe config.

Story: 2008391
Task: 41315

Change-Id: I764ff019a18266b593add7ab80ee095d7d07a869
2021-09-27 09:10:50 +00:00
Skylar Kelty
f24b3176eb Add support for apt proxy setting
Add support for configuring apt's proxy setting on Ubuntu hosts.

Change-Id: Iea1daff70fca5cf49f4e7f44af71a900678bb5c9
Story: 2009035
Task: 42782
2021-09-21 10:39:38 +02:00
Pierre Riteau
1c173aeb3d Add missing quotes to Docker registry TLS example
Change-Id: I5bdad8a2f379c11e6b55df8fd2481f5ae01ed6b9
2021-09-16 18:27:43 +02:00
Pierre Riteau
080e7203dd Sync documentation with kolla_openstack_custom_config
Change-Id: I670593ba8cbcd7c523b9bd6c42b4d0ca29e856ea
2021-09-14 11:36:28 +02:00
Pierre Riteau
e1ba842126 Allow to configure name of root disk image to provision
This may be used to deploy different images on different hosts.

Change-Id: I941cc28a914f3a56f50abdde70f13d6616ff52e7
Story: 2002098
Task: 41694
2021-09-07 23:25:07 +02:00
Zuul
e41c2d09f9 Merge "docs: fix heading styles in upgrading page" 2021-08-31 14:48:13 +00:00
Zuul
7c70af8527 Merge "Use ansible_facts to reference facts" 2021-08-31 14:48:04 +00:00
Mark Goddard
c2b9dd81de docs: fix heading styles in upgrading page
The CentOS Stream 8 section used the wrong heading style, which broke
the rest of the document, making the other headings the wrong sizes.

Change-Id: I8015c905074016c53c803ce40a299ad5c911ada6
2021-08-31 14:20:15 +01:00
Mark Goddard
f639ad0b35 Use ansible_facts to reference facts
By default, Ansible injects a variable for every fact, prefixed with
ansible_. This can result in a large number of variables for each host,
which at scale can incur a performance penalty. Ansible provides a
configuration option [0] that can be set to False to prevent this
injection of facts. In this case, facts should be referenced via
ansible_facts.<fact>.

This change updates all references to Ansible facts within Kayobe
from using individual fact variables to using the items in the
ansible_facts dictionary. This allows users to disable fact variable
injection in their Ansible configuration, which may provide some
performance improvement.

This change disables fact variable injection in the ansible
configuration used in CI, to catch any attempts to use the injected
variables.

[0] https://docs.ansible.com/ansible/latest/reference_appendices/config.html#inject-facts-as-vars

Story: 2007993
Task: 42464
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/791276

Change-Id: I14db53ed6e57d37bbd28dd5819e432e3fe6628b2
2021-08-21 09:57:29 +02:00
Pierre Riteau
acc8cd786b Fix documentation links for routed control plane networks
Change-Id: I097b826cb477577fc9482bbc3b8875b71a505a99
2021-08-12 17:03:01 +02:00
Pierre Riteau
d4bbdada82 Remove stale DIB_DISABLE_KERNEL_CLEANUP references
Documentation about DIB_DISABLE_KERNEL_CLEANUP was left in place after
the variable was removed in Ie25e88bb96f186399ae69837e93185127628ce86.

Backport: wallaby, victoria, ussuri

Change-Id: Iddb699aa98ddee8446d532ce4bd23ba9174fb38e
2021-07-23 12:08:03 +00:00
Pierre Riteau
bca2369894 Remove outdated upgrade step
Migrating to Ironic hardware types was required in Rocky. This can now
be removed from upgrading instructions.

Change-Id: I0510db9fd1b8dd72540c83173267491b32728330
2021-06-17 16:10:57 +02:00
Ilya Popov
15d20154bc Fix url to ansible site in kolla-ansible.rst
Story: 2008961
Task: 42597
Change-Id: I2637085a1df22e39d64c33b823fc948063d3e06f
2021-06-10 18:17:52 +03:00
Zuul
79a3c47d0f Merge "docs: add variable for current branch" 2021-06-09 14:06:45 +00:00
Mark Goddard
034d436095 docs: Stop setting os_distribution in development all-in-one
kayobe-config-dev now sets os_distribution automatically.

Change-Id: Ic9edcf8168355eaf3ea9aff14947666d0ed46c97
2021-06-09 14:04:44 +02:00