Backport: train
Commit efb8b8bd27d08469c94f103b7314e9905cf6aa0e introduced in Train uses
docker_storage_driver in a Kayobe top-level playbook, but this variable
was only defined in defaults of the docker-devicemapper role. Unless
docker_storage_driver is explicitly set by the operator, the
docker-devicemapper playbook would fail due to the variable being
undefined.
Change-Id: I5e8219d1807b1a4e3ec65f5478eb3f1c7c02b241
Story: 2007719
Task: 39857
Version 1.9.0 of stackhpc.os-images removes the dependency
on shade and replaces it with openstacksdk. This version
is required for python3 support.
Change-Id: If0d73e13b5922ae071671d2c7983dda6a6c5ae5e
Co-Authored-By: Sebastian Luna Valero <sebastian.luna.valero@gmail.com>
Story: 2006574
Task: 39485
Switch all dependencies to use the OpenStack Ussuri release.
This commit should be reverted on the master branch once the
Kayobe stable/ussuri branch has been cut and RC1 released.
Change-Id: Id126ea109e6dfcba09b524129876985547ad368f
In Python 3, the return type of subprocess.check_output is bytes by
default. It needs to be decoded to a string.
Passing universal_newlines=True to the subprocess functions results in
file objects opened in text mode, decoded using the system locale. A
unit test has also been added.
Change-Id: Idb4e66aa1f2c973a956907d7986d1c05c7ce2e67
Story: 2004959
Task: 39483
* 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
Sometimes there is a need to develop site specific playbooks. Currently,
it is necessary to manually invoke these at the right point during the
deployment. Adding the ability to automatically run these custom
playbooks will reduce the chance of running these playbooks at the wrong
point or forgetting to run them at all.
Change-Id: I1ae0f1f94665925326c8b1869dd75038f6f1b87d
Story: 2001663
Task: 12606
This can be advantageous in deployments with a data security
requirement.
Change-Id: I555ee575ccec0cfbcc4c4bcb53677796c83227e3
Story: 2007555
Task: 39410
This commit upgrades the development Vagrant vm to use
CentOS 8.
This also increases the size of the root disk as the
CentOS 8 cloud image is only 10GB which is not
sufficient for a Kayobe deployment.
Change-Id: I614cf6e0a774229da30831e806e2ae125e5cf0fb
On seed hypervisors running CentOS 8, the configdrive role will fail to
install coreutils if coreutils-single is already present:
Error:
Problem: problem with installed package coreutils-single-8.30-6.el8.x86_64
- package coreutils-8.30-6.el8_1.1.x86_64 conflicts with coreutils-single provided by coreutils-single-8.30-6.el8.x86_64
- package coreutils-8.30-6.el8_1.1.x86_64 conflicts with coreutils-single provided by coreutils-single-8.30-6.el8_1.1.x86_64
- conflicting requests
Until the role handles it, install coreutils using the --allowerasing
option which will remove coreutils-single at the same time. Use a
command task for now since this option has just been added to
ansible:devel [1].
[1] https://github.com/ansible/ansible/pull/48319
Change-Id: I43bbe9dae3d6796e308fbf66cb04d16b57ff5e37
Story: 2007612
Task: 39607
1. Blacklist Ansible 2.9.8
Ansible 2.9.8 includes a regression on the fileglob plugin [1] that
causes the Kolla Ansible HAProxy role to fail.
This change blacklists Ansible 2.9.8 to work around the issue.
2. Use ensure-docker role instead of install-docker
The install-* roles are being deprecated and renamed to follow the
ensure-* naming convention [2].
[1] https://github.com/ansible/ansible/issues/69450
[2] http://lists.zuul-ci.org/pipermail/zuul-announce/2020-April/000071.html
Change-Id: Iab1d84e6a8c1b3dd81e53279309153687677a061
Story: 2007659
Task: 39748
Ironic inspector rules are registered both with the seed and (if using)
overcloud ironic inspector services. These tasks often show up as
changed even when no configuration changes have been made that would
affect the rules.
This is caused by inspector returning default values for fields that may
be omitted in the requested rule. This change fixes the issue by
including those defaults in the comparison.
Change-Id: Ia24e328d4531201d76a65b6385e4463bb1f3c5c6
Story: 2007399
Task: 38997
Sets 'monasca_install_type: source' to remove need
for kolla-ansible var boilerplate.
Also use default Monasca parameters to configure
Grafana post deploy.
Change-Id: I2b6d62104c9c127cb8f6b4f4930dd695cd00da17
Story: 2007597
Task: 39587
A common failure early on when using Kayobe is during discovery of SSH
known hosts. This happens if a host does not have an IP address
configured on the admin (SSH) network. The failure looks like this:
PLAY [Ensure known hosts are configured]
**********************************************************************
TASK [ssh-known-host : Scan for SSH keys]
**********************************************************************
failed: [compute0 -> localhost] (item=) => {"ansible_loop_var": "item",
"changed": false, "cmd": ["ssh-keyscan"], "delta": "0:00:00.013855",
"end": "2020-04-17 10:51:01.857855", "item": "", "msg": "non-zero
return code", "rc": 1, "start": "2020-04-17 10:51:01.844000",
"stderr": "usage: ssh-keyscan [-46cDHv] [-f file] [-p port] [-T
timeout] [-t type]\n\t\t [host | addrlist namelist]",
"stderr_lines": ["u sage: ssh-keyscan [-46cDHv] [-f file] [-p port]
[-T timeout] [-t type]", "\t\t [host | addrlist namelist]"],
"stdout": "", "stdout_lines": []}
This happens when ansible_host is an empty string, typically because the
host has no IP address defined in for the admin network in
network-allocation.yml. This is very confusing for a new user. We should
provide a more informative message.
It's not exactly clear how a user gets to this point, since the
ip-allocation.yml playbook runs before ssh-known-host.yml, which should
populate network-allocation.yml.
This change detects this failure mode and provides a message with
information about how to resolve it.
Change-Id: I564b6e4509a30dec7c49a23bb2f75d490be775ed
Story: 2007566
Task: 39456