This adds the ansible playbooks required by kayobe to the manifest by
using the data_files option in setuptools. When using pip to install
kayobe into a virtualenv, these files will be placed in
<venv>/kayobe/share/.
In an editable install, e.g using `pip install -e .`, data_files are not
installed into the virtualenv. Instead, we must follow the egg-link file
to find out the actual location.
Story: 2004252
Task: 27787
Change-Id: Ibef040eceb547476007f83c0d5dcdb2bc6986d1e
Adds the kayobe-seed-upgrade-centos job, which performs an upgrade of
the seed services from the previous release to the current release.
Change-Id: Ia3eb39cf81cb3618fd94c4456bd576b52098c946
Story: 2004308
Task: 27873
Adds a new command to upgrade containerised services on the seed:
kayobe seed service upgrade
This is largely the same as the deploy command, since there is no
kolla-ansible bifrost-upgrade command yet.
A limitation in Bifrost requires us to remove IPA images before
upgrading the bifrost container.
Change-Id: Ibbe01e972487e69dbb753a67efcf13e3ae0800de
Story: 2004308
Task: 27872
The administration guide has become a bit bloated, and not well
organised. This change creates new subsections within it.
Change-Id: I8aa133c183fb6b7d87a86d5ab66cc7faa5e64112
Story: 2004337
Task: 28082
The Juniper device support allows ansible_host variable to not be set
for a switch, in which case the inventory_hostname will be used instead.
This change applies this default consistently across all switch types.
Change-Id: Ibc1e673a6b988f2e8d7bb6c62d30ccdb7ce96351
Story: 2004358
Task: 27958
This small update is to show users where to put their manila
configuration file for kolla-ansible.
Change-Id: I050bb6e388c8b82de05e4deeaa357b98525c004e
Story: 2004414
Task: 28058
There is currently no coverage of upgrades in CI, which leaves us open
to regression in this infrequently tested but crucial area. This change
adds the required scripts and Zuul configuration.
A control plane is first deployed using the Kayobe stable/pike branch
and associated default configuration. The control plane is tested by
deploying then deleting a server instance. An upgrade to Queens is
performed, using the Kayobe master branch, or code in review if
applicable. The upgraded control plane is tested by deploying then
deleting a second server instance.
A workaround was required to restart the nova_compute service after the
upgrade, since the SIGHUP sent to it by Kolla Ansible during upgrade
appeared to be putting it into a degraded state.
A future improvement to this test could be to leave a server instance
running during the upgrade.
Change-Id: I0e595524e39d1131fe3ec6aaf2aeec3ff3d6a536
Story: 2003472
Task: 24732
Prior to the Queens release, release notes were added to the kayobe
sphinx documentation. During the Queens release cycle they were changed
to be generated via the reno tool.
This change moves the pre-Queens release notes to the reno source,
ensuring that all release notes are available in one place.
Change-Id: I9606cbe50aacc498a645bff163e3d2dafac198e3
It is now possible to configure custom inputs for fluentd by placing files in
etc/kayobe/kolla/config/fluentd/input/ in the kayobe configuration.
Change-Id: I284e6cff0aa7ddd779530a6de2ea9f8dcdce6450
Story: 2003968
Task: 26898
The IPA ramdisk and kernel images may be built or downloaded via a URL.
If the latter option is used, any images previously downloaded to
$KOLLA_CONFIG_PATH/config/ironic/ironic-agent.* would previously not be
updated if the image contents change.
This change introduces variables for setting a URL to a file containing
checksums for the images. The algorithm used to compute the checksum is
also configurable (default sha256). This allows us to ensure we are
using the correct version of the image, while avoiding an expensive few
hundred megabyte image download just to check.
If a checksum is not specified, the image will be downloaded every time
to ensure that it is up to date.
Change-Id: I8120518ed98d61f3652f5205ce7ec9f798ab2aa1
Story: 2001660
Task: 6693
The docker python module fails to install without a virtualenv with
pip10. The following error is seen in the task Ensure docker SDK for
python is installed:
Cannot uninstall 'ipaddress'. It is a distutils installed project and
thus we cannot accurately determine which files belong to it which would
lead to only a partial uninstall
This is fixed by using a remote Python virtual environment for executing
Kayobe Ansible tasks in the default Kayobe configuration.
Change-Id: I1348e428d736f93c76316c7fb5f2708b99554eb3
Story: 2002010
Task: 19648
It may be necessary to install extra Python packages inside the
kolla-ansible virtualenv, such as when required by Ansible plugins. For
example, using the hashi_vault lookup plugin requires the hvac Python
package to be installed.
This patch adds a kolla_ansible_venv_extra_requirements list variable
which contains Python package requirements to add to the kolla-ansible
requirements file. Its default value is an empty list.
Change-Id: Ie0541dc05e2ab94af230d0113a23c544755424c7
The Kayobe development configuration has moved to
openstack/kayobe-config-dev. It was previously hosted at
stackhpc/dev-kayobe-config on Github.
This change updates the Zuul configuration and development documentation
to use the new location. It also uses a location for the kayobe source
code that works when kayobe is not the repository against which the code
review is targetted. This allows us to run kayobe jobs for
kayobe-config-dev changes.
Configuration for the seed VM and seed hypervisor development
environments is not yet supported by kayobe-config-dev, so the
documentation references a branch in my personal fork on Github.
Change-Id: I621324093b8dff0ac52a648539cd91bc12da4862
This is an optional step that may be desirable to perform prior to
upgrading Kolla containers.
Change-Id: Ibe30c5a252508a4aa1b24d9484456f90532b8af7
Story: 2003305
Task: 24257
This will update the the deploy_ramdisk and
deploy kernel properties of 'Driver info'
field on Ironic nodes if the locally built
or externally referenced images are updated.
Change-Id: Id3997db452dde6e6e242a9b1091cb219c53ebda1
There were two problems with this command. First, we needed to copy the
etc/kayobe directory instead of just etc, to avoid generating an extra
layer of kayobe directories. Second, its behavior was different
depending on whether the target directory already existed or not:
instead, copying files under etc/kayobe always produces a predictable
result.
Change-Id: I3923e1fad2e1e9a5b206db93d48c08545cbdccef
Currently kayobe's ansible galaxy dependencies are unpinned. For
versioned roles, any new release will be picked up. For unversioned
roles, any new commit to master will be picked up. This is clearly not
ideal for stability, and we should pin these dependencies to specific
versions to avoid things changing under our feet. For unversioned roles,
we may want to consider adding versioning where we have the power to do
so.
Change-Id: Ib83a0d95b9061b3a57cb0e7c4cff3488ee076664
Story: 2003437
Task: 24633
OpenStack publishes release notes for non-official projects as well as
official projects at https://docs.openstack.org/releasenotes.
Change-Id: I4b4f0f37b9341d0009b4ea8c77ec014d289cd2af
Support configuring a separate tunnel network for tenant
overlay network traffic.
Change-Id: I74274823d6fe3a42aabcca00c8cd20e1abb3d219
Story: 2003054
Task: 23091
Ensure all references to the Ansible control host are worded as such, to
ensure consistency and avoid potential confusion with the OpenStack
controllers.
Change-Id: Id92e537ccbfdd55287b8eae296f649640c70ce17