149 Commits

Author SHA1 Message Date
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
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
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
Mark Goddard
354113c20b docs: Move configuration reference to subpath
This allows us to add configuration scenarios.

Change-Id: Id636f78c61237fb27fa65fa3d4b3fc1a4cf0ba6a
Story: 2004360
Task: 40777
2020-08-28 08:28:40 +01:00
Zuul
faf03dbf35 Merge "Add support for custom Aodh configuration" 2020-08-22 00:46:57 +00:00
Pierre Riteau
878fe5728b Add support for custom Aodh configuration
Change-Id: I19ef5a46dccacc00db495993cc744938921996a1
Story: 2008019
Task: 40671
2020-08-21 20:54:21 +00:00
Pierre Riteau
ea4a507f04 Support setting ethtool options on network interfaces
Change-Id: I5650b8b489d5968b42526e45667dfc7fa6ad7b2f
Story: 2008020
Task: 40672
2020-08-17 16:35:11 +02:00
Zuul
dce3545efb Merge "Add support for custom Masakari configuration" 2020-08-07 18:14:39 +00:00
Zuul
80e0e671ba Merge "Docker registry TLS" 2020-08-06 12:14:48 +00:00
Mark Goddard
bc32529008 Add support for custom Masakari configuration
Change-Id: Ibcf12f4d80bd9744867688ba986cd59be82f3e5a
Story: 2007969
Task: 40470
2020-08-05 09:28:25 +01:00
Zuul
30ad2ff968 Merge "Support configuration of Bifrost's Ironic extra kernel parameters" 2020-07-28 17:10:00 +00:00
Zuul
96dfbe4483 Merge "Add support for custom options in static routes" 2020-07-28 16:50:28 +00:00
Mark Goddard
411e148450 Docker registry TLS
Adds support for enabling TLS on the Docker registry.

Change-Id: Idac6a1dfb17f4a22b3043531d1181a5585cafe6a
Story: 2007952
Task: 40428
2020-07-24 09:11:45 +01:00
Zuul
97373c0519 Merge "Fix network configuration of network hosts" 2020-07-22 20:36:22 +00:00
Mark Goddard
2b86fd9945 Add support for custom options in static routes
Currently it is possible to set the CIDR, gateway and route table for
static routes. Other options cannot be set. This change adds support for
setting arbitrary options via an 'options' attribute in the route, which
should be a list of additional options to apply.

Depends on
https://github.com/michaelrigart/ansible-role-interfaces/pull/74.

Story: 2007835
Task: 40122

Change-Id: Ib27deac4ddf4976a571b192ee5d1b8ca57701916
2020-07-08 19:25:40 +02:00
Pierre Riteau
58f26fb61b Fix network configuration of network hosts
The Control Plane Service Placement documentation connects network hosts
to networks listed in controller_network_host_network_interfaces.
However this only contained public, tunnel, and external networks. For a
fully functional network host, we also need:

- the overcloud admin network, to manage the host
- internal network, for services to interact with each other
- storage network, for manila-share

This change updates the default network configuration for network hosts
and adds a variable to define extra networks like for other hosts. It
also improves the documentation for adding network hosts.

Change-Id: I1bb857bfca9e209bc6de30ae9852a4a08b2c7fb0
2020-06-25 18:50:49 +02:00
Pierre Riteau
db15a80123 Allow to customise hardware inspection timeouts
Change-Id: I2e45876f89121d66cf03b50824bd8258517b88cb
Story: 2007844
Task: 40135
2020-06-22 12:24:00 +02:00
Pierre Riteau
5b44571248 Support configuration of Bifrost's Ironic extra kernel parameters
Change-Id: I3f96c877b24d4a400578dc618a6dc488c0fdeeef
Story: 2001987
Task: 19607
2020-06-19 12:19:16 +02:00
Zuul
043f843759 Merge "Copy custom certificates" 2020-06-17 19:09:47 +00:00
Zuul
79f9a1cc25 Merge "IPA: Switch to IPA builder and CentOS 8" 2020-06-17 19:03:01 +00:00
Will Szumski
2fb62c830d Add missing colon
Change-Id: I28d88f2f28f5ff8fbd0f2df98bac3740d05f224b
Story: 2007818
Task: 40096
2020-06-17 10:23:28 +01:00
Mark Goddard
20fb05bfb4 IPA: Switch to IPA builder and CentOS 8
Switches to use the IPA builder project for building IPA images.

