432 Commits

Author SHA1 Message Date
Mark Goddard
0ce6ea2ee2 docs: add reno and upgrade info for CentOS Stream
Story: 2008795
Task: 42459

Change-Id: I1f55a2f47ac614fea983e19802e469efd810e849
2021-05-12 10:41:58 +01:00
Zuul
0000a13118 Merge "Adds support for configuring chrony" 2021-05-11 16:51:35 +00:00
Zuul
bd47fd025d Merge "docs: aio: add note with link to automated setup" 2021-05-10 11:21:58 +00:00
Will Szumski
085cf7d175 Adds support for configuring chrony
Some hosts in the kayobe inventory might not be in the kolla-ansible
inventory so it makes sense for kayobe to manage NTP.

Change-Id: Iacb579a46b0e9769a4c404a858d17968f74dd7e0
Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/786040
Story: 2007872
Task: 40240
2021-05-07 18:27:50 +02:00
Mark Goddard
dfdff656f5 Ubuntu: add documentation & release note
Change-Id: I3c4d81f59bb61fdd23234777b8d839adecfe86f2
Story: 2004960
Task: 42324
2021-05-05 10:26:31 +01:00
Zuul
65f1c48597 Merge "[release] add kolla feature flag sync scripts and update docs" 2021-04-28 18:26:33 +00:00
Michał Nasiadka
4d886ff176 docs: aio: add note with link to automated setup
Change-Id: I6f21c76a0308db3783d8fa0f28e7a47febabd09e
2021-04-28 08:41:52 +00:00
Zuul
b0a5cadac0 Merge "Add release note for multiple environments" 2021-04-26 07:24:28 +00:00
Mark Goddard
b7287ec586 [release] add kolla feature flag sync scripts and update docs
Adds a script for syncing feature flags from Kolla Ansible, and updates
the release docs to include this step. Also adds the inventory sync
step.

Change-Id: Id2bd48897d6b37a5006bad7f6e8597db20aa1b8b
2021-04-23 17:16:20 +01:00
Zuul
8eb7e053db Merge "Ubuntu: support policy-based routing in systemd-networkd" 2021-04-23 11:50:29 +00:00
Zuul
833728e2bb Merge "Ubuntu: support systemd-networkd" 2021-04-23 11:50:20 +00:00
Pierre Riteau
079704ab82 Add release note for multiple environments
Warn in the documentation that it is an experimental feature.

Change-Id: I46ea01ef9a3f6e322489e6d2a28f99d05656e0f2
2021-04-22 09:21:27 +02:00
Pierre Riteau
b78218adc6 Exclude shared directories when creating environments
If we try to create a new environment from a shared configuration inside
the same repository, we can produce an infinite loop by copying the
environment into itself. Ignore any existing environments directory
during environment creation.

Change-Id: Ic9d3d03192f515a055e41351a0bf25da7a7b0684
Story: 2002009
Task: 40038
2021-04-22 09:21:27 +02:00
Mark Goddard
181352f13a Ubuntu: support policy-based routing in systemd-networkd
This change adds support for policy-based routing via systemd-networkd.
Due to differences in the configuration mechanism, routing policy
rules are configured via dicts for Ubuntu, while remaining as strings
on CentOS. Ideally we would support both formats.

Story: 2004960
Task: 42217

Change-Id: I77aec0160eb7e4dd763326bfe6e3d9a44b248108
2021-04-21 08:23:57 +00:00
Mark Goddard
3bbf736d8d Ubuntu: support systemd-networkd
This change adds support for network configuration via systemd-networkd
on Ubuntu systems.

This is implemented via an Ansible Galaxy role,
stackhpc.systemd_networkd which was forked from
aruhier.systemd_networkd. Several improvements were made in
https://github.com/stackhpc/ansible-role-systemd-networkd/pull/1,
including:

* Add support for removing unexpected config files
* Use become where necessary
* Refactor config generation into a single task to improve performance

The systemd_networkd role does not add much abstraction on top of the
systemd-networkd configuration file format, which provides a lot of
flexibility at the expense of additional code in Kayobe. This code is
implemented as filter plugins, similarly to the existing
MichaelRigart.interfaces role.

This patch includes support for:

* Ethernet interfaces
* bridges
* bonds
* VLANs
* virtual Ethernet pairs (to connect Linux bridges and OVS bridges)
* static IP addresses
* static routes
* MTU

Some network attributes are currently not supported for
systemd-networkd:

* rules
* route options
* ethtool_opts
* zone
* allowed addresses

Story: 2004960
Task: 41881

