Commit Graph

43 Commits

Author SHA1 Message Date
Seunghun Lee ec5bbf398c Make OVS container build regex independent to OVN
Currently building OVN container images and OVS container images are
mutually exclusive.

This becomes problem when all container images are needed to be built
at the same time.

``kolla_build_neutron_ovs`` is added to let user to build OVS even if
OVN is enabled when it's explictly set to true.

Default value ensures regex mapping behaves normally when
``kolla_build_neutron_ovs`` is not given.

Release note is also added.

Change-Id: I7efe883fce4117a5167b6db4a711004d77a44f81
2024-02-13 11:53:26 +00:00
Stig Telfer f5529e6133 Add details of physical net configure --display
The --display parameter is very helpful but apparently undocumented.
Add it here.

Change-Id: I0e0e5ab8c2ca549d3278d7319ca6988c8790aef1
2023-03-06 17:22:58 +00:00
Pierre Riteau 6e78aa8914 Replace references to Docker Hub by Quay.io
Kolla Ansible uses Quay.io as its default registry.

Change-Id: Ie1a56ebd6fe3283a2b5b077f658ff1cf3e006784
2023-01-06 11:11:46 +01:00
Mark Goddard 50f5fb14e3 Build overcloud host images via DIB by default
Changes overcloud_dib_build_host_images to true, as promised in
I93d242889e225b4e60254f6b9cc5eeb457294ac8.

Change-Id: I322432985535348fb4ebe5bff7db5dd68f16b340
2022-12-02 10:36:51 +00:00
Pierre Riteau 17d49908af Add missing dot in hook name
Change-Id: Ib182558e31da9d79a14f383c6a1d60fa66f1dc75
2022-07-19 10:29:22 +02:00
Michal Nasiadka 8e55ea08a4 Add support for Rocky Linux 8
Change-Id: If7d6e58b19f98ccb7cc4c209e458cb6f4f4765ad
2022-03-18 15:04:21 +00:00
Pierre Riteau 81758d14c3 Support building multiple disk images
Change-Id: I366fbe98d27fa70b1aeb398c129f626fe042b5df
Story: 2002098
Task: 19776
2022-01-07 12:25:18 +01: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 dfdff656f5 Ubuntu: add documentation & release note
Change-Id: I3c4d81f59bb61fdd23234777b8d839adecfe86f2
Story: 2004960
Task: 42324
2021-05-05 10:26:31 +01:00
Pierre Riteau aafed5811d Fix documentation of control host bootstrap
Change-Id: Ie1d7753d9061b587caa5e150f72b51658a887318
2021-03-03 12:52:30 +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
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
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
Zuul 7575bcf501 Merge "Add cross references from deployment to config docs" 2019-12-06 18:04:31 +00:00
Mark Goddard ca19d786c6 Add cross references from deployment to config docs
Hopefully this provides access to relevant information without breaking
the flow.

Change-Id: I40b71cdf782dda6971dafb5894670c30e446ccb0
Story: 2004337
Task: 37387
2019-11-28 16:46:55 +00:00
Zuul a30cf063d1 Merge "Document requirements for BIOS and RAID configuration" 2019-11-25 14:17:05 +00:00
Zuul e1d4774fdc Merge "Improve docs on updating the Ansible control host" 2019-11-25 14:17:01 +00:00
Mark Goddard 3c7a6ef6a3 Document requirements for BIOS and RAID configuration
Ideally we will fix these issues, but documenting them is a good first
step.

Change-Id: I9a840005d62b974f0681ac39e1ff02ae3ff0120e
Story: 2004967
Task: 29410
2019-11-25 13:57:43 +00:00
Mark Goddard 410466bb5c Improve docs on updating the Ansible control host
Also reorder upgrade documentation to make it clear that configuration
migration is something that should be done as a preparatory task.

Change-Id: I97ada3c6fd94a9ab7b5add97e90717f2a56bc8f3
Story: 2006677
Task: 36953
2019-11-25 13:57:23 +00:00
Mark Goddard 25ea46debc Add note to docs about overcloud node names being required
If the kayobe overcloud provision command is executed with overcloud
ironic nodes without names, cloud-init will fail with the following
Traceback when the deployed image boots:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 447, in find_source
    if s.get_data():
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 132, in get_data
    self._get_standardized_metadata())
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 110, in _get_standardized_metadata
    'local-hostname': self.get_hostname(),
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 317, in get_hostname
    if util.is_ipv4(lhost):
  File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 544, in is_ipv4
    toks = instr.split('.')