Switches the IPA images used by default to CentOS 8 based image.

Changes the file extension of the IPA kernel image from vmlinuz to
kernel.

Story: 2007070
Task: 37953

Change-Id: I82fc455f41f48dacb453e135870dd776895d7c99
Story: 2006574
Task: 39485
2020-06-12 17:24:31 +01:00
Zuul
b4606341ec Merge "Add framework to deploy user-defined containers on seed" 2020-06-11 10:52:19 +00:00
zhaoleilc
e75b4a7854 Correct a typo in the document
This patch changes 'Note that is is'
to 'Note that it is' in doc/source/
configuration/kolla.rst

Change-Id: Ide2e9a7582b78b25eac3462dc3477faf0ee66d38
2020-06-11 15:30:38 +08:00
Michal Nasiadka
aefd6e5a56 Add framework to deploy user-defined containers on seed
Task: 39811

Change-Id: I6f065073feee42b2a0921a4aea98f7004fe5f7bf
2020-06-10 19:34:04 +01:00
Zuul
fe4dea965d Merge "Fix documented name of time configuration file" 2020-06-08 08:41:08 +00:00
Pierre Riteau
bdbed2697c Fix documented name of time configuration file
Change-Id: I6bb3c211c186ee1acfc842d5828741334a95b125
Story: 2007766
Task: 39988
2020-06-08 08:51:39 +02:00
Zuul
e379bfbd90 Merge "CentOS 8: separate kolla build tag from deploy tag" 2020-06-05 21:13:52 +00:00
Zuul
df3fd89fc5 Merge "Enable 'data' LVM group only for Docker devicemapper" 2020-06-05 15:22:37 +00:00
Zuul
c497567669 Merge "Make the root disk image build command more visible" 2020-06-05 13:40:01 +00:00
Zuul
1153011dd4 Merge "docs: fix route configuration example syntax" 2020-06-04 17:19:02 +00:00
Zuul
d01e7d3f4c Merge "Add note about hardware package dropping python 2 support" 2020-06-04 15:22:42 +00:00
Mark Goddard
1d12ca545e Copy custom certificates
Various kolla-ansible TLS features (including backend TLS and custom CA
certs) require certificates to be passed via
$KOLLA_CONFIG_PATH/certificates/. Currently Kayobe does not support
this.

This change adds support for copying across files from
$KAYOBE_CONFIG_PATH/kolla/certificates.

It also uses the kolla-ansible default value for
kolla_external_fqdn_cert and kolla_internal_fqdn_cert when
kolla_external_tls_cert and kolla_internal_tls_cert are respectively
not set. This allows for the standard kolla-ansible configuration
approach of dropping these certificates into the
$KAYOBE_CONFIG_PATH/kolla/certificates directory, rather than defining
them as variables. This can be useful if using the kolla-ansible
certificates command to generate certificates for testing.

Change-Id: I646930ad8ea70991d6ffa00f15f93f72d922141b
Story: 2007679
Task: 39790
2020-06-04 15:08:18 +00:00
Will Szumski
1b95bdf5f3 Add note about hardware package dropping python 2 support
Change-Id: I10432c914e05cde6b07ff1250b2a5c9b0c796500
Story: 2007752
Task: 39942
2020-06-04 08:49:59 +00:00
Mark Goddard
68f4ea5e59 docs: fix route configuration example syntax
TrivialFix