Change-Id: I248b5bb9ce5a80a07a2a311cb3aca6daca920720
2021-04-21 08:23:44 +00:00
Pierre Riteau
1a20aa071b Add documentation for multiple environments
Change-Id: Ie74b1ee61d4cfa19ea710153694349c7ea61d78e
Story: 2002009
Task: 40039
2021-04-09 17:15:51 +02:00
Pierre Riteau
1419636930 Support multiple environments from a single configuration
Change-Id: I848d834aa36943027c126e26e93e4a4680521144
Story: 2002009
Task: 40037
2021-03-31 17:01:35 +02:00
Pierre Riteau
3beb4b2fc3 Document requirements for symlinks used by custom playbooks
Change-Id: If51a715bc9f68fbf750baeecb0e8415178bb5641
2021-03-25 10:42:12 +01:00
Zuul
a7c3a9d606 Merge "Add support for custom shm_size for seed container(s)" 2021-03-10 12:44:53 +00:00
Mark Goddard
1d55a33094 Ubuntu: document overcloud development environment
Updates the contributor documentation for the overcloud development
environment to include steps for running on Ubuntu.

Change-Id: I1dbb5978342261e8c8e36fbe270f238750808ad6
Story: 2004960
Task: 41550
2021-03-04 15:02:09 +00:00
Zuul
df9174090b Merge "Add ipa_build_upper_constraints_file variable" 2021-03-04 11:58:52 +00:00
Pierre Riteau
aafed5811d Fix documentation of control host bootstrap
Change-Id: Ie1d7753d9061b587caa5e150f72b51658a887318
2021-03-03 12:52:30 +01:00
Piotr Parczewski
93f67ac478 Add support for custom shm_size for seed container(s)
It's now possible to change Docker's default 64M SHM size
for custom containers running on the seed.

Change-Id: Ic6c2ec38e8a22b8acc90e17a552e471aa8313f7d
2021-02-25 23:33:50 +01:00
Zuul
b19222e686 Merge "Update IPA docs and test build with extra-hardware" 2021-02-22 15:21:33 +00:00
Pierre Riteau
56c1a886f5 Add ipa_build_upper_constraints_file variable
This variable allows to customise the upper constraints file used to
install packages inside the ipa-build-dib virtual environment. This can
be used when we need a newer version of diskimage-builder than the one
available in upper constraints for the current release.

Change-Id: Idbe57e7edc3fae25153f5e24ad6b7847b1c4660c
2021-02-19 16:13:38 +01:00
Zuul
b8ef36047c Merge "[docs] Improve contributor's automated setup document" 2021-02-11 11:17:43 +00:00
Zuul
e1e4f73673 Merge "Adapt to changes from the Bifrost Victoria release" 2021-02-11 10:17:34 +00:00
Pierre Riteau
d765fbc5eb Update IPA docs and test build with extra-hardware
Change-Id: Id5ed0b594d6270c4a03606caa776bbb291be2694
2021-02-11 10:50:43 +01:00
Piotr Parczewski
d738d2a4f1 [docs] Improve contributor's automated setup document
* Capitalization

* Add missing ENV variable for provisioning seed as non-VM

* Add 'Python' keyword to avoid confusing venv with VM

Change-Id: I4fab6b1104cd3e71854827c8d476dc25f8d539bd
2021-02-10 09:15:53 +01:00
Mark Goddard
7f7c4e2a48 Add documentation for routed control plane networks
Kayobe currently supports definition of various different networks -
public, internal, tunnel, etc. These typically map to a VLAN or flat
network, with an IP subnet. When a cloud exceeds the size of a single
VLAN/subnet, this approach no longer works.

One way to resolve this is to have multiple subnets that map to a single
logical network, and provide routing between them. This is a similar
concept to neutron's routed networks, but for the control plane.

This change provides documentation for the currently tested parts of
this feature.

Change-Id: Ic06c6d4fff0fa568eb9ed3a9c30ce21c7699d965
Story: 2008180
Task: 40938
2021-02-03 12:08:46 +00:00
Piotr Parczewski
0c8ddee668 [docs] Update main documentation page
* Important links moved to dedicated sections

* OpenStack community project badge added

Change-Id: I6ccf813b4eef68a7f574ff596d92d5bfefa874b0
2021-01-29 22:00:08 +01:00
Pierre Riteau
f3c0526c09 Adapt to changes from the Bifrost Victoria release
The critical part of this commit is adapting code that was still
sourcing env-vars. This file was removed from Bifrost in the Victoria
release, breaking the `kayobe seed deployment image build` command.

The other changes are not yet breaking Kayobe:

1) Release notes claim that OpenStackClient is no longer installed when
   keystone is not enabled, but it appears to still be available. Use
   the ironic native baremetal command instead except in playbooks
   related to baremetal compute nodes (i.e. overcloud ironic).

2) The use of OS_CLOUD=bifrost-inspector is deprecated and should be
   replaced by OS_CLOUD=bifrost.

Change-Id: I25078e69acdf41a4ef9957f99fe5047de54b778d
Story: 2008558
Task: 41696
2021-01-27 11:00:36 +01:00
Zuul
ff7c1741d8 Merge "Add variables for API VIP address and FQDN" 2021-01-21 20:14:37 +00:00
Bartosz Bezak
d10d95f949 Support for firewalld ZONE option in network interfaces configuration
Change-Id: Id21616b5c03922002cd7c99d6df7976a502b4e3c
Story: 2008369
Task: 41279
2020-11-19 15:19:52 +01:00
Zuul
918c853ce1 Merge "docs: Add link back to Train CentOS 8 migration page" 2020-11-03 09:59:10 +00:00
Zuul
d59d0bfaff Merge "docs: Add initial all-in-one scenario" 2020-11-02 11:35:43 +00:00
Mark Goddard
26045c44a3 docs: Add link back to Train CentOS 8 migration page
Change-Id: Ie8fdaf95fc6fa54430e5f3acb97ae2f0474437e7
2020-10-21 09:22:15 +00:00
Mark Goddard
fd6ee4114b docs: Add initial all-in-one scenario
This change adds a new 'scenarios' section to the configuration
documentation, with an initial 'all in one' scenario.