This is a bug [1] in cloud-init. The symptom is that hosts provision
successfully, but are not accessible via SSH. A solution is to ensure
that all nodes are named.

Until we have a release of CentOS with the cloud-init fix included, we
should at least mention this limitation in our documentation.

[1] https://bugs.launchpad.net/cloud-init/+bug/1852100

Change-Id: If54f56fb9f0b626d9fae80db622b0feeae5464b9
Story: 2006832
Task: 37405
2019-11-19 13:51:38 +01:00
Mark Goddard 5408bb5453 Add reference to zero touch provisioning blog in docs
While not proper documentation, this should help people follow the ZTP
model.

Change-Id: If84a472826110bce151109ce80e70e1cef2a8177
Story: 2006640
Task: 37389
2019-11-11 10:16:31 +00:00
Pierre Riteau 17d63c8b99 Correct statement about default kolla images
Kayobe has been using upstream kolla images by default since the Queens
release, as configured by the `kolla_docker_namespace` variable.

Change-Id: Ib56256abbadf0b5f22ef7780af2b9de63a8f157a
2019-05-31 12:45:02 +01:00
Scott Solkhon 6496cfc0ba Support for Ceph and Swift storage networks, and improvements to Swift
In a deployment that has both Ceph or Swift deployed it can be useful to seperate the network traffic.
This change adds support for dedicated storage networks for both Ceph and Swift. By default, the storage hosts are
attached to the following networks:

* Overcloud admin network
* Internal network
* Storage network
* Storage management network

This adds four additional networks, which can be used to seperate the storage network traffic as follows:

* Ceph storage network (ceph_storage_net_name) is used to carry Ceph storage
  data traffic. Defaults to the storage network (storage_net_name).
* Ceph storage management network (ceph_storage_mgmt_net_name) is used to carry
  storage management traffic. Defaults to the storage management network
  (storage_mgmt_net_name).
* Swift storage network (swift_storage_net_name) is used to carry Swift storage data
  traffic. Defaults to the storage network (storage_net_name).
* Swift storage replication network (swift_storage_replication_net_name) is used to
  carry storage management traffic. Defaults to the storage management network
  (storage_mgmt_net_name).

This change also includes several improvements to Swift device management and ring generation.

The device management and ring generation are now separate, with device management occurring during
'kayobe overcloud host configure', and ring generation during a new command, 'kayobe overcloud swift rings generate'.

For the device management, we now use standard Ansible modules rather than commands for device preparation.
File system labels can be configured for each device individually.

For ring generation, all commands are run on a single host, by default a host in the Swift storage group.
A python script runs in one of the kolla Swift containers, which consumes an autogenerated YAML config file that defines
the layout of the rings.

Change-Id: Iedc7535532d706f02d710de69b422abf2f6fe54c
2019-04-24 12:40:20 +00:00
Pierre Riteau 058a1351e3 Fix reference to Kolla-Ansible inventory
Change-Id: Iae19672b2ec7e2a9fe39d412f16d0c1a41c0bc99
2018-12-05 16:25:00 +00:00
Mark Goddard 03b496b93f Add documentation about physical network config
Change-Id: I267a65137910b71540aba6ea79f475607f5e2e98
Story: 2004337
Task: 27923
2018-11-19 16:43:21 +00:00
Pierre Riteau 496ff70119 Fix description of --display argument
Change-Id: Ia9589ba33ce4ae83c1fece6fa100c5740432c4e5
2018-11-01 17:38:41 +00:00
Zuul 10382bce9e Merge "Support forcing rebuild of deployment images" 2018-07-23 15:40:29 +00:00
Will Miller 2d5fd703a0 Reconcile all 'Ansible control host' references
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
2018-07-11 17:19:18 +01:00
Will Szumski 3fca0d00a9 Adds a separate admin network
The admin network is intended for remote admin access to
the overcloud hosts e.g SSH. If admin_oc_net_name is not set
it will default to provision_oc_net_name for backwards
compatability.

Story: 2002096
Task: 19774