Change-Id: I126a1a630fcd1b2e804fbaa920a4a5bad32d87da
2020-05-29 15:36:39 +01:00
Mark Goddard
b05ba768e3 Move timezone configuration from ntp.yml to time.yml
Change-Id: I0814f62d25ebc9c6d007d2514d57f023308f54c4
Story: 2006574
Task: 39812
2020-05-28 10:25:51 +01:00
Mark Goddard
b9d76f6ef5 Remove support for CentOS 7 and Python 2
* Always use Python 3
* Drop code paths for CentOS 7
* Drop support for Yum
* Remove support for host NTP daemon, always use chrony
* Switch references from 'yum_install_epel' to 'dnf_install_epel'
* Remove overcloud host image workaround for tagged VLAN admin network
* Remove the kayobe.utils.yum_install function, which is unused

Change-Id: I368f6edafed9779658798fc342116b4c1b3ffd48
Story: 2006574
Task: 39481
2020-05-28 10:25:51 +01:00
Will Szumski
5d2a46b2b0 Add support for encrypted block devices
This can be advantageous in deployments with a data security
requirement.

Change-Id: I555ee575ccec0cfbcc4c4bcb53677796c83227e3
Story: 2007555
Task: 39410
2020-05-20 15:49:51 +00:00
Pierre Riteau
28bf1128dd Make the root disk image build command more visible
Change-Id: If164af43bef244584627c9f18d70a905beafac55
2020-05-20 15:30:53 +02:00
Mark Goddard
c563f45fb7 CentOS 8: separate kolla build tag from deploy tag
Prevously the container image tag applied to built images was configured
via 'kolla_openstack_release'. This variable also controlled the tag
used for deployed images. This could cause problems during the CentOS 8
transition, where we need to build two sets of images, and Kolla Ansible
may apply a '-centos8' suffix to the tag we specify on CentOS 8.

This change separates the tag applied to built images into a different
variable - 'kolla_tag'. The default is still 'kolla_openstack_release'.

Change-Id: I8e1d877ee91a07b86cb858d25b841f8bfcd50e21
Story: 2006574
Task: 39487
2020-04-27 17:42:55 +01:00
Zuul
5cfca2aa82 Merge "Run kolla-ansible bootstrap-servers as kolla user" 2020-04-27 13:56:54 +00:00
Zuul
c343d4d877 Merge "Docs: Ansible tuning" 2020-04-27 12:05:00 +00:00
Zuul
bf319b71a9 Merge "Support custom Ansible configuration" 2020-04-27 12:04:56 +00:00
Mark Goddard
1d8b4e2500 Enable 'data' LVM group only for Docker devicemapper
This change is a precursor to switching the default Docker storage
driver to overlay2.

Previously, Kayobe's default configuration included a 'data' LVM volume
group, with a 'docker-volumes' logical volume mounted at
/var/lib/docker/volumes. Additionally, if the Docker devicemapper
storage driver was used, the data volume group would contain the
docker-thinpool and docker-thinpoolmeta volumes.

This LVM setup was really included for devicemapper, and while in some
cases it may be useful to have docker volumes as a separate logical
volume, this doesn't really make sense as a default. Often in
environments using other Docker storage drivers, the data volume group
would be removed from configuration.

This change modifies the default LVM configuration to only create a
'data' volume group if the Docker storage driver is devicemapper.
Additionally, new flags are added to make this choice independent from
the storage driver, to support cases where the data volume group is
required without devicemapper.

Change-Id: Ia3c1f6423c32fa2580b57db32512a34ce35d7acc
Story: 2005667
Task: 30973
2020-04-23 14:20:59 +01:00
Zuul
eaf511adad Merge "Don't use become for Kolla Ansible" 2020-04-22 00:50:41 +00:00
Mark Goddard
28a5b92be5 Docs: fix reference to deprecated external_net_name
Use the modern variable in the documented example.

Change-Id: I24560bf22cea28c1afc488c9abf9ea421a0286ad
2020-04-17 15:43:30 +01:00
Mark Goddard
97cd65dd63 Docs: Ansible tuning
Adds information on tuning Ansible, including forks, SSH pipelining and
fact caching.

Change-Id: I83d1469c62d63390222750d9d1f6e337e45b2373
Story: 2007492
Task: 39447
2020-04-17 10:00:27 +02:00