Change-Id: Ibe9cbbb59e2f72b18fdeb493feb085735edbbf8c
Story: 2004360
Task: 27960
2020-10-15 14:40:16 +00:00
Mark Goddard
1862e24bb5 Add variables for API VIP address and FQDN
Kayobe currently supports definition of various different networks -
public, internal, tunnel, etc. These typically map to a VLAN or flat
network, with an IP subnet. When a cloud exceeds the size of a single
VLAN/subnet, this approach no longer works.

One way to resolve this is to have multiple subnets that map to a single
logical network, and provide routing between them. This is a similar
concept to neutron's routed networks, but for the control plane.

An issue arising from this is that if different hosts can have different
network definitions for the internal and public networks, it is no
longer trivial to use a network attribute [1] to specify the VIP address
and FQDN. Furthermore, the play that generates Kolla Ansible's
globals.yml containing the VIP and FQDN variables runs as localhost,
which does not necessarily have the internal and public networks
defined.

To resolve this, we add global variables for the VIPs and FQDNs. The
default values are as before, except in the case where HAProxy is
disabled, which we no longer provide a useful default for. That
configuration is very rarely used in practice, and the need to reference
the IP address of a host in the network group makes it difficult to
define safely.

[1] https://docs.openstack.org/kayobe/latest/configuration/reference/network.html#global-network-configuration

Story: 2008180
Task: 40937

Change-Id: I2c428ffc2b285aee03d8f59ae7cd3fb7230ce4ae
2020-10-05 19:59:53 +00:00
Mark Goddard
869185ea7b Switch default docker storage driver to overlay2
To avoid switching existing deployments from devicemapper to overlay2,
we check the existing storage driver configuration directly with the
Docker daemon, or if unreachable by reading the /etc/docker/daemon.json
configuration file.

Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Story: 2005667
Task: 30972

Change-Id: Iaf2ee8c9f302f4684ae039bb00b2e2e5969cf1fc
2020-10-05 19:59:11 +00:00
Zuul
3a8b560d63 Merge "Add missing barbican.conf support" 2020-09-24 10:28:52 +00:00
Zuul
ba2df0e1a8 Merge "Performance: Parallelise Kolla Ansible host vars generation" 2020-09-24 09:27:37 +00:00
Zuul
0a08cc77cf Merge "docs: Move development section under contributor guide" 2020-09-24 08:00:41 +00:00
Michal Nasiadka
0f25900a43 Add missing barbican.conf support
Story: 2008170
Task: 40925

Change-Id: I3014983f481a5dca7c93e140b3e10caa5d537669
2020-09-23 19:17:51 +00:00
Mark Goddard
b12f9e35e5 Performance: Parallelise Kolla Ansible host vars generation
Kayobe generates a host_vars file for each host in the Kolla Ansible
inventory. These contain network interfaces and other host-specific
things. Currently this is done by iterating over all hosts, which does
not scale well with a large number of hosts.

This change extracts the host vars generation into a separate role, and
executes it in a play targeted at all hosts, with delegate_to:
localhost. This ensures that host variable files are generated in
parallel.

Story: 2007993
Task: 40629

Change-Id: Iae75e17024adee9c2874c14d3ed36f4c87ba48d7
2020-09-22 17:06:04 +01:00
Mark Goddard
7b80482ac3 Docker registry basic auth
Adds support for HTTP basic authentication with the Docker registry.

The kolla docker registry password is now written to passwords.yml.

Change-Id: Ie6e854a66a6660d4e02771fe2b5dd97af814194d
Story: 2007952
Task: 40429
2020-09-21 14:19:29 +02:00
Mark Goddard
f7628d30d7 docs: Move development section under contributor guide
This makes the docs more consistent with other projects.

Change-Id: I75732859a67851df564dc472fa839f08be3367cc
2020-09-21 09:40:54 +00:00
Zuul
f0b9626336 Merge "Document that kolla_tag may need to be changed when upgrading" 2020-09-18 12:43:29 +00:00
Mark Goddard
26cea075f2 Remove support for deprecated Yum variables
The variables in yum.yml and yum-cron.yml were deprecated in Ussuri.
This patch removes them, and updates the defaults in dnf.yml.

Story: 2008160
Task: 40906

Change-Id: I97cc98dd2ff726e5885fefcab17f17796d9fd453
2020-09-17 14:32:28 +00:00
Zuul
84f98f4c04 Merge "docs: Move getting started to a separate page" 2020-09-16 11:16:22 +00:00