Change-Id: Ib04bbc07f97218d7503000cc363624c60c287822
2018-06-25 14:21:51 +00:00
Mark Goddard 22cf08e882 Support forcing rebuild of deployment images
It is hard to know when disk images need to be rebuilt, and the
stackhpc.os-images role simply checks for the presence of the DIB output
directory to indicate that an image exists. In some cases, we may wish to force
the rebuilding of a deployment (IPA) image, when we know there are changes to
apply. This change adds a --force-rebuild argument to the following commands:

kayobe seed deployment image build
kayobe overcloud deployment image build

Change-Id: I580811a4f621df9445ef32773ca66bcf303dad9b
2018-06-22 14:43:29 +01:00
Will Szumski d1ba6d5027 add cloud-init workaround
The version of cloud-init included with CentOS7.5 (0.7.9-24)
fails to assign an IP address on VLAN subinterfaces. This
workaround upgrades cloud-init to 18.2 using a private
repository.

Story: 2002610
Task: 22229
Change-Id: Idc570b9ca7558dfd42246c74b1ec0331011d692f
2018-06-21 15:58:01 +01:00
Doug Szumski 0cd6d17d0c Support configuring Grafana
This add supports for running the stackhpc.grafana-conf Ansible
Galaxy role against a monitoring server to configure Grafana
post deployment. This includes:

* Creating an organisation
* Configuring dashboards for the organisation from a git repo
* Configuring datasources for the organisation
2018-01-23 12:00:12 +00:00
Mark Goddard 610c8a9566 Update documentation for container-image-builders group 2017-11-24 17:27:43 +00:00
Mark Goddard 13a14664f9 Add a --display argument to kayobe physical network configure
This will output the candidate configuration, without applying it.
2017-10-17 11:48:36 +00:00
Mark Goddard 4f1ba98167 Allow limiting physical network interface configuration to subsets
Allow the physical network interface configuration to be limited to a subset of
interfaces, either by interface name or switch interface description. This is done
via:

kayobe physical network configure --interface-limit interface1,interface2

or

kayobe physical network configure --interface-description-limit host1,host2

Fixes: #25
2017-10-17 11:48:36 +00:00
Mark Goddard 454de62d6d Update documentation for new control host directory layout 2017-09-20 17:57:19 +01:00
Mark Goddard 1c1d92b4db Add command to save overcloud introspection data
The CLI command is:

kayobe overcloud introspection data save [--output-dir <dir>] [--output-format <format>]

This command will save introspection data collected by the seed host's ironic
inspector service to the control host for analysis.
2017-08-22 18:35:47 +00:00
Mark Goddard 5d6658b353 Improve ironic deployment image build for overcloud
Overcloud deployment images can now be built via:

kayobe overcloud deployment image build

This should be done prior to running kayobe overcloud service deploy.
In order to build IPA images, the ipa_build_images variable should be
set to True. In this case, these images will be used by the overcloud's
ironic inspector service during hardware inspection, and by ironic
during provisioning.
2017-08-22 15:12:05 +00:00
Mark Goddard ebb81e49f1 Add command to build IPA deployment images for the seed
The CLI command is:

kayobe seed deployment image build

This command will build Ironic Python Agent (IPA) kernel and ramdisk images
using the Diskimage Builder (DIB) ironic-agent element. The built images will
be copied to the appropriate location in the bifrost_deploy container on the
seed.

This allows us to build a customised image with site- or hardware- specific
extensions.
2017-08-22 15:12:05 +00:00
Mark Goddard f76f244a38 Add configuration for seed hypervisor
Currently supports configuration of:
- Local networking
- NTP
- Libvirt storage pools and networks
2017-08-07 12:08:41 +00:00
Mark Goddard 968949a23d Move administration tasks from the deployment guide to a new page 2017-07-11 17:49:41 +01:00
Mark Goddard 328455ec10 Add control host upgrade, stop using yum on host
Ansible is now a dependency of kayobe, and should either be installed
in a virtualenv or in the site python packages, so we no longer need
to install it via yum.

Also stop running the kolla.yml playbook during control host bootstrap, as it
is now run when required.
2017-07-11 17:49:41 +01:00
Mark Goddard 896bd163ff Rename usage docs to deployment, separate out usage 2017-07-11 17:49:41 +01:00