From 56b248db42ab958522b0756c31235f4eb6f727d2 Mon Sep 17 00:00:00 2001 From: OpenDev Sysadmins Date: Fri, 19 Apr 2019 19:50:00 +0000 Subject: [PATCH 01/57] OpenDev Migration Patch This commit was bulk generated and pushed by the OpenDev sysadmins as a part of the Git hosting and code review systems migration detailed in these mailing list posts: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html Attempts have been made to correct repository namespaces and hostnames based on simple pattern matching, but it's possible some were updated incorrectly or missed entirely. Please reach out to us via the contact information listed at https://opendev.org/ with any questions you may have. --- .gitreview | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitreview b/.gitreview index 067c5be..f19dc80 100644 --- a/.gitreview +++ b/.gitreview @@ -1,4 +1,4 @@ [gerrit] -host=review.openstack.org +host=review.opendev.org port=29418 -project=openstack/kayobe-config-dev.git +project=x/kayobe-config-dev.git From 5af8c96317e8da77dbc5fc6a385f8d138af1b3d8 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Wed, 24 Apr 2019 14:04:10 +0100 Subject: [PATCH 02/57] Update git.openstack.org to opendev.org The project infrastructure is now hosted at opendev.org. Kayobe projects have been moved from the openstack/ namespace to x/. Depends-On: https://review.opendev.org/655424 Change-Id: I3a1dfe1041a342f7ac10c244519dda2f51abbb9e --- .gitreview | 4 ++-- README.rst | 4 ++-- tox.ini | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitreview b/.gitreview index 067c5be..f19dc80 100644 --- a/.gitreview +++ b/.gitreview @@ -1,4 +1,4 @@ [gerrit] -host=review.openstack.org +host=review.opendev.org port=29418 -project=openstack/kayobe-config-dev.git +project=x/kayobe-config-dev.git diff --git a/README.rst b/README.rst index ba23511..3f76b4e 100644 --- a/README.rst +++ b/README.rst @@ -5,13 +5,13 @@ Development Kayobe Configuration This repository provides development configuration for the `Kayobe `__ project. It is based on the configuration provided by the `kayobe-config -`__ repository, and +`__ repository, and provides a set of configuration suitable for a development or test environment. It is used by default in the `Kayobe development environment `__, and also in the Kayobe Continuous Integration (CI) deployment jobs. * Kayobe documentation: https://kayobe.readthedocs.io/en/latest/ -* Source: https://git.openstack.org/cgit/openstack/kayobe-config-dev +* Source: https://opendev.org/x/kayobe-config-dev * Bugs: https://storyboard.openstack.org/#!/project/openstack/kayobe-config-dev * IRC: #openstack-kayobe diff --git a/tox.ini b/tox.ini index 063d2af..9e92233 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ skipsdist = True [testenv] install_command = pip install {opts} {packages} deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} + -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} -r{toxinidir}/test-requirements.txt [testenv:pep8] From 4ceaa18a9cf231810d3431982dfeed855c946fc7 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Fri, 16 Aug 2019 10:15:43 +0100 Subject: [PATCH 03/57] Synchronise with kayobe-config for Stein Synchronises the configuration with kayobe-config prior to creating a stable/stein branch. Change-Id: I63170f0dff99b7f1307f6d2cf3c3470b353c7ec4 --- etc/kayobe/bifrost.yml | 3 +- etc/kayobe/{cadvisor.yml => ceph.yml} | 7 ++- etc/kayobe/compute.yml | 6 ++ etc/kayobe/controllers.yml | 6 ++ etc/kayobe/docker.yml | 3 +- etc/kayobe/inspector.yml | 3 - .../group_vars/compute/network-interfaces | 5 ++ .../group_vars/storage/network-interfaces | 47 ++++++++++++++++ etc/kayobe/ipa.yml | 10 +++- etc/kayobe/kolla.yml | 10 +++- etc/kayobe/kolla/globals.yml | 6 -- etc/kayobe/monitoring.yml | 6 ++ etc/kayobe/ntp.yml | 4 ++ .../{node-exporter.yml => openstack.yml} | 9 ++- etc/kayobe/seed-hypervisor.yml | 6 ++ etc/kayobe/seed.yml | 6 ++ etc/kayobe/storage.yml | 16 ++++++ etc/kayobe/swift.yml | 55 +++++++++++++++++-- 18 files changed, 180 insertions(+), 28 deletions(-) rename etc/kayobe/{cadvisor.yml => ceph.yml} (58%) create mode 100644 etc/kayobe/inventory/group_vars/storage/network-interfaces rename etc/kayobe/{node-exporter.yml => openstack.yml} (55%) diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 271ebdc..078a6ce 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -7,7 +7,8 @@ # URL of Bifrost source code repository. #kolla_bifrost_source_url: -# Version (branch, tag, etc.) of Bifrost source code repository. +# Version (branch, tag, etc.) of Bifrost source code repository. Default is +# {{ openstack_branch }}. #kolla_bifrost_source_version: ############################################################################### diff --git a/etc/kayobe/cadvisor.yml b/etc/kayobe/ceph.yml similarity index 58% rename from etc/kayobe/cadvisor.yml rename to etc/kayobe/ceph.yml index 25e1db4..b54faf3 100644 --- a/etc/kayobe/cadvisor.yml +++ b/etc/kayobe/ceph.yml @@ -1,9 +1,10 @@ --- ############################################################################### -# cAdvisor configuration. +# OpenStack Ceph configuration. -# Whether cAdvisor is enabled. -#cadvisor_enabled: +# Ansible host pattern matching hosts on which Ceph storage services +# are deployed. The default is to use hosts in the 'storage' group. +#ceph_hosts: ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index 8d97cec..d66c4d5 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -48,6 +48,12 @@ # stackhpc.drac role. #compute_raid_config_extra: +############################################################################### +# Compute node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#compute_mdadm_arrays: + ############################################################################### # Compute node LVM configuration. diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index 03dd957..aa0a6a6 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -51,6 +51,12 @@ # stackhpc.drac role. #controller_raid_config_extra: +############################################################################### +# Controller node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#controller_mdadm_arrays: + ############################################################################### # Controller node LVM configuration. diff --git a/etc/kayobe/docker.yml b/etc/kayobe/docker.yml index 0a7c61b..1697d61 100644 --- a/etc/kayobe/docker.yml +++ b/etc/kayobe/docker.yml @@ -2,8 +2,7 @@ ############################################################################### # Docker configuration. -# Name of the docker storage driver. Supported values include 'devicemapper' -# and 'overlay'. +# Name of the docker storage driver. Default is 'devicemapper'. docker_storage_driver: overlay # Name of the docker storage LVM volume group. diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index ac83dd3..b99780e 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -26,9 +26,6 @@ ############################################################################### # Ironic inspector processing configuration. -# Whether inspector should manage the firewall. -#inspector_manage_firewall: - # List of of default inspector processing plugins. #inspector_processing_hooks_default: diff --git a/etc/kayobe/inventory/group_vars/compute/network-interfaces b/etc/kayobe/inventory/group_vars/compute/network-interfaces index 421f69d..1aab473 100644 --- a/etc/kayobe/inventory/group_vars/compute/network-interfaces +++ b/etc/kayobe/inventory/group_vars/compute/network-interfaces @@ -22,6 +22,11 @@ # storage_net_bridge_ports: # storage_net_bond_slaves: +# Ceph storage network IP information. +# ceph_storage_net_interface: +# ceph_storage_net_bridge_ports: +# ceph_storage_net_bond_slaves: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inventory/group_vars/storage/network-interfaces b/etc/kayobe/inventory/group_vars/storage/network-interfaces new file mode 100644 index 0000000..22654ef --- /dev/null +++ b/etc/kayobe/inventory/group_vars/storage/network-interfaces @@ -0,0 +1,47 @@ +--- +############################################################################### +# Network interface definitions for the storage group. + +# Overcloud provisioning network IP information. +# provision_oc_net_interface: +# provision_oc_net_bridge_ports: +# provision_oc_net_bond_slaves: + +# External network IP information. +# external_net_interface: +# external_net_bridge_ports: +# external_net_bond_slaves: + +# Storage network IP information. +# storage_net_interface: +# storage_net_bridge_ports: +# storage_net_bond_slaves: + +# Storage management network IP information. +# storage_mgmt_net_interface: +# storage_mgmt_net_bridge_ports: +# storage_mgmt_net_bond_slaves: + +# Ceph storage network IP information. +# ceph_storage_net_interface: +# ceph_storage_net_bridge_ports: +# ceph_storage_net_bond_slaves: + +# Ceph storage management network IP information. +# ceph_storage_mgmt_net_interface: +# ceph_storage_mgmt_net_bridge_ports: +# ceph_storage_mgmt_net_bond_slaves: + +# Swift storage network IP information. +# swift_storage_net_interface: +# swift_storage_net_bridge_ports: +# swift_storage_net_bond_slaves: + +# Swift storage management network IP information. +# swift_storage_replication_net_interface: +# swift_storage_replication_net_bridge_ports: +# swift_storage_replication_net_bond_slaves: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index b586c82..6416f5e 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -10,7 +10,7 @@ # URL of IPA source repository. #ipa_build_source_url: -# Version of IPA source repository. +# Version of IPA source repository. Default is {{ openstack_branch }}. #ipa_build_source_version: # URL of IPA upper constraints file. @@ -50,12 +50,16 @@ ############################################################################### # Ironic Python Agent (IPA) images configuration. +# Suffix of upstream Ironic deployment image files. Default is based on +# {{ openstack_branch }}. +#ipa_images_upstream_url_suffix: + # Name of Ironic deployment kernel image to register in Glance. #ipa_images_kernel_name: # URL of Ironic deployment kernel image to download. # yamllint disable-line rule:line-length -ipa_kernel_upstream_url: https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-rocky.vmlinuz +ipa_kernel_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa{{ ipa_images_upstream_url_suffix }}.vmlinuz" # URL of checksum of Ironic deployment kernel image. #ipa_kernel_checksum_url: @@ -68,7 +72,7 @@ ipa_kernel_upstream_url: https://tarballs.openstack.org/ironic-python-agent/tiny # URL of Ironic deployment ramdisk image to download. # yamllint disable-line rule:line-length -ipa_ramdisk_upstream_url: https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-rocky.gz +ipa_ramdisk_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa{{ ipa_images_upstream_url_suffix }}.gz" # URL of checksum of Ironic deployment ramdisk image. #ipa_ramdisk_checksum_url: diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 42eef89..37438ad 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -14,7 +14,7 @@ #kolla_source_url: # Version (branch, tag, etc.) of Kolla source code repository if type is -# 'source'. +# 'source'. Default is {{ openstack_branch }}. #kolla_source_version: # Path to virtualenv in which to install kolla. @@ -36,7 +36,7 @@ #kolla_ansible_source_url: # Version (branch, tag, etc.) of Kolla Ansible source code repository if type -# is 'source'. +# is 'source'. Default is {{ openstack_branch }}. #kolla_ansible_source_version: # Path to virtualenv in which to install kolla-ansible. @@ -73,6 +73,7 @@ #kolla_docker_registry_password: # Kolla OpenStack release version. This should be a Docker image tag. +# Default is {{ openstack_release }}. #kolla_openstack_release: # Dict mapping names of sources to their definitions for @@ -170,6 +171,9 @@ #kolla_enable_ceph_mds: #kolla_enable_ceph_nfs: #kolla_enable_ceph_rgw: +# The chrony container is disabled by default because we enable an NTP daemon +# on the host. Setting this to true will disable NTP on the host. +#kolla_enable_chrony: #kolla_enable_cinder: #kolla_enable_cinder_backend_hnas_iscsi: #kolla_enable_cinder_backend_hnas_nfs: @@ -194,6 +198,7 @@ #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: #kolla_enable_karbor: +#kolla_enable_keystone: #kolla_enable_kuryr: #kolla_enable_magnum: #kolla_enable_manila: @@ -220,6 +225,7 @@ #kolla_enable_octavia: #kolla_enable_osprofiler: #kolla_enable_panko: +#kolla_enable_prometheus: #kolla_enable_qdrouterd: #kolla_enable_rally: #kolla_enable_sahara: diff --git a/etc/kayobe/kolla/globals.yml b/etc/kayobe/kolla/globals.yml index 15be401..f09b22f 100644 --- a/etc/kayobe/kolla/globals.yml +++ b/etc/kayobe/kolla/globals.yml @@ -1,10 +1,4 @@ --- -# Although Kolla-Ansible provides full support for Fernet tokens, it still -# defaults to UUID. This setting overrides K-A and brings it in-line with -# Keystone's default. -# -keystone_token_provider: 'fernet' - # Most development environments will use nested virtualisation, and we can't # guarantee that nested KVM support is available. Use QEMU as a lowest common # denominator. diff --git a/etc/kayobe/monitoring.yml b/etc/kayobe/monitoring.yml index 0b64855..30690a2 100644 --- a/etc/kayobe/monitoring.yml +++ b/etc/kayobe/monitoring.yml @@ -48,6 +48,12 @@ # by stackhpc.drac role. #monitoring_raid_config_extra: +############################################################################### +# Monitoring node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#monitoring_mdadm_arrays: + ############################################################################### # Monitoring node LVM configuration. diff --git a/etc/kayobe/ntp.yml b/etc/kayobe/ntp.yml index 4c0f0b4..783c3da 100644 --- a/etc/kayobe/ntp.yml +++ b/etc/kayobe/ntp.yml @@ -10,6 +10,10 @@ ############################################################################### # Network Time Protocol (NTP). +# Whether to enable the NTP daemon on the host. Default is true unless +# 'kolla_enable_chrony' has been set to true on overcloud hosts. +#ntp_service_enabled: + # List of names of NTP servers. #ntp_config_server: diff --git a/etc/kayobe/node-exporter.yml b/etc/kayobe/openstack.yml similarity index 55% rename from etc/kayobe/node-exporter.yml rename to etc/kayobe/openstack.yml index ea1c6b2..f9ef447 100644 --- a/etc/kayobe/node-exporter.yml +++ b/etc/kayobe/openstack.yml @@ -1,9 +1,12 @@ --- ############################################################################### -# Prometheus node exporter configuration. +# OpenStack release configuration. -# Whether Prometheus node exporter is enabled. -#nodeexporter_enabled: +# Name of the current OpenStack release. Default is "stein". +#openstack_release: + +# Name of the current OpenStack branch. Default is "stable/stein". +#openstack_branch: ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 978a98c..8f928a7 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -18,6 +18,12 @@ # List of extra networks to which seed hypervisor nodes are attached. #seed_hypervisor_extra_network_interfaces: +############################################################################### +# Seed hypervisor node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#seed_hypervisor_mdadm_arrays: + ############################################################################### # Seed hypervisor node LVM configuration. diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index 66ee012..8e68199 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -18,6 +18,12 @@ # List of extra networks to which seed nodes are attached. #seed_extra_network_interfaces: +############################################################################### +# Seed node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#seed_mdadm_arrays: + ############################################################################### # LVM configuration. diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index e1e1795..18e522f 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -18,6 +18,16 @@ # List of extra networks to which storage nodes are attached. #storage_extra_network_interfaces: +# Whether this host requires access to Ceph networks. +#storage_needs_ceph_network: + +#storage_needs_ceph_mgmt_network: + +# Whether this host requires access to Swift networks. +#storage_needs_swift_network: + +#storage_needs_swift_replication_network: + ############################################################################### # Storage node BIOS configuration. @@ -48,6 +58,12 @@ # stackhpc.drac role. #storage_raid_config_extra: +############################################################################### +# Storage node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#storage_mdadm_arrays: + ############################################################################### # Storage node LVM configuration. diff --git a/etc/kayobe/swift.yml b/etc/kayobe/swift.yml index 3af868c..c8812b0 100644 --- a/etc/kayobe/swift.yml +++ b/etc/kayobe/swift.yml @@ -2,18 +2,63 @@ ############################################################################### # OpenStack Swift configuration. +# Short name of the kolla container image used to build rings. Default is the +# swift=object image. +#swift_ring_build_image_name: + +# Full name of the kolla container image used to build rings. +#swift_ring_build_image: + +# Ansible host pattern matching hosts on which Swift object storage services +# are deployed. The default is to use hosts in the 'storage' group. +#swift_hosts: + +# Name of the host used to build Swift rings. Default is the first host of +# 'swift_hosts'. +#swift_ring_build_host: + +# ID of the Swift region for this host. Default is 1. +#swift_region: + +# ID of the Swift zone. This can be set to different values for different hosts +# to place them in different zones. Default is 0. +#swift_zone: + # Base-2 logarithm of the number of partitions. -# i.e. num_partitions=2^. +# i.e. num_partitions=2^. Default is 10. #swift_part_power: -# Object replication count. +# Object replication count. Default is the smaller of the number of Swift +# hosts, or 3. #swift_replication_count: -# Minimum time in hours between moving a given partition. +# Minimum time in hours between moving a given partition. Default is 1. #swift_min_part_hours: -# Number of Swift Zones. -#swift_num_zones: +# Ports on which Swift services listen. Default is: +# object: 6000 +# account: 6001 +# container: 6002 +#swift_service_ports: + +# List of block devices to use for Swift. Each item is a dict with the +# following items: +# - 'device': Block device path. Required. +# - 'fs_label': Name of the label used to create the file system on the device. +# Optional. Default is to use the basename of the device. +# - 'services': List of services that will use this block device. Optional. +# Default is 'swift_block_device_default_services'. Allowed items are +# 'account', 'container', and 'object'. +# - 'weight': Weight of the block device. Optional. Default is +# 'swift_block_device_default_weight'. +#swift_block_devices: + +# Default weight to assign to block devices in the ring. Default is 100. +#swift_block_device_default_weight: + +# Default list of services to assign block devices to. Allowed items are +# 'account', 'container', and 'object'. Default value is all of these. +#swift_block_device_default_services: ############################################################################### # Dummy variable to allow Ansible to accept this file. From 6fd0ca13d511077d6d60c0afcdc636897ff353e7 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 16 Sep 2019 16:31:00 +0200 Subject: [PATCH 04/57] Fix .gitreview after rename Fix .gitreview after rename of repo to openstack namespace. Change-Id: I34f8dc7cbced5ec24a3c698e7c9937081959996a --- .gitreview | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitreview b/.gitreview index f19dc80..4e84bb6 100644 --- a/.gitreview +++ b/.gitreview @@ -1,4 +1,4 @@ [gerrit] host=review.opendev.org port=29418 -project=x/kayobe-config-dev.git +project=openstack/kayobe-config-dev.git From cef71c7793a00d548586390076a05ba1da2f7af7 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Sun, 4 Aug 2019 19:09:34 +0100 Subject: [PATCH 05/57] Update links to docs and IRC for kolla governance Change-Id: Ibbe0d59a22807457c615c6921fb71ccb4a3af2ae --- README.rst | 12 ++++++------ setup.cfg | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index 3f76b4e..927a70e 100644 --- a/README.rst +++ b/README.rst @@ -3,15 +3,15 @@ Development Kayobe Configuration ================================ This repository provides development configuration for the `Kayobe -`__ project. It is based on the +`__ project. It is based on the configuration provided by the `kayobe-config -`__ repository, and +`__ repository, and provides a set of configuration suitable for a development or test environment. It is used by default in the `Kayobe development environment -`__, and also +`__, and also in the Kayobe Continuous Integration (CI) deployment jobs. -* Kayobe documentation: https://kayobe.readthedocs.io/en/latest/ -* Source: https://opendev.org/x/kayobe-config-dev +* Kayobe documentation: https://docs.openstack.org/kayobe/latest/ +* Source: https://opendev.org/openstack/kayobe-config-dev * Bugs: https://storyboard.openstack.org/#!/project/openstack/kayobe-config-dev -* IRC: #openstack-kayobe +* IRC: #openstack-kolla diff --git a/setup.cfg b/setup.cfg index 33d64a4..8748a4d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ description-file = README.rst author = OpenStack author-email = openstack-discuss@lists.openstack.org -home-page = https://kayobe.readthedocs.io/en/latest/ +home-page = https://docs.openstack.org/kayobe/latest/ classifier = Environment :: OpenStack Intended Audience :: Information Technology From 5e2f20d64b9881148e37f0f145819fa89beb1c76 Mon Sep 17 00:00:00 2001 From: pengyuesheng Date: Tue, 24 Sep 2019 15:43:12 +0800 Subject: [PATCH 06/57] Update the constraints url For more detail, see http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006478.html Change-Id: I34b3f2d166b8b20142f8c1f78e992377cb9a73bc --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 9e92233..9f1d512 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ skipsdist = True [testenv] install_command = pip install {opts} {packages} deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} + -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt [testenv:pep8] From 306394500c8f276be97a68c7df79c0ebd46702fe Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Mon, 16 Dec 2019 18:57:38 +0100 Subject: [PATCH 07/57] Synchronise with kayobe-config for Train Synchronises the configuration with kayobe-config prior to creating a stable/train branch. This commit also defines the Ceph and Swift storage networks, which had been skipped in the Stein sync. Change-Id: I67521122e8a87b2e0637e8f671c3fbc0b8f0fbb5 --- etc/kayobe/bifrost.yml | 12 +++++++ etc/kayobe/docker.yml | 3 ++ etc/kayobe/ipa.yml | 10 ++---- etc/kayobe/kolla.yml | 76 ++++++++++++++++++++++++++++------------ etc/kayobe/networks.yml | 16 +++++++++ etc/kayobe/openstack.yml | 4 +-- etc/kayobe/pip.yml | 5 +++ 7 files changed, 95 insertions(+), 31 deletions(-) diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 078a6ce..60254d2 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -20,12 +20,24 @@ # DIB image OS release. #kolla_bifrost_dib_os_release: +# List of default DIB elements. +#kolla_bifrost_dib_elements_default: + +# List of additional DIB elements. +#kolla_bifrost_dib_elements_extra: + # List of DIB elements. #kolla_bifrost_dib_elements: # DIB init element. #kolla_bifrost_dib_init_element: +# DIB default environment variables. +#kolla_bifrost_dib_env_vars_default: + +# DIB additional environment variables. +#kolla_bifrost_dib_env_vars_extra: + # DIB environment variables. #kolla_bifrost_dib_env_vars: diff --git a/etc/kayobe/docker.yml b/etc/kayobe/docker.yml index 1697d61..6e70a4b 100644 --- a/etc/kayobe/docker.yml +++ b/etc/kayobe/docker.yml @@ -27,6 +27,9 @@ docker_storage_driver: overlay # CA of docker registry #docker_registry_ca: +# List of Docker registry mirrors. +#docker_registry_mirrors: + # Enable live-restore on docker daemon #docker_daemon_live_restore: diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index 6416f5e..c0ad6c8 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -13,13 +13,6 @@ # Version of IPA source repository. Default is {{ openstack_branch }}. #ipa_build_source_version: -# URL of IPA upper constraints file. -#ipa_build_upper_constraints_file_url: - -# Custom python package version constraints for IPA. Dict mapping package name -# to upper version constraint. -#ipa_build_custom_upper_constraints: - # List of default Diskimage Builder (DIB) elements to use when building IPA # images. #ipa_build_dib_elements_default: @@ -47,6 +40,9 @@ # stackhpc.os-images role for usage. #ipa_build_dib_git_elements: +# List of DIB packages to install. Default is none. +#ipa_build_dib_packages: + ############################################################################### # Ironic Python Agent (IPA) images configuration. diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 37438ad..7541dea 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -27,49 +27,59 @@ # Kolla-ansible installation. # Type of Kolla-ansible control installation. One of 'binary' or 'source'. +# Default is 'source'. #kolla_ansible_ctl_install_type: # Path to directory for kolla-ansible source code checkout. +# Default is $KOLLA_SOURCE_PATH, or $PWD/src/kolla-ansible if +# $KOLLA_SOURCE_PATH is not set. #kolla_ansible_source_path: -# URL of Kolla Ansible source code repository if type is 'source'. +# URL of Kolla Ansible source code repository if type is 'source'. Default is +# https://opendev.org/openstack/kolla-ansible. #kolla_ansible_source_url: # Version (branch, tag, etc.) of Kolla Ansible source code repository if type # is 'source'. Default is {{ openstack_branch }}. #kolla_ansible_source_version: -# Path to virtualenv in which to install kolla-ansible. +# Path to virtualenv in which to install kolla-ansible. Default is +# $KOLLA_VENV_PATH or $PWD/venvs/kolla-ansible if $KOLLA_VENV_PATH is not set. #kolla_ansible_venv: # Extra requirements to install inside the kolla-ansible virtualenv. #kolla_ansible_venv_extra_requirements: -# Path to Kolla-ansible configuration directory. +# Path to Kolla-ansible configuration directory. Default is $KOLLA_CONFIG_PATH +# or /etc/kolla if $KOLLA_CONFIG_PATH is not set. #kolla_config_path: -# Path to Kolla-ansible node custom configuration directory. +# Path to Kolla-ansible node custom configuration directory. Default is +# {{ kolla_config_path }}/config. #kolla_node_custom_config_path: ############################################################################### # Kolla configuration. -# Kolla base container image distribution. +# Kolla base container image distribution. Default is 'centos'. #kolla_base_distro: -# Kolla container image type: binary or source. +# Kolla container image type: binary or source. Default is 'binary'. #kolla_install_type: -# URL of docker registry to use for Kolla images. +# URL of docker registry to use for Kolla images. Default is not set, in which +# case Dockerhub will be used. #kolla_docker_registry: -# Docker namespace to use for Kolla images. +# Docker namespace to use for Kolla images. Default is 'kolla'. #kolla_docker_namespace: -# Username to use to access a docker registry. +# Username to use to access a docker registry. Default is not set, in which +# case the registry will be used without authentication. #kolla_docker_registry_username: -# Password to use to access a docker registry. +# Password to use to access a docker registry. Default is not set, in which +# case the registry will be used without authentication. #kolla_docker_registry_password: # Kolla OpenStack release version. This should be a Docker image tag. @@ -80,7 +90,7 @@ # kolla_install_type=source. See kolla.common.config for details. # Example: # kolla_sources: -# ironic_base: +# ironic-base: # type: git # location: https://github.com/openstack/ironic # reference: master @@ -139,23 +149,27 @@ # remotely on the target nodes. If None, no virtualenv will be used. #kolla_ansible_target_venv: -# Whether TLS is enabled for the external API endpoints. +# Whether TLS is enabled for the external API endpoints. Default is 'no'. #kolla_enable_tls_external: -# Whether debug logging is enabled. +# Whether TLS is enabled for the internal API endpoints. Default is 'no'. +#kolla_enable_tls_internal: + +# Whether debug logging is enabled. Default is 'false'. #kolla_openstack_logging_debug: # Upper constraints file for installation of Kolla. +# Default value is {{ pip_upper_constraints_file }}. #kolla_upper_constraints_file: -# User account to use for Kolla SSH access. +# User account to use for Kolla SSH access. Default is 'kolla'. #kolla_ansible_user: -# Primary group of Kolla SSH user. +# Primary group of Kolla SSH user. Default is 'kolla'. #kolla_ansible_group: # Whether to use privilege escalation for all operations performed via Kolla -# Ansible. +# Ansible. Default is 'true'. #kolla_ansible_become: ############################################################################### @@ -206,6 +220,7 @@ #kolla_enable_manila_backend_hnas: #kolla_enable_manila_backend_cephfs_native: #kolla_enable_manila_backend_cephfs_nfs: +#kolla_enable_mariabackup: #kolla_enable_mistral: #kolla_enable_monasca: #kolla_enable_mongodb: @@ -258,18 +273,35 @@ ############################################################################### # TLS certificate bundle management -# Optionally copy a TLS certificate bundle into place. +# External API certificate bundle. # -# When enabled, this will copy the contents of kolla_tls_cert into place for -# use by HAproxy. +# When kolla_enable_tls_external is true, this should contain an X.509 +# certificate bundle for the external API. # # Note that this should be formatted as a literal style block scalar. -#kolla_tls_cert: +# +# NOTE: kolla_tls_cert has been renamed to kolla_external_tls_cert. Support for +# the deprecated name kolla_tls_cert will be removed in a future release. +#kolla_external_tls_cert: -# Path to a CA certificate file to use for the OS_CACERT environment variable in -# openrc files when TLS is enabled, instead of Kolla-Ansible's default. +# Path to a CA certificate file to use for the OS_CACERT environment variable +# in public-openrc.sh file when TLS is enabled, instead of Kolla-Ansible's +# default. #kolla_external_fqdn_cacert: +# Internal API certificate bundle. +# +# When kolla_enable_tls_internal is true, this should contain an X.509 +# certificate bundle for the internal API. +# +# Note that this should be formatted as a literal style block scalar. +#kolla_internal_tls_cert: + +# Path to a CA certificate file to use for the OS_CACERT environment variable +# in admin-openrc.sh file when TLS is enabled, instead of Kolla-Ansible's +# default. +#kolla_internal_fqdn_cacert: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index aab560f..e422b98 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -59,6 +59,22 @@ storage_net_name: aio #storage_mgmt_net_name: storage_mgmt_net_name: aio +# Name of the network used to carry ceph storage data traffic. +#ceph_storage_net_name: +ceph_storage_net_name: aio + +# Name of the network used to carry ceph storage management traffic. +#ceph_storage_mgmt_net_name: +ceph_storage_mgmt_net_name: aio + +# Name of the network used to carry swift storage data traffic. +#swift_storage_net_name: +swift_storage_net_name: aio + +# Name of the network used to carry swift storage replication traffic. +#swift_storage_replication_net_name: +swift_storage_replication_net_name: aio + # Name of the network used to perform hardware introspection on the bare metal # workload hosts. #inspection_net_name: diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index f9ef447..b2ad4e9 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "stein". +# Name of the current OpenStack release. Default is "train". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/stein". +# Name of the current OpenStack branch. Default is "stable/train". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/pip.yml b/etc/kayobe/pip.yml index 29a84f0..5b62fcf 100644 --- a/etc/kayobe/pip.yml +++ b/etc/kayobe/pip.yml @@ -1,5 +1,10 @@ --- +# Upper constraints file for installation of python packages. +# Default value is +# "https://releases.openstack.org/constraints/upper/{{ openstack_branch }}" +#pip_upper_constraints_file: + # Use a local PyPi mirror for installing Pip packages #pip_local_mirror: false From ae4bcc722734497106b05ad6fdc82ab9a4a8620b Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Tue, 17 Dec 2019 11:10:35 +0100 Subject: [PATCH 08/57] Sync comment with default value of pip_upper_constraints_file Change-Id: I1662c052f9c1ca6d138e41e0639a77cdc06cb822 --- etc/kayobe/pip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/kayobe/pip.yml b/etc/kayobe/pip.yml index 5b62fcf..e684bd8 100644 --- a/etc/kayobe/pip.yml +++ b/etc/kayobe/pip.yml @@ -2,7 +2,7 @@ # Upper constraints file for installation of python packages. # Default value is -# "https://releases.openstack.org/constraints/upper/{{ openstack_branch }}" +# "https://releases.openstack.org/constraints/upper/{{ openstack_release }}" #pip_upper_constraints_file: # Use a local PyPi mirror for installing Pip packages From d9e25f948513d31738f97f7d2d6cbd23dc98011c Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 23 Apr 2020 15:08:06 +0100 Subject: [PATCH 09/57] CentOS 8: switch to new deploy jobs Change-Id: I08b113322a020ea5f9c950590d8cacd745eeaec8 Story: 2006574 Task: 39539 --- zuul.d/project.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 3e22976..d6e3a37 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -3,12 +3,12 @@ check: jobs: - openstack-tox-pep8 - - kayobe-overcloud-centos - - kayobe-seed-centos + - kayobe-overcloud-centos8 + - kayobe-seed-centos8 gate: queue: kayobe jobs: - openstack-tox-pep8 - - kayobe-overcloud-centos - - kayobe-seed-centos \ No newline at end of file + - kayobe-overcloud-centos8 + - kayobe-seed-centos8 From 0d1538156b9d2534cbb2f383905a7c0835b1489a Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 9 Jun 2020 10:01:47 +0100 Subject: [PATCH 10/57] Synchronise with kayobe-config for Ussuri Synchronises the configuration with kayobe-config prior to creating a stable/ussuri branch. Depends-On: https://review.opendev.org/722326 Change-Id: I70cc73d13ff74e72ac82070337dc07e8047c7769 --- etc/kayobe/bifrost.yml | 24 ++++--- etc/kayobe/compute.yml | 16 ++--- etc/kayobe/controllers.yml | 16 ++--- etc/kayobe/dnf.yml | 67 +++++++++++++++++++ etc/kayobe/hooks/.gitkeep | 0 .../group_vars/compute/network-interfaces | 5 -- .../group_vars/storage/network-interfaces | 10 --- etc/kayobe/kolla.yml | 17 +++-- etc/kayobe/monasca.yml | 18 +++++ etc/kayobe/monitoring.yml | 6 ++ etc/kayobe/networks.yml | 8 --- etc/kayobe/ntp.yml | 42 ++---------- etc/kayobe/openstack.yml | 4 +- etc/kayobe/overcloud.yml | 21 ++---- etc/kayobe/pip.yml | 3 + etc/kayobe/seed-hypervisor.yml | 9 ++- etc/kayobe/seed-vm.yml | 3 +- etc/kayobe/seed.yml | 6 ++ etc/kayobe/storage.yml | 21 ++---- etc/kayobe/time.yml | 12 ++++ etc/kayobe/yum-cron.yml | 2 + etc/kayobe/yum.yml | 3 + 22 files changed, 182 insertions(+), 131 deletions(-) create mode 100644 etc/kayobe/dnf.yml create mode 100644 etc/kayobe/hooks/.gitkeep create mode 100644 etc/kayobe/monasca.yml create mode 100644 etc/kayobe/time.yml diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 60254d2..61710b5 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -14,34 +14,38 @@ ############################################################################### # Diskimage-builder configuration. -# DIB base OS element. +# DIB base OS element. Default is "centos". #kolla_bifrost_dib_os_element: -# DIB image OS release. +# DIB image OS release. Default is "8". #kolla_bifrost_dib_os_release: -# List of default DIB elements. +# List of default DIB elements. Default is ["disable-selinux", +# "enable-serial-console", "vm"]. #kolla_bifrost_dib_elements_default: -# List of additional DIB elements. +# List of additional DIB elements. Default is none. #kolla_bifrost_dib_elements_extra: -# List of DIB elements. +# List of DIB elements. Default is a combination of +# kolla_bifrost_dib_elements_default and kolla_bifrost_dib_elements_extra. #kolla_bifrost_dib_elements: -# DIB init element. +# DIB init element. Default is "cloud-init-datasources". #kolla_bifrost_dib_init_element: -# DIB default environment variables. +# DIB default environment variables. Default is {"DIB_CLOUD_INIT_DATASOURCES": +# "ConfigDrive", "DIB_DISABLE_KERNEL_CLEANUP": 1}. #kolla_bifrost_dib_env_vars_default: -# DIB additional environment variables. +# DIB additional environment variables. Default is none. #kolla_bifrost_dib_env_vars_extra: -# DIB environment variables. +# DIB environment variables. Default is combination of +# kolla_bifrost_dib_env_vars_default and kolla_bifrost_dib_env_vars_extra. #kolla_bifrost_dib_env_vars: -# List of DIB packages to install. +# List of DIB packages to install. Default is to install no extra packages. #kolla_bifrost_dib_packages: ############################################################################### diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index d66c4d5..bc51836 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -54,6 +54,12 @@ # List of software RAID arrays. See mrlesmithjr.mdadm role for format. #compute_mdadm_arrays: +############################################################################### +# Compute node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#compute_luks_devices: + ############################################################################### # Compute node LVM configuration. @@ -89,16 +95,6 @@ # Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. #compute_lvm_group_data_lv_docker_volumes_fs: -############################################################################### -# Compute node Ceph configuration. - -# List of Ceph disks. -# The format is a list of dict like : -# - { osd: "/dev/sdb", journal: "/dev/sdc" } -# - { osd: "/dev/sdd" } -# Journal variable is not mandatory. -#compute_ceph_disks: - ############################################################################### # Compute node sysctl configuration. diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index aa0a6a6..0d9e98d 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -57,6 +57,12 @@ # List of software RAID arrays. See mrlesmithjr.mdadm role for format. #controller_mdadm_arrays: +############################################################################### +# Controller node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#controller_luks_devices: + ############################################################################### # Controller node LVM configuration. @@ -94,16 +100,6 @@ controller_lvm_groups: [] # Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. #controller_lvm_group_data_lv_docker_volumes_fs: -############################################################################### -# Controller node Ceph configuration. - -# List of Ceph disks. -# The format is a list of dict like : -# - { osd: "/dev/sdb", journal: "/dev/sdc" } -# - { osd: "/dev/sdd" } -# Journal variable is not mandatory. -#controller_ceph_disks: - ############################################################################### # Controller node sysctl configuration. diff --git a/etc/kayobe/dnf.yml b/etc/kayobe/dnf.yml new file mode 100644 index 0000000..cf52bb2 --- /dev/null +++ b/etc/kayobe/dnf.yml @@ -0,0 +1,67 @@ +--- +# DNF configuration. + +############################################################################### +# DNF repository configuration. + +# For backwards compatibility, all variables in this section default to the +# equivalently named variables starting with 'yum_' instead of 'dnf_'. +# The yum variables will be removed in a future release. + +# Yum configuration. Dict mapping Yum config option names to their values. +# dnf_config: +# proxy: http://proxy.example.com +#dnf_config: + +# Whether or not to use a local Yum mirror. Default value is 'false'. +#dnf_use_local_mirror: + +# Mirror FQDN for Yum repos. Default value is 'mirror.centos.org'. +#dnf_centos_mirror_host: + +# Mirror directory for Yum CentOS repos. Default value is 'centos'. +#dnf_centos_mirror_directory: + +# Mirror FQDN for Yum EPEL repos. Default value is +# 'download.fedoraproject.org'. +#dnf_epel_mirror_host: + +# Mirror directory for Yum EPEL repos. Default value is 'pub/epel'. +#dnf_epel_mirror_directory: + +# A dict of custom repositories. +# You can see params on +# http://docs.ansible.com/ansible/latest/modules/yum_repository_module.html. +# For example: +# dnf_custom_repos: +# reponame: +# baseurl: http://repo +# file: myrepo +# gpgkey: http://gpgkey +# gpgcheck: yes +#dnf_custom_repos: + +# Whether to install the epel-release package. This affects RedHat-based +# systems only. Default value is 'true'. +#dnf_install_epel: + +############################################################################### +# DNF Automatic configuration. + +# For backwards compatibility, all variables in this section default to the +# equivalently named variables starting with 'yum_cron' instead of +# 'dnf_automatic'. # The yum-cron variables will be removed in a future +# release. + +# Whether DNF Automatic is enabled. This can be used to regularly apply +# security updates. Default value is 'false'. +#dnf_automatic_enabled: + +# DNF Automatic upgrade type. Default value is 'security'. Note that the +# equivalent yum-cron variable is named slightly differently - +# 'yum_cron_update_cmd'. +#dnf_automatic_upgrade_type: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/hooks/.gitkeep b/etc/kayobe/hooks/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/etc/kayobe/inventory/group_vars/compute/network-interfaces b/etc/kayobe/inventory/group_vars/compute/network-interfaces index 1aab473..421f69d 100644 --- a/etc/kayobe/inventory/group_vars/compute/network-interfaces +++ b/etc/kayobe/inventory/group_vars/compute/network-interfaces @@ -22,11 +22,6 @@ # storage_net_bridge_ports: # storage_net_bond_slaves: -# Ceph storage network IP information. -# ceph_storage_net_interface: -# ceph_storage_net_bridge_ports: -# ceph_storage_net_bond_slaves: - ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inventory/group_vars/storage/network-interfaces b/etc/kayobe/inventory/group_vars/storage/network-interfaces index 22654ef..0b0dd5a 100644 --- a/etc/kayobe/inventory/group_vars/storage/network-interfaces +++ b/etc/kayobe/inventory/group_vars/storage/network-interfaces @@ -22,16 +22,6 @@ # storage_mgmt_net_bridge_ports: # storage_mgmt_net_bond_slaves: -# Ceph storage network IP information. -# ceph_storage_net_interface: -# ceph_storage_net_bridge_ports: -# ceph_storage_net_bond_slaves: - -# Ceph storage management network IP information. -# ceph_storage_mgmt_net_interface: -# ceph_storage_mgmt_net_bridge_ports: -# ceph_storage_mgmt_net_bond_slaves: - # Swift storage network IP information. # swift_storage_net_interface: # swift_storage_net_bridge_ports: diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 7541dea..3aa43c3 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -86,6 +86,10 @@ # Default is {{ openstack_release }}. #kolla_openstack_release: +# Docker tag applied to built container images. Default is +# {{ kolla_openstack_release }}. +#kolla_tag: + # Dict mapping names of sources to their definitions for # kolla_install_type=source. See kolla.common.config for details. # Example: @@ -169,9 +173,13 @@ #kolla_ansible_group: # Whether to use privilege escalation for all operations performed via Kolla -# Ansible. Default is 'true'. +# Ansible. Default is 'false'. #kolla_ansible_become: +# Whether to create a user account, configure passwordless sudo and authorise +# an SSH key for Kolla Ansible. Default is 'true'. +#kolla_ansible_create_user: + ############################################################################### # Kolla feature flag configuration. @@ -181,12 +189,6 @@ #kolla_enable_cadf_notifications: #kolla_enable_ceilometer: #kolla_enable_central_logging: -#kolla_enable_ceph: -#kolla_enable_ceph_mds: -#kolla_enable_ceph_nfs: -#kolla_enable_ceph_rgw: -# The chrony container is disabled by default because we enable an NTP daemon -# on the host. Setting this to true will disable NTP on the host. #kolla_enable_chrony: #kolla_enable_cinder: #kolla_enable_cinder_backend_hnas_iscsi: @@ -238,6 +240,7 @@ #kolla_enable_neutron_vpnaas: #kolla_enable_nova_serialconsole_proxy: #kolla_enable_octavia: +#kolla_enable_openstack_core: #kolla_enable_osprofiler: #kolla_enable_panko: #kolla_enable_prometheus: diff --git a/etc/kayobe/monasca.yml b/etc/kayobe/monasca.yml new file mode 100644 index 0000000..235bc37 --- /dev/null +++ b/etc/kayobe/monasca.yml @@ -0,0 +1,18 @@ +--- +############################################################################### +# Monasca configuration. + +# Monasca OpenStack Project name. +# The default is "monasca_control_plane". +#monasca_control_plane_project: + +# Monasca OpenStack Domain name. Default is "default". +#monasca_control_plane_domain: + +# Monasca Grafana Server port. Must match kolla-ansible +# var of the same name. Default is "3001". +#monasca_grafana_server_port: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/monitoring.yml b/etc/kayobe/monitoring.yml index 30690a2..e28e5cc 100644 --- a/etc/kayobe/monitoring.yml +++ b/etc/kayobe/monitoring.yml @@ -54,6 +54,12 @@ # List of software RAID arrays. See mrlesmithjr.mdadm role for format. #monitoring_mdadm_arrays: +############################################################################### +# Monitoring node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#monitoring_luks_devices: + ############################################################################### # Monitoring node LVM configuration. diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index e422b98..216696e 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -59,14 +59,6 @@ storage_net_name: aio #storage_mgmt_net_name: storage_mgmt_net_name: aio -# Name of the network used to carry ceph storage data traffic. -#ceph_storage_net_name: -ceph_storage_net_name: aio - -# Name of the network used to carry ceph storage management traffic. -#ceph_storage_mgmt_net_name: -ceph_storage_mgmt_net_name: aio - # Name of the network used to carry swift storage data traffic. #swift_storage_net_name: swift_storage_net_name: aio diff --git a/etc/kayobe/ntp.yml b/etc/kayobe/ntp.yml index 783c3da..4903b43 100644 --- a/etc/kayobe/ntp.yml +++ b/etc/kayobe/ntp.yml @@ -1,41 +1,13 @@ --- # Kayobe NTP configuration. -############################################################################### -# Timezone. - -# Name of the local timezone. -#timezone: - -############################################################################### -# Network Time Protocol (NTP). - -# Whether to enable the NTP daemon on the host. Default is true unless -# 'kolla_enable_chrony' has been set to true on overcloud hosts. -#ntp_service_enabled: - -# List of names of NTP servers. -#ntp_config_server: - -# List of NTP restrictions to add to ntp.conf. -#ntp_config_restrict: - -# List of addresses for NTP daemon to listen on. -#ntp_config_listen: - -# Other NTP configuration options. -#ntp_config_filegen: -#ntp_config_statistics: -#ntp_config_crypto: -#ntp_config_includefile: -#ntp_config_keys: -#ntp_config_trustedkey: -#ntp_config_requestkey: -#ntp_config_controlkey: -#ntp_config_broadcast: -#ntp_config_broadcastclient: -#ntp_config_multicastclient: -#ntp_config_tinker_panic_enabled: +# Timezone configuration has moved to time.yml. +# +# Support for running an NTP daemon on the host is no longer available. +# Instead the Kolla Ansible 'chrony' container is deployed by default. Set +# 'kolla_enable_chrony' to 'false' in kolla.yml to disable it. +# +# This file will be removed in the Victoria release. ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index b2ad4e9..7a29298 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "train". +# Name of the current OpenStack release. Default is "ussuri". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/train". +# Name of the current OpenStack branch. Default is "stable/ussuri". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud.yml b/etc/kayobe/overcloud.yml index 0764600..c6d692e 100644 --- a/etc/kayobe/overcloud.yml +++ b/etc/kayobe/overcloud.yml @@ -19,23 +19,14 @@ ############################################################################### # Overcloud host image configuration. -# The CentOS cloud images from 7.2 (1511) onwards have a bogus name server -# entry in /etc/resolv.conf, 10.0.2.3. Cloud-init only appends name server -# entries to this file, and will not remove this bogus entry. Typically this -# leads to a delay of around 30 seconds when connecting via SSH, due to a -# timeout in NSS. The workaround employed here is to remove this bogus entry -# from the image using virt-customize, if it exists. See -# https://bugs.centos.org/view.php?id=14369. +# The CentOS cloud images have a bogus name server entry in /etc/resolv.conf, +# 192.168.122.1. Cloud-init only appends name server entries to this file, and +# will not remove this bogus entry. Typically this leads to a delay of around +# 30 seconds when connecting via SSH, due to a timeout in NSS. The workaround +# employed here is to remove this bogus entry from the image using +# virt-customize, if it exists. See https://bugs.centos.org/view.php?id=14369. #overcloud_host_image_workaround_resolv_enabled: -# Workaround a CentOS 7.5 bug: cloud-init 0.7.9-24 does not correctly set -# an IP address for VLAN subinterfaces configured with the Openstack metadata -# format/Config drive. # See, https://bugs.centos.org/view.php?id=14964. -#overcloud_host_image_workaround_cloud_init_enabled: - -# cloud-init repository for overcloud_host_image_workaround_cloud_init_enabled -#overcloud_host_image_workaround_cloud_init_repo: - ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/pip.yml b/etc/kayobe/pip.yml index e684bd8..563c3ce 100644 --- a/etc/kayobe/pip.yml +++ b/etc/kayobe/pip.yml @@ -23,6 +23,9 @@ # disabled #pip_trusted_hosts: [] +# PyPI proxy URL (format: http(s)://[user:password@]proxy_name:port) +#pip_proxy: "" + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 8f928a7..1ef8988 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -24,6 +24,12 @@ # List of software RAID arrays. See mrlesmithjr.mdadm role for format. #seed_hypervisor_mdadm_arrays: +############################################################################### +# Seed hypervisor node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#seed_hypervisor_luks_devices: + ############################################################################### # Seed hypervisor node LVM configuration. @@ -67,9 +73,6 @@ # Name of the libvirt storage pool for the seed VM. #seed_hypervisor_libvirt_pool_name: -# Capacity of the libvirt storage pool for the seed VM. -#seed_hypervisor_libvirt_pool_capacity: - # Directory path of the libvirt storage pool for the seed VM. #seed_hypervisor_libvirt_pool_path: diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index 897fe49..4e33cb0 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -23,7 +23,8 @@ # Format of the seed VM root volume. #seed_vm_root_format: -# Base image for the seed VM root volume. +# Base image for the seed VM root volume. Default is +# "https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2". #seed_vm_root_image: # Capacity of the seed VM data volume. diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index 8e68199..2e9c6da 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -24,6 +24,12 @@ # List of software RAID arrays. See mrlesmithjr.mdadm role for format. #seed_mdadm_arrays: +############################################################################### +# Seed node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#seed_luks_devices: + ############################################################################### # LVM configuration. diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index 18e522f..6245537 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -18,11 +18,6 @@ # List of extra networks to which storage nodes are attached. #storage_extra_network_interfaces: -# Whether this host requires access to Ceph networks. -#storage_needs_ceph_network: - -#storage_needs_ceph_mgmt_network: - # Whether this host requires access to Swift networks. #storage_needs_swift_network: @@ -64,6 +59,12 @@ # List of software RAID arrays. See mrlesmithjr.mdadm role for format. #storage_mdadm_arrays: +############################################################################### +# Storage node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#storage_luks_devices: + ############################################################################### # Storage node LVM configuration. @@ -99,16 +100,6 @@ # Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. #storage_lvm_group_data_lv_docker_volumes_fs: -############################################################################### -# Storage node Ceph configuration. - -# List of Ceph disks. -# The format is a list of dict like : -# - { osd: "/dev/sdb", journal: "/dev/sdc" } -# - { osd: "/dev/sdd" } -# Journal variable is not mandatory. -#storage_ceph_disks: - ############################################################################### # Storage node sysctl configuration. diff --git a/etc/kayobe/time.yml b/etc/kayobe/time.yml new file mode 100644 index 0000000..c0a86d7 --- /dev/null +++ b/etc/kayobe/time.yml @@ -0,0 +1,12 @@ +--- +# Kayobe time configuration. + +############################################################################### +# Timezone. + +# Name of the local timezone. +#timezone: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/yum-cron.yml b/etc/kayobe/yum-cron.yml index 7ac502e..a93e8c4 100644 --- a/etc/kayobe/yum-cron.yml +++ b/etc/kayobe/yum-cron.yml @@ -1,4 +1,6 @@ --- +# DEPRECATED: Variables in this file are deprecated and will be removed in a +# future release. Please use dnf.yml instead. # Whether to enable Yum automatic updates. #yum_cron_enabled: false diff --git a/etc/kayobe/yum.yml b/etc/kayobe/yum.yml index 985ab92..31f16ce 100644 --- a/etc/kayobe/yum.yml +++ b/etc/kayobe/yum.yml @@ -1,4 +1,7 @@ --- +# DEPRECATED: Variables in this file are deprecated and will be removed in a +# future release. Please use dnf.yml instead. + # Yum configuration. Dict mapping Yum config option names to their values. # yum_config: # proxy: http://proxy.example.com From 379ecf8681611dd7e7e5e4b45170fe0f84605b5e Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 23 Apr 2020 14:23:51 +0100 Subject: [PATCH 11/57] Remove empty default LVM configuration Since this configuration uses the overlay storage driver, it doesn't require the LVM data volume group, previously we set the list of VGs to empty. Kayobe in Ussuri is modifying the default configuration such that the VG list will be empty by default unless using the devicemapper driver. This change removes the VG configuration override. Depends-On: https://review.opendev.org/722316 Change-Id: I0ebe05baa67ea71b3df77f2e7f7870a237e4cb23 Story: 2005667 Task: 39537 --- etc/kayobe/controllers.yml | 2 -- etc/kayobe/seed.yml | 5 +---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index 0d9e98d..e236955 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -69,8 +69,6 @@ # List of controller volume groups. See mrlesmithjr.manage-lvm role for # format. #controller_lvm_groups: -# Don't create any LVM groups - use overlay docker storage driver. -controller_lvm_groups: [] # Default list of controller volume groups. See mrlesmithjr.manage-lvm role for # format. diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index 2e9c6da..3326c24 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -35,9 +35,7 @@ # List of seed volume groups. See mrlesmithjr.manage-lvm role for # format. -# NOTE: We set this to an empty list here because the default Docker storage -# driver (overlay) does not require any LVM groups. -seed_lvm_groups: [] +#seed_lvm_groups: # Default list of seed volume groups. See mrlesmithjr.manage-lvm role for # format. @@ -61,7 +59,6 @@ seed_lvm_groups: [] # Size of docker volumes LVM backing volume. #seed_lvm_group_data_lv_docker_volumes_size: -seed_lvm_group_data_lv_docker_volumes_size: 50%VG # Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. #seed_lvm_group_data_lv_docker_volumes_fs: From 252bceaf9631620845bd8913156bd0a1af509993 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 5 Dec 2017 15:44:41 +0000 Subject: [PATCH 12/57] Add seed-hypervisor host Used for testing seed VM provisioning. Change-Id: I2c96a91b9c55480301d543850d58982d74f2ebfb --- .../inventory/group_vars/seed-hypervisor/network-interfaces | 3 +++ etc/kayobe/inventory/hosts | 3 +-- etc/kayobe/network-allocation.yml | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces diff --git a/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces b/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces new file mode 100644 index 0000000..3ed2972 --- /dev/null +++ b/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces @@ -0,0 +1,3 @@ +--- +aio_interface: braio +aio_bridge_ports: [] diff --git a/etc/kayobe/inventory/hosts b/etc/kayobe/inventory/hosts index b577629..7a7ee83 100644 --- a/etc/kayobe/inventory/hosts +++ b/etc/kayobe/inventory/hosts @@ -3,8 +3,7 @@ localhost ansible_connection=local [seed-hypervisor] -# Add a seed hypervisor node here if required. This host will run a seed node -# Virtual Machine. +seed-hypervisor [seed] seed diff --git a/etc/kayobe/network-allocation.yml b/etc/kayobe/network-allocation.yml index 350819c..cb05f43 100644 --- a/etc/kayobe/network-allocation.yml +++ b/etc/kayobe/network-allocation.yml @@ -1,4 +1,5 @@ --- aio_ips: controller0: 192.168.33.3 + seed-hypervisor: 192.168.33.4 seed: 192.168.33.5 From ae18991c86042f2fda1a60d7dc8ca8e46a8d0937 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 23 Apr 2020 14:38:10 +0100 Subject: [PATCH 13/57] CI: switch to Docker overlay2 storage driver by default We are planning to switch to this driver by default. Given that we are currently not testing the devicemapper default, let's start testing overlay2. Change-Id: I71afc71df595b65d57ce09dc625c724a036b0e87 Story: 2005667 Task: 39538 --- etc/kayobe/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/kayobe/docker.yml b/etc/kayobe/docker.yml index 6e70a4b..b8710cb 100644 --- a/etc/kayobe/docker.yml +++ b/etc/kayobe/docker.yml @@ -3,7 +3,7 @@ # Docker configuration. # Name of the docker storage driver. Default is 'devicemapper'. -docker_storage_driver: overlay +docker_storage_driver: overlay2 # Name of the docker storage LVM volume group. #docker_storage_volume_group: From a4cd89d5780ee236b5e6bd2cf4eeaa1119266819 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 2 Jul 2020 16:57:36 +0100 Subject: [PATCH 14/57] CI: Add all kayobe jobs Ensure we are properly testing changes to the dev/test config. Change-Id: Ic67a6e325cfb65422d4020bf6e64f038688fc26f --- zuul.d/project.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index d6e3a37..12cfcca 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -4,11 +4,19 @@ jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8 + - kayobe-overcloud-host-configure-centos8 + - kayobe-overcloud-upgrade-centos8 - kayobe-seed-centos8 + - kayobe-seed-upgrade-centos8 + - kayobe-seed-vm-centos8 gate: queue: kayobe jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8 + - kayobe-overcloud-host-configure-centos8 + - kayobe-overcloud-upgrade-centos8 - kayobe-seed-centos8 + - kayobe-seed-upgrade-centos8 + - kayobe-seed-vm-centos8 From 02619c16286341f1074420b66405b3e536197220 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Mon, 16 Nov 2020 11:49:46 +0000 Subject: [PATCH 15/57] Sync configs with kayobe @ 074024d63f9cb364ca16a7a7f0ac94d77ee9466b Change-Id: I1c4e7c1bdcf40a066385f65341486abeb5c192b0 --- etc/kayobe/bifrost.yml | 12 +++++ etc/kayobe/ceph.yml | 11 ---- etc/kayobe/compute.yml | 9 +++- etc/kayobe/controllers.yml | 15 +++++- etc/kayobe/dnf.yml | 13 +---- etc/kayobe/docker-registry.yml | 26 ++++++++-- etc/kayobe/docker.yml | 4 +- etc/kayobe/inspector.yml | 7 +++ etc/kayobe/ipa.yml | 24 +++++++-- etc/kayobe/kolla.yml | 92 +++++++++++++++++++++++++++++++--- etc/kayobe/openstack.yml | 4 +- etc/kayobe/seed-vm.yml | 18 ++++++- etc/kayobe/seed.yml | 35 ++++++++++--- etc/kayobe/storage.yml | 9 +++- etc/kayobe/yum-cron.yml | 12 ----- etc/kayobe/yum.yml | 40 --------------- 16 files changed, 228 insertions(+), 103 deletions(-) delete mode 100644 etc/kayobe/ceph.yml delete mode 100644 etc/kayobe/yum-cron.yml delete mode 100644 etc/kayobe/yum.yml diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 61710b5..bd7e97e 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -11,6 +11,10 @@ # {{ openstack_branch }}. #kolla_bifrost_source_version: +# Firewalld zone used by Bifrost. Default is "trusted", to avoid blocking other +# services running on the seed host. +#kolla_bifrost_firewalld_internal_zone: + ############################################################################### # Diskimage-builder configuration. @@ -54,6 +58,10 @@ # List of hardware types to enable for Bifrost's Ironic. #kolla_bifrost_enabled_hardware_types: +# List of extra kernel parameters for Bifrost's Ironic PXE configuration. +# Default is empty. +#kolla_bifrost_extra_kernel_options: + ############################################################################### # Ironic Inspector configuration. @@ -86,6 +94,10 @@ # Ironic inspector deployment ramdisk location. #kolla_bifrost_inspector_deploy_ramdisk: +# Timeout of hardware inspection on overcloud nodes, in seconds. Default is +# {{ inspector_inspection_timeout }}. +#kolla_bifrost_inspection_timeout: + ############################################################################### # Ironic Python Agent (IPA) configuration. diff --git a/etc/kayobe/ceph.yml b/etc/kayobe/ceph.yml deleted file mode 100644 index b54faf3..0000000 --- a/etc/kayobe/ceph.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -############################################################################### -# OpenStack Ceph configuration. - -# Ansible host pattern matching hosts on which Ceph storage services -# are deployed. The default is to use hosts in the 'storage' group. -#ceph_hosts: - -############################################################################### -# Dummy variable to allow Ansible to accept this file. -workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index bc51836..ab47953 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -7,7 +7,7 @@ #compute_bootstrap_user: ############################################################################### -# Network interface attachments. +# Compute network interface configuration. # List of networks to which compute nodes are attached. #compute_network_interfaces: @@ -75,6 +75,13 @@ # for format. #compute_lvm_groups_extra: +# Whether a 'data' LVM volume group should exist on compute hosts. By default +# this contains a 'docker-volumes' logical volume for Docker volume storage. It +# will also be used for Docker container and image storage if +# 'docker_storage_driver' is set to 'devicemapper'. Default is true if +# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +#compute_lvm_group_data_enabled: + # Compute LVM volume group for data. See mrlesmithjr.manage-lvm role for # format. #compute_lvm_group_data: diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index e236955..2fbe85b 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -7,7 +7,7 @@ #controller_bootstrap_user: ############################################################################### -# Network interface attachments. +# Controller network interface configuration. # List of networks to which controller nodes are attached. #controller_network_interfaces: @@ -21,6 +21,12 @@ # List of network interfaces to which network nodes are attached. #controller_network_host_network_interfaces: +# List of default network interfaces to which network nodes are attached. +#controller_network_host_default_network_interfaces: + +# List of extra networks to which network nodes are attached. +#controller_network_host_extra_network_interfaces: + ############################################################################### # Controller node BIOS configuration. @@ -78,6 +84,13 @@ # for format. #controller_lvm_groups_extra: +# Whether a 'data' LVM volume group should exist on controller hosts. By +# default this contains a 'docker-volumes' logical volume for Docker volume +# storage. It will also be used for Docker container and image storage if +# 'docker_storage_driver' is set to 'devicemapper'. Default is true if +# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +#controller_lvm_group_data_enabled: + # Controller LVM volume group for data. See mrlesmithjr.manage-lvm role for # format. #controller_lvm_group_data: diff --git a/etc/kayobe/dnf.yml b/etc/kayobe/dnf.yml index cf52bb2..cf09b86 100644 --- a/etc/kayobe/dnf.yml +++ b/etc/kayobe/dnf.yml @@ -4,10 +4,6 @@ ############################################################################### # DNF repository configuration. -# For backwards compatibility, all variables in this section default to the -# equivalently named variables starting with 'yum_' instead of 'dnf_'. -# The yum variables will be removed in a future release. - # Yum configuration. Dict mapping Yum config option names to their values. # dnf_config: # proxy: http://proxy.example.com @@ -48,18 +44,11 @@ ############################################################################### # DNF Automatic configuration. -# For backwards compatibility, all variables in this section default to the -# equivalently named variables starting with 'yum_cron' instead of -# 'dnf_automatic'. # The yum-cron variables will be removed in a future -# release. - # Whether DNF Automatic is enabled. This can be used to regularly apply # security updates. Default value is 'false'. #dnf_automatic_enabled: -# DNF Automatic upgrade type. Default value is 'security'. Note that the -# equivalent yum-cron variable is named slightly differently - -# 'yum_cron_update_cmd'. +# DNF Automatic upgrade type. Default value is 'security'. #dnf_automatic_upgrade_type: ############################################################################### diff --git a/etc/kayobe/docker-registry.yml b/etc/kayobe/docker-registry.yml index 85308a4..7ba79ed 100644 --- a/etc/kayobe/docker-registry.yml +++ b/etc/kayobe/docker-registry.yml @@ -2,7 +2,7 @@ ############################################################################### # Docker registry configuration. -# Whether a docker registry is enabled. +# Whether a docker registry is enabled. Default is false. #docker_registry_enabled: # Dict of environment variables to provide to the docker registry container. @@ -11,12 +11,32 @@ # For example, the registry can be configured as a pull through cache to Docker # Hub by setting REGISTRY_PROXY_REMOTEURL to "https://registry-1.docker.io". # Note that it is not possible to push to a registry configured as a -# pull through cache. +# pull through cache. Default is an empty dict. #docker_registry_env: -# The port on which the docker registry server should listen. +# The port on which the docker registry server should listen. Default is 4000. #docker_registry_port: +# Name or path to use as the volume for the docker registry. Default is +# 'docker_registry'. +#docker_registry_datadir_volume: + +# Whether to enable TLS for the registry. Default is false. +#docker_registry_enable_tls: + +# Path to a TLS certificate to use when TLS is enabled. Default is none. +#docker_registry_cert_path: + +# Path to a TLS key to use when TLS is enabled. Default is none. +#docker_registry_key_path: + +# Whether to enable basic authentication for the registry. Default is false. +#docker_registry_enable_basic_auth: + +# Path to a htpasswd formatted password store for the registry. Default is +# none. +#docker_registry_basic_auth_htpasswd_path: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/docker.yml b/etc/kayobe/docker.yml index b8710cb..4ec00a1 100644 --- a/etc/kayobe/docker.yml +++ b/etc/kayobe/docker.yml @@ -2,8 +2,8 @@ ############################################################################### # Docker configuration. -# Name of the docker storage driver. Default is 'devicemapper'. -docker_storage_driver: overlay2 +# Name of the docker storage driver. Default is 'overlay2'. +#docker_storage_driver: # Name of the docker storage LVM volume group. #docker_storage_volume_group: diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index b99780e..9e5f054 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -1,4 +1,11 @@ --- +############################################################################### +# General configuration of inspection. + +# Timeout of hardware inspection on baremetal compute nodes, in seconds. +# Default is 1200. +#inspector_inspection_timeout: + ############################################################################### # Ironic inspector PXE configuration. diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index c0ad6c8..f764db2 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -13,15 +13,24 @@ # Version of IPA source repository. Default is {{ openstack_branch }}. #ipa_build_source_version: +# URL of IPA builder source repository. +#ipa_builder_source_url: + +# Version of IPA builder source repository. Default is master. +#ipa_build_source_version: + # List of default Diskimage Builder (DIB) elements to use when building IPA -# images. +# images. Default is ["centos", "enable-serial-console", +# "ironic-python-agent-ramdisk"]. #ipa_build_dib_elements_default: # List of additional Diskimage Builder (DIB) elements to use when building IPA -# images. +# images. Default is none. #ipa_build_dib_elements_extra: # List of Diskimage Builder (DIB) elements to use when building IPA images. +# Default is combination of ipa_build_dib_elements_default and +# ipa_build_dib_elements_extra. #ipa_build_dib_elements: # Dictionary of default environment variables to provide to Diskimage Builder @@ -36,8 +45,17 @@ # during IPA image build. #ipa_build_dib_env: +# List of default git repositories containing Diskimage Builder (DIB) elements. +# See stackhpc.os-images role for usage. Default is one item for IPA builder. +#ipa_build_dib_git_elements_default: + +# List of additional git repositories containing Diskimage Builder (DIB) +# elements. See stackhpc.os-images role for usage. Default is empty. +#ipa_build_dib_git_elements_extra: + # List of git repositories containing Diskimage Builder (DIB) elements. See -# stackhpc.os-images role for usage. +# stackhpc.os-images role for usage. Default is a combination of +# ipa_build_dib_git_elements_default and ipa_build_dib_git_elements_extra. #ipa_build_dib_git_elements: # List of DIB packages to install. Default is none. diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 3aa43c3..ae7a4a9 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -120,6 +120,17 @@ # Full custom seed inventory contents. #kolla_seed_inventory_custom: +# List of names of host variables to pass through from kayobe hosts to +# the kolla-ansible seed host, if set. See also +# kolla_seed_inventory_pass_through_host_vars_map. +#kolla_seed_inventory_pass_through_host_vars: + +# Dict mapping names of variables in +# kolla_seed_inventory_pass_through_host_vars to the variable to use in +# kolla-ansible. If a variable name is not in this mapping the kayobe name is +# used. +#kolla_seed_inventory_pass_through_host_vars_map: + # Custom overcloud inventory containing a mapping from top level groups to # hosts. #kolla_overcloud_inventory_custom_top_level: @@ -146,6 +157,17 @@ # have no hosts mapped to them will be provided with an empty group definition. #kolla_overcloud_inventory_kolla_top_level_groups: +# List of names of host variables to pass through from kayobe hosts to +# kolla-ansible hosts, if set. See also +# kolla_overcloud_inventory_pass_through_host_vars_map. +#kolla_overcloud_inventory_pass_through_host_vars: + +# Dict mapping names of variables in +# kolla_overcloud_inventory_pass_through_host_vars to the variable to use in +# kolla-ansible. If a variable name is not in this mapping the kayobe name is +# used. +#kolla_overcloud_inventory_pass_through_host_vars_map: + ############################################################################### # Kolla-ansible configuration. @@ -188,64 +210,117 @@ #kolla_enable_blazar: #kolla_enable_cadf_notifications: #kolla_enable_ceilometer: +#kolla_enable_ceilometer_ipmi: +#kolla_enable_cells: #kolla_enable_central_logging: #kolla_enable_chrony: #kolla_enable_cinder: -#kolla_enable_cinder_backend_hnas_iscsi: #kolla_enable_cinder_backend_hnas_nfs: #kolla_enable_cinder_backend_iscsi: #kolla_enable_cinder_backend_lvm: #kolla_enable_cinder_backend_nfs: +#kolla_enable_cinder_backend_quobyte: #kolla_enable_cinder_backend_zfssa_iscsi: +#kolla_enable_cinder_backup: #kolla_enable_cloudkitty: -#kolla_enable_congress: +#kolla_enable_collectd: +#kolla_enable_cyborg: #kolla_enable_designate: +#kolla_enable_destroy_images: +#kolla_enable_elasticsearch: #kolla_enable_etcd: #kolla_enable_fluentd: #kolla_enable_freezer: +#kolla_enable_glance: #kolla_enable_gnocchi: #kolla_enable_grafana: #kolla_enable_haproxy: #kolla_enable_heat: #kolla_enable_horizon: +#kolla_enable_horizon_blazar: +#kolla_enable_horizon_cloudkitty: +#kolla_enable_horizon_congress: +#kolla_enable_horizon_designate: +#kolla_enable_horizon_freezer: +#kolla_enable_horizon_heat: +#kolla_enable_horizon_ironic: +#kolla_enable_horizon_karbor: +#kolla_enable_horizon_magnum: +#kolla_enable_horizon_manila: +#kolla_enable_horizon_masakari: +#kolla_enable_horizon_mistral: +#kolla_enable_horizon_murano: +#kolla_enable_horizon_neutron_vpnaas: +#kolla_enable_horizon_octavia: +#kolla_enable_horizon_qinling: +#kolla_enable_horizon_sahara: +#kolla_enable_horizon_searchlight: +#kolla_enable_horizon_senlin: +#kolla_enable_horizon_solum: +#kolla_enable_horizon_tacker: +#kolla_enable_horizon_trove: +#kolla_enable_horizon_vitrage: +#kolla_enable_horizon_watcher: +#kolla_enable_horizon_zun: +#kolla_enable_hyperv: #kolla_enable_influxdb: #kolla_enable_ironic: #kolla_enable_ironic_ipxe: +#kolla_enable_ironic_neutron_agent: #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: +#kolla_enable_kafka: #kolla_enable_karbor: +#kolla_enable_keepalived: #kolla_enable_keystone: +#kolla_enable_kibana: #kolla_enable_kuryr: #kolla_enable_magnum: #kolla_enable_manila: -#kolla_enable_manila_backend_generic: -#kolla_enable_manila_backend_hnas: #kolla_enable_manila_backend_cephfs_native: #kolla_enable_manila_backend_cephfs_nfs: +#kolla_enable_manila_backend_generic: +#kolla_enable_manila_backend_hnas: #kolla_enable_mariabackup: +#kolla_enable_mariadb: +#kolla_enable_masakari: +#kolla_enable_memcached: #kolla_enable_mistral: #kolla_enable_monasca: -#kolla_enable_mongodb: #kolla_enable_multipathd: #kolla_enable_murano: +#kolla_enable_neutron: #kolla_enable_neutron_agent_ha: #kolla_enable_neutron_bgp_dragent: #kolla_enable_neutron_dvr: -#kolla_enable_neutron_fwaas: -#kolla_enable_neutron_lbaas: +#kolla_enable_neutron_infoblox_ipam_agent: +#kolla_enable_neutron_metering: +#kolla_enable_neutron_mlnx: +#kolla_enable_neutron_port_forwarding: #kolla_enable_neutron_provider_networks: #kolla_enable_neutron_qos: #kolla_enable_neutron_segments: +#kolla_enable_neutron_sfc: #kolla_enable_neutron_sriov: #kolla_enable_neutron_vpnaas: +#kolla_enable_nova: #kolla_enable_nova_serialconsole_proxy: +#kolla_enable_nova_ssh: #kolla_enable_octavia: +#kolla_enable_onos: #kolla_enable_openstack_core: +#kolla_enable_openvswitch: #kolla_enable_osprofiler: +#kolla_enable_outward_rabbitmq: +#kolla_enable_ovs_dpdk: #kolla_enable_panko: +#kolla_enable_placement: #kolla_enable_prometheus: #kolla_enable_qdrouterd: +#kolla_enable_qinling: +#kolla_enable_rabbitmq: #kolla_enable_rally: +#kolla_enable_redis: #kolla_enable_sahara: #kolla_enable_searchlight: #kolla_enable_senlin: @@ -253,13 +328,16 @@ #kolla_enable_solum: #kolla_enable_storm: #kolla_enable_swift: +#kolla_enable_swift_s3api: #kolla_enable_tacker: #kolla_enable_telegraf: #kolla_enable_tempest: #kolla_enable_trove: +#kolla_enable_trove_singletenant: #kolla_enable_vitrage: #kolla_enable_vmtp: #kolla_enable_watcher: +#kolla_enable_zookeeper: #kolla_enable_zun: ############################################################################### diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index 7a29298..fcae97f 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "ussuri". +# Name of the current OpenStack release. Default is "victoria". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/ussuri". +# Name of the current OpenStack branch. Default is "stable/victoria". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index 4e33cb0..7e574f8 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -24,7 +24,7 @@ #seed_vm_root_format: # Base image for the seed VM root volume. Default is -# "https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2". +# "https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64.qcow2". #seed_vm_root_image: # Capacity of the seed VM data volume. @@ -33,6 +33,22 @@ # Format of the seed VM data volume. #seed_vm_data_format: +# List of network interfaces to attach to the seed VM. Format is as accepted by +# the stackhpc.libvirt-vm role's libvirt_vms.interfaces variable. Default is +# one interface for each network in 'network_interfaces'. +# +# Example with one interface connected to a libvirt network called +# 'libvirt-net', and another interface directly plugged into a host device +# called 'eth1': +# +# seed_vm_interfaces: +# - network: libvirt-net +# - type: direct +# source: +# dev: eth1 +# +#seed_vm_interfaces: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index 3326c24..e0b5e0d 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -7,7 +7,7 @@ #seed_bootstrap_user: ############################################################################### -# Network interface attachments. +# Seed network interface configuration. # List of networks to which seed nodes are attached. #seed_network_interfaces: @@ -31,24 +31,31 @@ #seed_luks_devices: ############################################################################### -# LVM configuration. +# Seed node LVM configuration. -# List of seed volume groups. See mrlesmithjr.manage-lvm role for -# format. +# List of seed volume groups. See mrlesmithjr.manage-lvm role for format. #seed_lvm_groups: # Default list of seed volume groups. See mrlesmithjr.manage-lvm role for # format. #seed_lvm_groups_default: -# Additional list of seed volume groups. See mrlesmithjr.manage-lvm role -# for format. +# Additional list of seed volume groups. See mrlesmithjr.manage-lvm role for +# format. #seed_lvm_groups_extra: +# Whether a 'data' LVM volume group should exist on the seed. By default this +# contains a 'docker-volumes' logical volume for Docker volume storage. It will +# also be used for Docker container and image storage if +# 'docker_storage_driver' is set to 'devicemapper'. Default is true if +# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +#seed_lvm_group_data_enabled: + # Seed LVM volume group for data. See mrlesmithjr.manage-lvm role for format. #seed_lvm_group_data: -# List of disks for use by seed LVM data volume group. +# List of disks for use by seed LVM data volume group. Default to an invalid +# value to require configuration. #seed_lvm_group_data_disks: # List of LVM logical volumes for the data volume group. @@ -76,6 +83,20 @@ # singleplatform-eng.users role. #seed_users: +############################################################################### +# Seed node additional containers configuration + +# Dict of container images to start +# Example: +# seed_containers: +# squid: +# name: "squid" +# image: "stackhpc/squid:3.5.20-1" +# pre: "{{ kayobe_config_path }}/containers/squid/pre.yml" +# post: "{{ kayobe_config_path }}/containers/squid/post.yml" +# +#seed_containers: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index 6245537..c8ee66f 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -7,7 +7,7 @@ #storage_bootstrap_user: ############################################################################### -# Network interface attachments. +# Storage network interface configuration. # List of networks to which storage nodes are attached. #storage_network_interfaces: @@ -80,6 +80,13 @@ # for format. #storage_lvm_groups_extra: +# Whether a 'data' LVM volume group should exist on storage hosts. By default +# this contains a 'docker-volumes' logical volume for Docker volume storage. It +# will also be used for Docker container and image storage if +# 'docker_storage_driver' is set to 'devicemapper'. Default is true if +# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +#storage_lvm_group_data_enabled: + # Storage LVM volume group for data. See mrlesmithjr.manage-lvm role for # format. #storage_lvm_group_data: diff --git a/etc/kayobe/yum-cron.yml b/etc/kayobe/yum-cron.yml deleted file mode 100644 index a93e8c4..0000000 --- a/etc/kayobe/yum-cron.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -# DEPRECATED: Variables in this file are deprecated and will be removed in a -# future release. Please use dnf.yml instead. - -# Whether to enable Yum automatic updates. -#yum_cron_enabled: false -# Command to use for Yum automatic updates. -#yum_cron_update_cmd: 'security' - -############################################################################### -# Dummy variable to allow Ansible to accept this file. -workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/yum.yml b/etc/kayobe/yum.yml deleted file mode 100644 index 31f16ce..0000000 --- a/etc/kayobe/yum.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -# DEPRECATED: Variables in this file are deprecated and will be removed in a -# future release. Please use dnf.yml instead. - -# Yum configuration. Dict mapping Yum config option names to their values. -# yum_config: -# proxy: http://proxy.example.com -#yum_config: - -# Whether or not to use a local Yum mirror. -#yum_use_local_mirror: false - -# Mirror FQDN for Yum repos. -#yum_centos_mirror_host: 'mirror.centos.org' - -# Mirror directory for Yum CentOS repos. -#yum_centos_mirror_directory: 'centos' -# Mirror FQDN for Yum EPEL repos. -#yum_epel_mirror_host: 'download.fedoraproject.org' -# Mirror directory for Yum EPEL repos. -#yum_epel_mirror_directory: 'pub/epel' -# A dict of custom repositories. -# You can see params on -# http://docs.ansible.com/ansible/latest/modules/yum_repository_module.html. -# For example: -# yum_custom_repos: -# reponame: -# baseurl: http://repo -# file: myrepo -# gpgkey: http://gpgkey -# gpgcheck: yes -#yum_custom_repos: - -# Whether to install the epel-release package. This affects RedHat-based -# systems only. -#yum_install_epel: - -############################################################################### -# Dummy variable to allow Ansible to accept this file. -workaround_ansible_issue_8743: yes From 21f972fb85140f683c94bc0d7de033498c305c26 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 19 Nov 2020 10:24:03 +0000 Subject: [PATCH 16/57] Update TOX_CONSTRAINTS_FILE UPPER_CONSTRAINTS_FILE is old name and deprecated -https://zuul-ci.org/docs/zuul-jobs/python-roles.html#rolevar-tox.tox_constraints_file This allows to use lower-constraints file as more readable way instead of UPPER_CONSTRAINTS_FILE=. Change-Id: Ie89a62e7d50402f0d5afcbbedc4a56f177cf54b6 --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 9f1d512..7467ea5 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ skipsdist = True [testenv] install_command = pip install {opts} {packages} deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt [testenv:pep8] From a35be1985816218355aaff20c3c7419ad96f5fe7 Mon Sep 17 00:00:00 2001 From: Ghanshyam Mann Date: Sat, 28 Nov 2020 09:04:56 -0600 Subject: [PATCH 17/57] Remove retired Qinling support Qinling project is retiring in Wallaby cycle[1]. This commit removes the usages/support of Qinling project before its code is removed. Needed-By: https://review.opendev.org/c/openstack/qinling/+/764521 [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018638.html Change-Id: I588c83e685c80212b1ddd1c3021cf2a13f1dc299 --- etc/kayobe/kolla.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index ae7a4a9..8e4d4f4 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -252,7 +252,6 @@ #kolla_enable_horizon_murano: #kolla_enable_horizon_neutron_vpnaas: #kolla_enable_horizon_octavia: -#kolla_enable_horizon_qinling: #kolla_enable_horizon_sahara: #kolla_enable_horizon_searchlight: #kolla_enable_horizon_senlin: @@ -317,7 +316,6 @@ #kolla_enable_placement: #kolla_enable_prometheus: #kolla_enable_qdrouterd: -#kolla_enable_qinling: #kolla_enable_rabbitmq: #kolla_enable_rally: #kolla_enable_redis: From 0912b1e9f367903fafeef53c68c6c69c97ada33a Mon Sep 17 00:00:00 2001 From: Ghanshyam Mann Date: Sat, 28 Nov 2020 16:49:46 -0600 Subject: [PATCH 18/57] Remove retired Searchlight support Searchlight project is retiring in Wallaby cycle[1]. This commit removes the usage of Searchlight project before its code is removed. Needed-By: https://review.opendev.org/c/openstack/searchlight/+/764526 [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018637.html Change-Id: I7823e61620ad79d521f885c2cc8dc5c34901e777 --- etc/kayobe/kolla.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index ae7a4a9..23f0c42 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -254,7 +254,6 @@ #kolla_enable_horizon_octavia: #kolla_enable_horizon_qinling: #kolla_enable_horizon_sahara: -#kolla_enable_horizon_searchlight: #kolla_enable_horizon_senlin: #kolla_enable_horizon_solum: #kolla_enable_horizon_tacker: @@ -322,7 +321,6 @@ #kolla_enable_rally: #kolla_enable_redis: #kolla_enable_sahara: -#kolla_enable_searchlight: #kolla_enable_senlin: #kolla_enable_skydive: #kolla_enable_solum: From ef7c5fdf5a3b867e6a0205b28866a6f896534fbe Mon Sep 17 00:00:00 2001 From: Kendall Nelson Date: Wed, 16 Dec 2020 15:20:07 -0800 Subject: [PATCH 19/57] Remove Retired Karbor Support As announced on the openstack-discuss ML[1], Karbor is retiring this cycle (Wallaby). Needed-By: https://review.opendev.org/c/openstack/karbor/+/767032 [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018643.html Change-Id: If2e351ebe638e4591197a071aecc44e98d3d865d --- etc/kayobe/kolla.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index ae7a4a9..b722ed3 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -244,7 +244,6 @@ #kolla_enable_horizon_freezer: #kolla_enable_horizon_heat: #kolla_enable_horizon_ironic: -#kolla_enable_horizon_karbor: #kolla_enable_horizon_magnum: #kolla_enable_horizon_manila: #kolla_enable_horizon_masakari: @@ -270,7 +269,6 @@ #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: #kolla_enable_kafka: -#kolla_enable_karbor: #kolla_enable_keepalived: #kolla_enable_keystone: #kolla_enable_kibana: From 6e7e3ae18c92df78bab79d572cf60a954e80da19 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 23 Feb 2021 09:23:31 +0000 Subject: [PATCH 20/57] Reduce neutron RPC workers to 1 This should reduce the memory overhead of these processes Change-Id: I02be84d079f3effe559bd501622642f1c9601b45 --- etc/kayobe/kolla/globals.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/kayobe/kolla/globals.yml b/etc/kayobe/kolla/globals.yml index f09b22f..9c769d3 100644 --- a/etc/kayobe/kolla/globals.yml +++ b/etc/kayobe/kolla/globals.yml @@ -7,3 +7,4 @@ nova_compute_virt_type: qemu # Reduce the control plane's memory footprint by limiting the number of worker # processes to one per-service. openstack_service_workers: "1" +openstack_service_rpc_workers: "1" From 0b54af9ed9678837255e48106c96b23feb0aff70 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 23 Feb 2021 09:25:31 +0000 Subject: [PATCH 21/57] Reduce ironic minimum required memory to 256MB In resource-constrained environments such as CI, we may hit this new limit, which prevents deployments from succeeding. Following the lead of the ironic devstack plugin, we reduce the limit to 256MB. Depends-On: https://review.opendev.org/c/openstack/kayobe/+/777518 Change-Id: I2d853d38740dca445cd281b83f4a26d842a9c9cd --- etc/kayobe/kolla/config/ironic.conf | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 etc/kayobe/kolla/config/ironic.conf diff --git a/etc/kayobe/kolla/config/ironic.conf b/etc/kayobe/kolla/config/ironic.conf new file mode 100644 index 0000000..45f8488 --- /dev/null +++ b/etc/kayobe/kolla/config/ironic.conf @@ -0,0 +1,2 @@ +[DEFAULT] +minimum_required_memory = 256 From 547c03078c425801839a5c7635af530bbb5dd80e Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 17 Mar 2021 17:21:52 +0100 Subject: [PATCH 22/57] CI: Sync with kayobe jobs Ensure we are properly testing changes to the dev/test config. Change-Id: Ic81f60cd35e243ad9e78a536744addbf6663aaa7 --- zuul.d/project.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 12cfcca..0609d6f 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -4,19 +4,29 @@ jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8 + - kayobe-overcloud-ubuntu-focal + - kayobe-overcloud-tls-centos8 - kayobe-overcloud-host-configure-centos8 + - kayobe-overcloud-host-configure-ubuntu-focal - kayobe-overcloud-upgrade-centos8 - kayobe-seed-centos8 + - kayobe-seed-ubuntu-focal - kayobe-seed-upgrade-centos8 - kayobe-seed-vm-centos8 + - kayobe-seed-vm-ubuntu-focal gate: queue: kayobe jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8 + - kayobe-overcloud-ubuntu-focal + - kayobe-overcloud-tls-centos8 - kayobe-overcloud-host-configure-centos8 + - kayobe-overcloud-host-configure-ubuntu-focal - kayobe-overcloud-upgrade-centos8 - kayobe-seed-centos8 + - kayobe-seed-ubuntu-focal - kayobe-seed-upgrade-centos8 - kayobe-seed-vm-centos8 + - kayobe-seed-vm-ubuntu-focal From 3d2c1ad23e4e8e9ddfa2688fac85fe51066e3223 Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Tue, 13 Apr 2021 12:51:47 +0100 Subject: [PATCH 23/57] Adds ntp group This is required by: https://review.opendev.org/c/openstack/kayobe/+/784460 For CI jobs to pass. Change-Id: I566e23410c1f8e8e23e7d9998d655f22599b8346 --- etc/kayobe/inventory/groups | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/etc/kayobe/inventory/groups b/etc/kayobe/inventory/groups index a009693..fa1ced4 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -42,7 +42,7 @@ storage compute ############################################################################### -# Docker groups. +# Service groups. [docker:children] # Hosts in this group will have Docker installed. @@ -59,6 +59,12 @@ compute # registries which may become unsynchronized. seed +[ntp:children] +# Kayobe will configure Chrony on members of this group. +seed +seed-hypervisor +overcloud + ############################################################################### # Baremetal compute node groups. From 3b960e5bdd78b68c132106187aa7f7d14548cb2f Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 27 Apr 2021 10:41:35 +0100 Subject: [PATCH 24/57] Use $USER as bootstrap users This reverts to the default value of 'controller_bootstrap_user', 'seed_bootstrap_user' and 'seed_hypervisor_bootstrap_user' prior to the addition of the os_distribution variable in Kayobe (https://review.opendev.org/c/openstack/kayobe/+/787352). In an all-in-one environment, using the current user as the bootstrap user makes sense. Story: 2004960 Task: 42386 Change-Id: I814cd3d97e850a9b0062f92ec5622a756bed0347 --- etc/kayobe/controllers.yml | 2 +- etc/kayobe/seed-hypervisor.yml | 2 +- etc/kayobe/seed.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index 2fbe85b..f7dcef5 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -4,7 +4,7 @@ # User with which to access the controllers via SSH during bootstrap, in order # to setup the Kayobe user account. -#controller_bootstrap_user: +controller_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### # Controller network interface configuration. diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 1ef8988..054c44c 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -4,7 +4,7 @@ # User with which to access the seed hypervisor via SSH during bootstrap, in # order to setup the Kayobe user account. -#seed_hypervisor_bootstrap_user: +seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### # Seed hypervisor network interface configuration. diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index e0b5e0d..fc25963 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -4,7 +4,7 @@ # User with which to access the seed via SSH during bootstrap, in order to # setup the Kayobe user account. -#seed_bootstrap_user: +seed_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### # Seed network interface configuration. From da221a0f06ba474fcfba2ba735fda5513a1fb83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Nasiadka?= Date: Mon, 26 Apr 2021 09:07:27 +0200 Subject: [PATCH 25/57] Sync kayobe-config-dev with kayobe changes Depends-On: https://review.opendev.org/c/openstack/kayobe-config/+/787924 Change-Id: I8ab8e8364d22bec994f4901e5a796dd0ed9ecd07 --- etc/kayobe/apt.yml | 10 +++++ etc/kayobe/bifrost.yml | 8 ++-- etc/kayobe/compute.yml | 2 +- etc/kayobe/controllers.yml | 2 +- etc/kayobe/globals.yml | 19 +++++++++- etc/kayobe/ipa.yml | 4 ++ etc/kayobe/ironic.yml | 7 ++++ etc/kayobe/kolla.yml | 69 ++++++++++++++++++++++++++++++---- etc/kayobe/ntp.yml | 14 ------- etc/kayobe/openstack.yml | 4 +- etc/kayobe/overcloud.yml | 11 ------ etc/kayobe/seed-hypervisor.yml | 2 +- etc/kayobe/seed-vm.yml | 5 ++- etc/kayobe/seed.yml | 6 +-- etc/kayobe/storage.yml | 2 +- 15 files changed, 118 insertions(+), 47 deletions(-) create mode 100644 etc/kayobe/apt.yml delete mode 100644 etc/kayobe/ntp.yml diff --git a/etc/kayobe/apt.yml b/etc/kayobe/apt.yml new file mode 100644 index 0000000..552a116 --- /dev/null +++ b/etc/kayobe/apt.yml @@ -0,0 +1,10 @@ +--- +############################################################################### +# Apt package manager configuration. + +# Apt cache TTL in seconds. Default is 3600. +#apt_cache_valid_time: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index bd7e97e..8d20ebe 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -18,14 +18,16 @@ ############################################################################### # Diskimage-builder configuration. -# DIB base OS element. Default is "centos". +# DIB base OS element. Default is {{ os_distribution }}. #kolla_bifrost_dib_os_element: -# DIB image OS release. Default is "8". +# DIB image OS release. Default is "focal" when os_distribution is "ubuntu", or +# "8" otherwise. #kolla_bifrost_dib_os_release: # List of default DIB elements. Default is ["disable-selinux", -# "enable-serial-console", "vm"]. +# "enable-serial-console", "vm"] when os_distribution is "centos", or +# ["enable-serial-console", "vm"] otherwise. #kolla_bifrost_dib_elements_default: # List of additional DIB elements. Default is none. diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index ab47953..59a68fa 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -3,7 +3,7 @@ # Compute node configuration. # User with which to access the computes via SSH during bootstrap, in order -# to setup the Kayobe user account. +# to setup the Kayobe user account. Default is {{ os_distribution }}. #compute_bootstrap_user: ############################################################################### diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index f7dcef5..ad60d3f 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -3,7 +3,7 @@ # Controller node configuration. # User with which to access the controllers via SSH during bootstrap, in order -# to setup the Kayobe user account. +# to setup the Kayobe user account. Default is {{ os_distribution }}. controller_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 592f574..64290d9 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -4,9 +4,19 @@ ############################################################################### # Local path configuration (Ansible control host). -# Path to Kayobe configuration directory on Ansible control host. +# Path to Kayobe configuration directory on Ansible control host, with an +# environment path appended if kayobe_environment is set. #kayobe_config_path: +# Name of Kayobe environment to use. Default is $KAYOBE_ENVIRONMENT, or an +# empty string if $KAYOBE_ENVIRONMENT is not set. Can also be set via the +# --environment argument when invoking kayobe. +#kayobe_environment: + +# Path to Kayobe configuration directory on Ansible control host with an +# environment path appended if kayobe_environment is set. +#kayobe_env_config_path: + ############################################################################### # Remote path configuration (seed, seed-hypervisor and overcloud hosts). @@ -32,6 +42,13 @@ # not exist. #kayobe_ansible_user: +############################################################################### +# OS distribution. + +# OS distribution name. Valid options are "centos", "ubuntu". Default is +# "centos". +#os_distribution: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index f764db2..dd42736 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -61,6 +61,10 @@ # List of DIB packages to install. Default is none. #ipa_build_dib_packages: +# Upper constraints file for installing packages in the virtual environment +# used for building IPA images. Default is {{ pip_upper_constraints_file }}. +#ipa_build_upper_constraints_file: + ############################################################################### # Ironic Python Agent (IPA) images configuration. diff --git a/etc/kayobe/ironic.yml b/etc/kayobe/ironic.yml index 4bfdbe1..6083f70 100644 --- a/etc/kayobe/ironic.yml +++ b/etc/kayobe/ironic.yml @@ -5,6 +5,13 @@ # Specify the list of hardware types to load during service initialization. #kolla_ironic_enabled_hardware_types: +# Specify the list of bios interfaces to load during service initialization. +#kolla_ironic_enabled_bios_interfaces: + +# Default bios interface to be used for nodes that do not have bios_interface +# field set. +#kolla_ironic_default_bios_interface: + # Specify the list of boot interfaces to load during service initialization. #kolla_ironic_enabled_boot_interfaces: diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index f8f0a48..a08be42 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -61,7 +61,8 @@ ############################################################################### # Kolla configuration. -# Kolla base container image distribution. Default is 'centos'. +# Kolla base container image distribution. Options are "centos", "debian", +# "ubuntu". Default is {{ os_distribution }}. #kolla_base_distro: # Kolla container image type: binary or source. Default is 'binary'. @@ -109,9 +110,9 @@ # Dict mapping image customization variable names to their values. # Each variable takes the form: # __ -# Hyphens in the image name are replaced with underscores. The customization is -# most commonly packages. The operation should be one of override, append or -# remove. The value should be a list. +# Hyphens in the image name must be replaced with underscores. The +# customization is most commonly packages. The operation should be one of +# override, append or remove. The value should be a list. #kolla_build_customizations: ############################################################################### @@ -208,8 +209,8 @@ #kolla_enable_aodh: #kolla_enable_barbican: #kolla_enable_blazar: -#kolla_enable_cadf_notifications: #kolla_enable_ceilometer: +#kolla_enable_ceilometer_horizon_policy_file: #kolla_enable_ceilometer_ipmi: #kolla_enable_cells: #kolla_enable_central_logging: @@ -222,24 +223,33 @@ #kolla_enable_cinder_backend_quobyte: #kolla_enable_cinder_backend_zfssa_iscsi: #kolla_enable_cinder_backup: +#kolla_enable_cinder_horizon_policy_file: #kolla_enable_cloudkitty: #kolla_enable_collectd: +#kolla_enable_container_healthchecks: #kolla_enable_cyborg: #kolla_enable_designate: #kolla_enable_destroy_images: #kolla_enable_elasticsearch: +#kolla_enable_elasticsearch_curator: #kolla_enable_etcd: +#kolla_enable_external_mariadb_load_balancer: #kolla_enable_fluentd: #kolla_enable_freezer: #kolla_enable_glance: +#kolla_enable_glance_horizon_policy_file: +#kolla_enable_glance_image_cache: #kolla_enable_gnocchi: +#kolla_enable_gnocchi_statsd: #kolla_enable_grafana: +#kolla_enable_hacluster: #kolla_enable_haproxy: +#kolla_enable_haproxy_memcached: #kolla_enable_heat: +#kolla_enable_heat_horizon_policy_file: #kolla_enable_horizon: #kolla_enable_horizon_blazar: #kolla_enable_horizon_cloudkitty: -#kolla_enable_horizon_congress: #kolla_enable_horizon_designate: #kolla_enable_horizon_freezer: #kolla_enable_horizon_heat: @@ -248,6 +258,7 @@ #kolla_enable_horizon_manila: #kolla_enable_horizon_masakari: #kolla_enable_horizon_mistral: +#kolla_enable_horizon_monasca: #kolla_enable_horizon_murano: #kolla_enable_horizon_neutron_vpnaas: #kolla_enable_horizon_octavia: @@ -259,7 +270,6 @@ #kolla_enable_horizon_vitrage: #kolla_enable_horizon_watcher: #kolla_enable_horizon_zun: -#kolla_enable_hyperv: #kolla_enable_influxdb: #kolla_enable_ironic: #kolla_enable_ironic_ipxe: @@ -269,6 +279,8 @@ #kolla_enable_kafka: #kolla_enable_keepalived: #kolla_enable_keystone: +#kolla_enable_keystone_federation: +#kolla_enable_keystone_horizon_policy_file: #kolla_enable_kibana: #kolla_enable_kuryr: #kolla_enable_magnum: @@ -276,6 +288,7 @@ #kolla_enable_manila_backend_cephfs_native: #kolla_enable_manila_backend_cephfs_nfs: #kolla_enable_manila_backend_generic: +#kolla_enable_manila_backend_glusterfs_nfs: #kolla_enable_manila_backend_hnas: #kolla_enable_mariabackup: #kolla_enable_mariadb: @@ -289,6 +302,7 @@ #kolla_enable_neutron_agent_ha: #kolla_enable_neutron_bgp_dragent: #kolla_enable_neutron_dvr: +#kolla_enable_neutron_horizon_policy_file: #kolla_enable_neutron_infoblox_ipam_agent: #kolla_enable_neutron_metering: #kolla_enable_neutron_mlnx: @@ -298,20 +312,36 @@ #kolla_enable_neutron_segments: #kolla_enable_neutron_sfc: #kolla_enable_neutron_sriov: +#kolla_enable_neutron_trunk: #kolla_enable_neutron_vpnaas: #kolla_enable_nova: +#kolla_enable_nova_fake: +#kolla_enable_nova_horizon_policy_file: #kolla_enable_nova_serialconsole_proxy: #kolla_enable_nova_ssh: #kolla_enable_octavia: -#kolla_enable_onos: +#kolla_enable_octavia_driver_agent: #kolla_enable_openstack_core: #kolla_enable_openvswitch: #kolla_enable_osprofiler: #kolla_enable_outward_rabbitmq: +#kolla_enable_ovn: #kolla_enable_ovs_dpdk: #kolla_enable_panko: #kolla_enable_placement: #kolla_enable_prometheus: +#kolla_enable_prometheus_alertmanager: +#kolla_enable_prometheus_blackbox_exporter: +#kolla_enable_prometheus_cadvisor: +#kolla_enable_prometheus_ceph_mgr_exporter: +#kolla_enable_prometheus_elasticsearch_exporter: +#kolla_enable_prometheus_haproxy_exporter: +#kolla_enable_prometheus_memcached_exporter: +#kolla_enable_prometheus_mysqld_exporter: +#kolla_enable_prometheus_node_exporter: +#kolla_enable_prometheus_openstack_exporter: +#kolla_enable_prometheus_rabbitmq_exporter: +#kolla_enable_prometheus_server: #kolla_enable_qdrouterd: #kolla_enable_rabbitmq: #kolla_enable_rally: @@ -322,6 +352,7 @@ #kolla_enable_solum: #kolla_enable_storm: #kolla_enable_swift: +#kolla_enable_swift_recon: #kolla_enable_swift_s3api: #kolla_enable_tacker: #kolla_enable_telegraf: @@ -329,6 +360,7 @@ #kolla_enable_trove: #kolla_enable_trove_singletenant: #kolla_enable_vitrage: +#kolla_enable_vitrage_prometheus_datasource: #kolla_enable_vmtp: #kolla_enable_watcher: #kolla_enable_zookeeper: @@ -345,6 +377,27 @@ # passwords file. #kolla_ansible_custom_passwords: +############################################################################### +# OpenStack API addresses. + +# Virtual IP address of OpenStack internal API. Default is the vip_address +# attribute of the internal network. +#kolla_internal_vip_address: + +# Fully Qualified Domain Name (FQDN) of OpenStack internal API. Default is the +# fqdn attribute of the internal network if set, otherwise +# kolla_internal_vip_address. +#kolla_internal_fqdn: + +# Virtual IP address of OpenStack external API. Default is the vip_address +# attribute of the external network. +#kolla_external_vip_address: + +# Fully Qualified Domain Name (FQDN) of OpenStack external API. Default is the +# fqdn attribute of the external network if set, otherwise +# kolla_external_vip_address. +#kolla_external_fqdn: + ############################################################################### # TLS certificate bundle management diff --git a/etc/kayobe/ntp.yml b/etc/kayobe/ntp.yml deleted file mode 100644 index 4903b43..0000000 --- a/etc/kayobe/ntp.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Kayobe NTP configuration. - -# Timezone configuration has moved to time.yml. -# -# Support for running an NTP daemon on the host is no longer available. -# Instead the Kolla Ansible 'chrony' container is deployed by default. Set -# 'kolla_enable_chrony' to 'false' in kolla.yml to disable it. -# -# This file will be removed in the Victoria release. - -############################################################################### -# Dummy variable to allow Ansible to accept this file. -workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index fcae97f..52c43ca 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "victoria". +# Name of the current OpenStack release. Default is "wallaby". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/victoria". +# Name of the current OpenStack branch. Default is "stable/wallaby". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud.yml b/etc/kayobe/overcloud.yml index c6d692e..d733369 100644 --- a/etc/kayobe/overcloud.yml +++ b/etc/kayobe/overcloud.yml @@ -16,17 +16,6 @@ # To prevent some network issues you can choose to disable cloud-init #disable_cloud_init: -############################################################################### -# Overcloud host image configuration. - -# The CentOS cloud images have a bogus name server entry in /etc/resolv.conf, -# 192.168.122.1. Cloud-init only appends name server entries to this file, and -# will not remove this bogus entry. Typically this leads to a delay of around -# 30 seconds when connecting via SSH, due to a timeout in NSS. The workaround -# employed here is to remove this bogus entry from the image using -# virt-customize, if it exists. See https://bugs.centos.org/view.php?id=14369. -#overcloud_host_image_workaround_resolv_enabled: - ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 054c44c..4a2a417 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -3,7 +3,7 @@ # Seed hypervisor node configuration. # User with which to access the seed hypervisor via SSH during bootstrap, in -# order to setup the Kayobe user account. +# order to setup the Kayobe user account. Default is {{ os_distribution }}. seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index 7e574f8..9ad7a74 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -24,7 +24,10 @@ #seed_vm_root_format: # Base image for the seed VM root volume. Default is -# "https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64.qcow2". +# "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" +# when os_distribution is "ubuntu", or +# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210210.0.x86_64.qcow2" +# otherwise. #seed_vm_root_image: # Capacity of the seed VM data volume. diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index fc25963..fd6dac6 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -3,7 +3,7 @@ # Seed node configuration. # User with which to access the seed via SSH during bootstrap, in order to -# setup the Kayobe user account. +# setup the Kayobe user account. Default is {{ os_distribution }}. seed_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### @@ -92,8 +92,8 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # squid: # name: "squid" # image: "stackhpc/squid:3.5.20-1" -# pre: "{{ kayobe_config_path }}/containers/squid/pre.yml" -# post: "{{ kayobe_config_path }}/containers/squid/post.yml" +# pre: "{{ kayobe_env_config_path }}/containers/squid/pre.yml" +# post: "{{ kayobe_env_config_path }}/containers/squid/post.yml" # #seed_containers: diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index c8ee66f..47f63db 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -3,7 +3,7 @@ # Storage node configuration. # User with which to access the storages via SSH during bootstrap, in order -# to setup the Kayobe user account. +# to setup the Kayobe user account. Default is {{ os_distribution }}. #storage_bootstrap_user: ############################################################################### From 95f4049defa2e1350c1c88a89210295d45ed5851 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Wed, 28 Apr 2021 12:39:54 +0100 Subject: [PATCH 26/57] Set os_distribution automatically Use /etc/os-release on the Ansible control host. This makes sense for an all-in-one configuration. Change-Id: I7f7f22504e4bda1a7f4c984e97e7b86f7a95e4f0 --- etc/kayobe/globals.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 64290d9..580449d 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -47,7 +47,7 @@ # OS distribution name. Valid options are "centos", "ubuntu". Default is # "centos". -#os_distribution: +os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" ############################################################################### # Dummy variable to allow Ansible to accept this file. From fd5cea9fa0301686a0822693a287a8048c7ea94b Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 5 May 2021 10:04:35 +0200 Subject: [PATCH 27/57] setup.cfg: Replace dashes with underscores Setuptools v54.1.0 introduces a warning that the use of dash-separated options in 'setup.cfg' will not be supported in a future version [1]. Get ahead of the issue by replacing the dashes with underscores. Without this, we see 'UserWarning' messages like the following on new enough versions of setuptools: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb Change-Id: Iff0025bc13162397e6fabbc4b9674daa2e44091d --- setup.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 8748a4d..ce807bc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,11 +1,11 @@ [metadata] name = kayobe-config-dev summary = Development configuration for Kayobe -description-file = +description_file = README.rst author = OpenStack -author-email = openstack-discuss@lists.openstack.org -home-page = https://docs.openstack.org/kayobe/latest/ +author_email = openstack-discuss@lists.openstack.org +home_page = https://docs.openstack.org/kayobe/latest/ classifier = Environment :: OpenStack Intended Audience :: Information Technology From d9210ff39c1e446cee188348fd7a9522e9bf8b83 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 21 May 2021 18:26:06 +0200 Subject: [PATCH 28/57] Sync kayobe-config-dev with latest kayobe changes Change-Id: Ib82da83681f153f8ddccb311123abadc42c2eb3b --- etc/kayobe/bifrost.yml | 3 +-- etc/kayobe/docker-registry.yml | 3 +++ etc/kayobe/globals.yml | 4 ++++ etc/kayobe/kolla.yml | 44 ++++++++++++++++++++++++++++++++++ etc/kayobe/time.yml | 23 ++++++++++++++++++ 5 files changed, 75 insertions(+), 2 deletions(-) diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 8d20ebe..91c8bcc 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -21,8 +21,7 @@ # DIB base OS element. Default is {{ os_distribution }}. #kolla_bifrost_dib_os_element: -# DIB image OS release. Default is "focal" when os_distribution is "ubuntu", or -# "8" otherwise. +# DIB image OS release. Default is {{ os_release }}. #kolla_bifrost_dib_os_release: # List of default DIB elements. Default is ["disable-selinux", diff --git a/etc/kayobe/docker-registry.yml b/etc/kayobe/docker-registry.yml index 7ba79ed..ea6ca9c 100644 --- a/etc/kayobe/docker-registry.yml +++ b/etc/kayobe/docker-registry.yml @@ -14,6 +14,9 @@ # pull through cache. Default is an empty dict. #docker_registry_env: +# The network mode of the docker registry container. Default is 'host'. +#docker_registry_network_mode: + # The port on which the docker registry server should listen. Default is 4000. #docker_registry_port: diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 580449d..9b17a9c 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -49,6 +49,10 @@ # "centos". os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" +# OS release. Valid options are "8-stream" when os_distribution is "centos", or +# "focal" when os_distribution is "ubuntu". +#os_release: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index a08be42..b43a3b9 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -121,11 +121,33 @@ # Full custom seed inventory contents. #kolla_seed_inventory_custom: +# List of names of default host variables to pass through from kayobe hosts to +# the kolla-ansible seed host, if set. See also +# kolla_seed_inventory_pass_through_host_vars_map. +#kolla_seed_inventory_pass_through_host_vars_default: + +# List of names of additional host variables to pass through from kayobe hosts +# to the kolla-ansible seed host, if set. See also +# kolla_seed_inventory_pass_through_host_vars_map. +#kolla_seed_inventory_pass_through_host_vars_extra: + # List of names of host variables to pass through from kayobe hosts to # the kolla-ansible seed host, if set. See also # kolla_seed_inventory_pass_through_host_vars_map. #kolla_seed_inventory_pass_through_host_vars: +# Dict mapping names of default variables in +# kolla_seed_inventory_pass_through_host_vars to the variable to use in +# kolla-ansible. If a variable name is not in this mapping the kayobe name is +# used. +#kolla_seed_inventory_pass_through_host_vars_map_default: + +# Dict mapping names of extra variables in +# kolla_seed_inventory_pass_through_host_vars to the variable to use in +# kolla-ansible. If a variable name is not in this mapping the kayobe name is +# used. +#kolla_seed_inventory_pass_through_host_vars_map_extra: + # Dict mapping names of variables in # kolla_seed_inventory_pass_through_host_vars to the variable to use in # kolla-ansible. If a variable name is not in this mapping the kayobe name is @@ -158,11 +180,33 @@ # have no hosts mapped to them will be provided with an empty group definition. #kolla_overcloud_inventory_kolla_top_level_groups: +# List of names of default host variables to pass through from kayobe hosts to +# kolla-ansible hosts, if set. See also +# kolla_overcloud_inventory_pass_through_host_vars_map. +#kolla_overcloud_inventory_pass_through_host_vars_default: + +# List of names of additional host variables to pass through from kayobe hosts +# to kolla-ansible hosts, if set. See also +# kolla_overcloud_inventory_pass_through_host_vars_map. +#kolla_overcloud_inventory_pass_through_host_vars_extra: + # List of names of host variables to pass through from kayobe hosts to # kolla-ansible hosts, if set. See also # kolla_overcloud_inventory_pass_through_host_vars_map. #kolla_overcloud_inventory_pass_through_host_vars: +# Dict mapping names of default variables in +# kolla_overcloud_inventory_pass_through_host_vars to the variable to use in +# kolla-ansible. If a variable name is not in this mapping the kayobe name is +# used. +#kolla_overcloud_inventory_pass_through_host_vars_map_default: + +# Dict mapping names of additional variables in +# kolla_overcloud_inventory_pass_through_host_vars to the variable to use in +# kolla-ansible. If a variable name is not in this mapping the kayobe name is +# used. +#kolla_overcloud_inventory_pass_through_host_vars_map_extra: + # Dict mapping names of variables in # kolla_overcloud_inventory_pass_through_host_vars to the variable to use in # kolla-ansible. If a variable name is not in this mapping the kayobe name is diff --git a/etc/kayobe/time.yml b/etc/kayobe/time.yml index c0a86d7..23c1d0d 100644 --- a/etc/kayobe/time.yml +++ b/etc/kayobe/time.yml @@ -7,6 +7,29 @@ # Name of the local timezone. #timezone: +############################################################################### +# Network Time Protocol (NTP). + +# List of NTP time sources to configure. Format is a list of dictionaries with +# the following keys: +# server: host or pool +# type: (Optional) Defaults to server. Maps to a time source in the +# configuration file. Can be one of server, peer, pool. +# options: (Optional) List of options that depends on type, see Chrony +# documentation for details. +# See: https://chrony.tuxfamily.org/doc/4.0/chrony.conf.html +# +# Example of configuring a pool and customising the pool specific maxsources +# option: +# chrony_ntp_servers: +# - server: pool.ntp.org +# type: pool +# options: +# - option: maxsources +# val: 3 +# +#chrony_ntp_servers: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes From 487a92db15daf0532fc7c0c405f552ffc40b4a63 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 25 May 2021 14:23:59 +0100 Subject: [PATCH 29/57] CI: Switch to CentOS 8 stream jobs Change-Id: I51e1d05cf6382ce077ebd70f6306b54511d575ce --- zuul.d/project.yaml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 0609d6f..e7341e5 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -3,30 +3,30 @@ check: jobs: - openstack-tox-pep8 - - kayobe-overcloud-centos8 + - kayobe-overcloud-centos8s - kayobe-overcloud-ubuntu-focal - - kayobe-overcloud-tls-centos8 - - kayobe-overcloud-host-configure-centos8 + - kayobe-overcloud-tls-centos8s + - kayobe-overcloud-host-configure-centos8s - kayobe-overcloud-host-configure-ubuntu-focal - - kayobe-overcloud-upgrade-centos8 - - kayobe-seed-centos8 + - kayobe-overcloud-upgrade-centos8s + - kayobe-seed-centos8s - kayobe-seed-ubuntu-focal - - kayobe-seed-upgrade-centos8 - - kayobe-seed-vm-centos8 + - kayobe-seed-upgrade-centos8s + - kayobe-seed-vm-centos8s - kayobe-seed-vm-ubuntu-focal gate: queue: kayobe jobs: - openstack-tox-pep8 - - kayobe-overcloud-centos8 + - kayobe-overcloud-centos8s - kayobe-overcloud-ubuntu-focal - - kayobe-overcloud-tls-centos8 - - kayobe-overcloud-host-configure-centos8 + - kayobe-overcloud-tls-centos8s + - kayobe-overcloud-host-configure-centos8s - kayobe-overcloud-host-configure-ubuntu-focal - - kayobe-overcloud-upgrade-centos8 - - kayobe-seed-centos8 + - kayobe-overcloud-upgrade-centos8s + - kayobe-seed-centos8s - kayobe-seed-ubuntu-focal - - kayobe-seed-upgrade-centos8 - - kayobe-seed-vm-centos8 + - kayobe-seed-upgrade-centos8s + - kayobe-seed-vm-centos8s - kayobe-seed-vm-ubuntu-focal From 5a286890b83f61c7418c791231933fea2bdc045a Mon Sep 17 00:00:00 2001 From: Piotr Parczewski Date: Fri, 11 Jun 2021 12:40:27 +0200 Subject: [PATCH 30/57] Enable deploying monitoring with default inventory This makes enabling monitoring possible without any modification to the default inventory. Change-Id: Ie3eec95ac7dadbfc613e913c09371d61b7e5eb2a --- etc/kayobe/inventory/hosts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/etc/kayobe/inventory/hosts b/etc/kayobe/inventory/hosts index 7a7ee83..bc3b842 100644 --- a/etc/kayobe/inventory/hosts +++ b/etc/kayobe/inventory/hosts @@ -14,6 +14,9 @@ controller0 [compute:children] controllers +[monitoring:children] +controllers + [baremetal-compute] # Add baremetal compute nodes here if required. From f1d98a93941013e5fda5489de1629cc5e282fd07 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Mon, 15 Mar 2021 12:26:13 +0100 Subject: [PATCH 31/57] Support specifying a Kayobe environment to use This also includes a cherry-pick of I9a44578196086ec24de80b992fed385826778feb, Stop accessing unbound variables. The kayobe-env script would try accessing $1 which is an unbound variable if no argument is passed. This fails when `set -u` is set. Also refactor usage output into a function. As a side effect, a missing argument to --environment now causes the script to properly exit with an error. Change-Id: I604c2ae6c47ef16fdc98e0598cad820e49e2ff26 Story: 2002009 Task: 41577 (cherry picked from commit 75b6402f8b0d4e39c40a1d11091ca760d8b99dee) --- kayobe-env | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/kayobe-env b/kayobe-env index dbd5605..949e99b 100644 --- a/kayobe-env +++ b/kayobe-env @@ -35,3 +35,30 @@ export KOLLA_SOURCE_PATH=${KOLLA_SOURCE_PATH:-${base_path}/src/kolla-ansible} # NOTE: This should not be in the Vagrant shared directory, as there are # issues with symlinks on Windows hosts. export KOLLA_VENV_PATH=~/kolla-venv + +function usage { + echo "usage: ${BASH_SOURCE[0]:-${(%):-%x}} [--environment ]" + return 1 +} + +if [ "$#" -ge 1 ]; then + if [ "$1" = "--environment" -a "$#" -eq 2 ]; then + kayobe_env="$2" + # Look for existing Kayobe environments + if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then + if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then + export KAYOBE_ENVIRONMENT="${kayobe_env}" + echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}" + return 0 + else + echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments" + return 1 + fi + else + echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}" + return 1 + fi + else + usage + fi +fi From df9ae7089959adc35935cd8b33a71ec60d94d209 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 31 Mar 2021 14:56:53 +0200 Subject: [PATCH 32/57] Support reading Kayobe environment name from file If using separate branches for each environment, it can be useful to read the environment name from a file committed to each branch. Or, if sharing the same branch for all environments, it can be useful to set the default environment to one with lower impact, e.g. dev or staging. If no --environment option is specified and a .environment file exists at the root of the directory, use its content as KAYOBE_ENVIRONMENT. Change-Id: I22b2b466e47a3b4d96931d754a4de7544f0ada5d (cherry picked from commit 2af2c3a3b5387c577801b165ecd749fe782fddb9) --- kayobe-env | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/kayobe-env b/kayobe-env index 949e99b..c0203c1 100644 --- a/kayobe-env +++ b/kayobe-env @@ -36,6 +36,23 @@ export KOLLA_SOURCE_PATH=${KOLLA_SOURCE_PATH:-${base_path}/src/kolla-ansible} # issues with symlinks on Windows hosts. export KOLLA_VENV_PATH=~/kolla-venv +function check_and_export_env { + # Look for existing Kayobe environments + if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then + if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then + export KAYOBE_ENVIRONMENT="${kayobe_env}" + echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}" + return 0 + else + echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments" + return 1 + fi + else + echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}" + return 1 + fi +} + function usage { echo "usage: ${BASH_SOURCE[0]:-${(%):-%x}} [--environment ]" return 1 @@ -44,21 +61,14 @@ function usage { if [ "$#" -ge 1 ]; then if [ "$1" = "--environment" -a "$#" -eq 2 ]; then kayobe_env="$2" - # Look for existing Kayobe environments - if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then - if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then - export KAYOBE_ENVIRONMENT="${kayobe_env}" - echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}" - return 0 - else - echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments" - return 1 - fi - else - echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}" - return 1 - fi + check_and_export_env else usage fi + return $? +fi + +if [[ -f "$KAYOBE_CONFIG_ROOT/.environment" ]]; then + kayobe_env=$(cat "$KAYOBE_CONFIG_ROOT/.environment") + check_and_export_env fi From 6dfe79b6a0d3ad86ac2f264ea5db32bdb67cb832 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 19 Aug 2021 15:51:12 +0100 Subject: [PATCH 33/57] Use kolla_internal_vip_address instead of aio_vip_address The kolla_internal_vip_address variable was added in Wallaby, and the vip_address attribute is now deprecated. Depends-On: https://review.opendev.org/c/openstack/kayobe/+/805245 Change-Id: I747d9acc649f18206cbb23c0df6995bade335331 --- etc/kayobe/kolla.yml | 2 +- etc/kayobe/networks.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index b43a3b9..abd77a2 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -426,7 +426,7 @@ # Virtual IP address of OpenStack internal API. Default is the vip_address # attribute of the internal network. -#kolla_internal_vip_address: +kolla_internal_vip_address: 192.168.33.2 # Fully Qualified Domain Name (FQDN) of OpenStack internal API. Default is the # fqdn attribute of the internal network if set, otherwise diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index 216696e..e0718c7 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -88,7 +88,6 @@ aio_neutron_allocation_pool_start: 192.168.33.31 aio_neutron_allocation_pool_end: 192.168.33.127 aio_inspection_allocation_pool_start: 192.168.33.128 aio_inspection_allocation_pool_end: 192.168.33.254 -aio_vip_address: 192.168.33.2 ############################################################################### # Network virtual patch link configuration. From 14ba88cd7c10b6aaf45863e4ddf13004f4b9db04 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Wed, 20 Oct 2021 12:36:52 +0200 Subject: [PATCH 34/57] Sync kayobe-config-dev with kayobe changes Change-Id: Iaf4db2816df1315fa5e733b8b8c05034535998d6 --- etc/kayobe/apt.yml | 6 ++ etc/kayobe/bifrost.yml | 16 ++- etc/kayobe/compute.yml | 28 ++++++ etc/kayobe/controllers.yml | 28 ++++++ etc/kayobe/globals.yml | 11 +++ etc/kayobe/infra-vms.yml | 174 +++++++++++++++++++++++++++++++++ etc/kayobe/inspector.yml | 2 +- etc/kayobe/inventory/groups | 10 ++ etc/kayobe/ipa.yml | 2 +- etc/kayobe/kolla.yml | 17 ++-- etc/kayobe/monitoring.yml | 28 ++++++ etc/kayobe/openstack.yml | 4 +- etc/kayobe/seed-hypervisor.yml | 28 ++++++ etc/kayobe/seed.yml | 31 ++++++ etc/kayobe/storage.yml | 28 ++++++ 15 files changed, 401 insertions(+), 12 deletions(-) create mode 100644 etc/kayobe/infra-vms.yml diff --git a/etc/kayobe/apt.yml b/etc/kayobe/apt.yml index 552a116..5f278e3 100644 --- a/etc/kayobe/apt.yml +++ b/etc/kayobe/apt.yml @@ -5,6 +5,12 @@ # Apt cache TTL in seconds. Default is 3600. #apt_cache_valid_time: +# Apt proxy URL for HTTP. Default is empty (no proxy). +#apt_proxy_http: + +# Apt proxy URL for HTTPS. Default is {{ apt_proxy_http }}. +#apt_proxy_https: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 91c8bcc..0bfcec7 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -11,6 +11,10 @@ # {{ openstack_branch }}. #kolla_bifrost_source_version: +# Whether Bifrost uses firewalld. Default value is false to avoid conflicting +# with iptables rules configured on the seed host by Kayobe. +#kolla_bifrost_use_firewalld: + # Firewalld zone used by Bifrost. Default is "trusted", to avoid blocking other # services running on the seed host. #kolla_bifrost_firewalld_internal_zone: @@ -39,8 +43,10 @@ # DIB init element. Default is "cloud-init-datasources". #kolla_bifrost_dib_init_element: -# DIB default environment variables. Default is {"DIB_CLOUD_INIT_DATASOURCES": -# "ConfigDrive", "DIB_DISABLE_KERNEL_CLEANUP": 1}. +# DIB default environment variables. Default is +# {DIB_BOOTLOADER_DEFAULT_CMDLINE: +# "nofb nomodeset gfxpayload=text net.ifnames=1", +# "DIB_CLOUD_INIT_DATASOURCES": "ConfigDrive"}. #kolla_bifrost_dib_env_vars_default: # DIB additional environment variables. Default is none. @@ -53,6 +59,12 @@ # List of DIB packages to install. Default is to install no extra packages. #kolla_bifrost_dib_packages: +############################################################################### +# Disk image deployment configuration. + +# Name of disk image file to deploy. Default is "deployment_image.qcow2". +#kolla_bifrost_deploy_image_filename: + ############################################################################### # Ironic configuration. diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index 59a68fa..cd0ceb2 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -108,6 +108,13 @@ # Dict of sysctl parameters to set. #compute_sysctl_parameters: +############################################################################### +# Compute node tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is virtual-host. +#compute_tuned_active_builtin_profile: + ############################################################################### # Compute node user configuration. @@ -115,6 +122,27 @@ # singleplatform-eng.users role. #compute_users: +############################################################################### +# Compute node firewalld configuration. + +# Whether to install and enable firewalld. +#compute_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#compute_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#compute_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#compute_firewalld_rules: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index ad60d3f..4caf8eb 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -117,6 +117,13 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # Dict of sysctl parameters to set. #controller_sysctl_parameters: +############################################################################### +# Controller node tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is throughput-performance. +#controller_tuned_active_builtin_profile: + ############################################################################### # Controller node user configuration. @@ -124,6 +131,27 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # singleplatform-eng.users role. #controller_users: +############################################################################### +# Controller node firewalld configuration. + +# Whether to install and enable firewalld. +#controller_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#controller_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#controller_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#controller_firewalld_rules: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 9b17a9c..cf01146 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -53,6 +53,17 @@ os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # "focal" when os_distribution is "ubuntu". #os_release: +############################################################################### +# Ansible configuration. + +# Filter to apply to the setup module when gathering facts. Default is to not +# specify a filter. +#kayobe_ansible_setup_filter: + +# Gather subset to apply to the setup module when gathering facts. Default is +# to not specify a gather subset. +#kayobe_ansible_setup_gather_subset: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml new file mode 100644 index 0000000..4fb9cc1 --- /dev/null +++ b/etc/kayobe/infra-vms.yml @@ -0,0 +1,174 @@ +--- +############################################################################### +# Infrastructure VM configuration. + +# Name of the infra VM. +#infra_vm_name: + +# Memory in MB. +#infra_vm_memory_mb: + +# Number of vCPUs. +#infra_vm_vcpus: + +# List of volumes. +#infra_vm_volumes: + +# Root volume. +#infra_vm_root_volume: + +# Data volume. +#infra_vm_data_volume: + +# Name of the storage pool for the infra VM volumes. +#infra_vm_pool: + +# Capacity of the infra VM root volume. +#infra_vm_root_capacity: + +# Format of the infra VM root volume. +#infra_vm_root_format: + +# Base image for the infra VM root volume. Default is +# "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" +# when os_distribution is "ubuntu", or +# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210210.0.x86_64.qcow2" +# otherwise. +#infra_vm_root_image: + +# Capacity of the infra VM data volume. +#infra_vm_data_capacity: + +# Format of the infra VM data volume. +#infra_vm_data_format: + +# List of network interfaces to attach to the infra VM. +#infra_vm_interfaces: + +# Hypervisor that the VM runs on. +#infra_vm_hypervisor: + +# Customise ansible_ssh_extra_args for the test that checks SSH connectivity +# after provisioning. Defaults to disabling ssh host key checking. +#infra_vm_wait_connection_ssh_extra_args: + +# OS family. Needed for config drive generation. +# infra_vm_os_family: + +############################################################################### +# Infrastructure VM node configuration. + +# User with which to access the infrastructure vm via SSH during bootstrap, in +# order to setup the Kayobe user account. +#infra_vm_bootstrap_user: + +############################################################################### +# Infrastructure VM network interface configuration. + +# List of networks to which infrastructure vm nodes are attached. +#infra_vm_network_interfaces: + +# List of default networks to which infrastructure vm nodes are attached. +#infra_vm_default_network_interfaces: + +# List of extra networks to which infrastructure vm nodes are attached. +#infra_vm_extra_network_interfaces: + +############################################################################### +# Infrastructure VM node software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#infra_vm_mdadm_arrays: + +############################################################################### +# Infrastructure VM node encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#infra_vm_luks_devices: + +############################################################################### +# Infrastructure VM node LVM configuration. + +# List of infrastructure vm volume groups. See mrlesmithjr.manage-lvm role for +# format. +#infra_vm_lvm_groups: + +# Default list of infrastructure vm volume groups. See mrlesmithjr.manage-lvm +# role for format. +#infra_vm_lvm_groups_default: + +# Additional list of infrastructure vm volume groups. See mrlesmithjr.manage-lvm +# role for format. +#infra_vm_lvm_groups_extra: + +# Whether a 'data' LVM volume group should exist on the infrastructure vm. By +# default this contains a 'docker-volumes' logical volume for Docker volume +# storage. It will also be used for Docker container and image storage if +# 'docker_storage_driver' is set to 'devicemapper'. Default is true if +# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +#infra_vm_lvm_group_data_enabled: + +# Infrastructure VM LVM volume group for data. See mrlesmithjr.manage-lvm role +# for format. +#infra_vm_lvm_group_data: + +# List of disks for use by infrastructure vm LVM data volume group. Default to +# an invalid value to require configuration. +#infra_vm_lvm_group_data_disks: + +# List of LVM logical volumes for the data volume group. +#infra_vm_lvm_group_data_lvs: + +# Docker volumes LVM backing volume. +#infra_vm_lvm_group_data_lv_docker_volumes: + +# Size of docker volumes LVM backing volume. +#infra_vm_lvm_group_data_lv_docker_volumes_size: + +# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. +#infra_vm_lvm_group_data_lv_docker_volumes_fs: + +############################################################################### +# Infrastructure VM node sysctl configuration. + +# Dict of sysctl parameters to set. +#infra_vm_sysctl_parameters: + +############################################################################### +# Infrastructure VM node tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is virtual-guest. +#infra_vm_tuned_active_builtin_profile: + +############################################################################### +# Infrastructure VM node user configuration. + +# List of users to create. This should be in a format accepted by the +# singleplatform-eng.users role. +#infra_vm_users: + +############################################################################### +# Infrastructure VM node firewalld configuration. + +# Whether to install and enable firewalld. +#infra_vm_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#infra_vm_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#infra_vm_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#infra_vm_firewalld_rules: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index 9e5f054..a355373 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -103,7 +103,7 @@ # Ironic inspector rule to save introspection data to the node. #inspector_rule_save_data: -# List of default ironic insepctor rules. +# List of default ironic inspector rules. #inspector_rules_default: # List of additional ironic inspector rules. diff --git a/etc/kayobe/inventory/groups b/etc/kayobe/inventory/groups index fa1ced4..16619fe 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -14,6 +14,16 @@ # Build container images on the seed by default. seed +############################################################################### +# Infra VM groups. + +[hypervisors:children] +# Group that contains all hypervisors used for infra VMs +seed-hypervisor + +[infra-vms] +# Empty group to provide declaration of infra-vms group. + ############################################################################### # Overcloud groups. diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index dd42736..da7c9ee 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -17,7 +17,7 @@ #ipa_builder_source_url: # Version of IPA builder source repository. Default is master. -#ipa_build_source_version: +#ipa_builder_source_version: # List of default Diskimage Builder (DIB) elements to use when building IPA # images. Default is ["centos", "enable-serial-console", diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index abd77a2..9bc8773 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -65,7 +65,7 @@ # "ubuntu". Default is {{ os_distribution }}. #kolla_base_distro: -# Kolla container image type: binary or source. Default is 'binary'. +# Kolla container image type: binary or source. Default is 'source'. #kolla_install_type: # URL of docker registry to use for Kolla images. Default is not set, in which @@ -75,6 +75,11 @@ # Docker namespace to use for Kolla images. Default is 'kolla'. #kolla_docker_namespace: +# Whether docker should be configured to use an insecure registry for Kolla +# images. Default is false, unless docker_registry_enabled is true and +# docker_registry_enable_tls is false. +#kolla_docker_registry_insecure: + # Username to use to access a docker registry. Default is not set, in which # case the registry will be used without authentication. #kolla_docker_registry_username: @@ -258,14 +263,14 @@ #kolla_enable_ceilometer_ipmi: #kolla_enable_cells: #kolla_enable_central_logging: -#kolla_enable_chrony: +#kolla_enable_ceph_rgw: +#kolla_enable_ceph_rgw_loadbalancer: #kolla_enable_cinder: #kolla_enable_cinder_backend_hnas_nfs: #kolla_enable_cinder_backend_iscsi: #kolla_enable_cinder_backend_lvm: #kolla_enable_cinder_backend_nfs: #kolla_enable_cinder_backend_quobyte: -#kolla_enable_cinder_backend_zfssa_iscsi: #kolla_enable_cinder_backup: #kolla_enable_cinder_horizon_policy_file: #kolla_enable_cloudkitty: @@ -327,6 +332,7 @@ #kolla_enable_keystone_horizon_policy_file: #kolla_enable_kibana: #kolla_enable_kuryr: +#kolla_enable_loadbalancer: #kolla_enable_magnum: #kolla_enable_manila: #kolla_enable_manila_backend_cephfs_native: @@ -350,6 +356,7 @@ #kolla_enable_neutron_infoblox_ipam_agent: #kolla_enable_neutron_metering: #kolla_enable_neutron_mlnx: +#kolla_enable_neutron_packet_logging: #kolla_enable_neutron_port_forwarding: #kolla_enable_neutron_provider_networks: #kolla_enable_neutron_qos: @@ -371,7 +378,6 @@ #kolla_enable_outward_rabbitmq: #kolla_enable_ovn: #kolla_enable_ovs_dpdk: -#kolla_enable_panko: #kolla_enable_placement: #kolla_enable_prometheus: #kolla_enable_prometheus_alertmanager: @@ -379,6 +385,7 @@ #kolla_enable_prometheus_cadvisor: #kolla_enable_prometheus_ceph_mgr_exporter: #kolla_enable_prometheus_elasticsearch_exporter: +#kolla_enable_prometheus_fluentd_integration: #kolla_enable_prometheus_haproxy_exporter: #kolla_enable_prometheus_memcached_exporter: #kolla_enable_prometheus_mysqld_exporter: @@ -388,7 +395,6 @@ #kolla_enable_prometheus_server: #kolla_enable_qdrouterd: #kolla_enable_rabbitmq: -#kolla_enable_rally: #kolla_enable_redis: #kolla_enable_sahara: #kolla_enable_senlin: @@ -400,7 +406,6 @@ #kolla_enable_swift_s3api: #kolla_enable_tacker: #kolla_enable_telegraf: -#kolla_enable_tempest: #kolla_enable_trove: #kolla_enable_trove_singletenant: #kolla_enable_vitrage: diff --git a/etc/kayobe/monitoring.yml b/etc/kayobe/monitoring.yml index e28e5cc..f332ab9 100644 --- a/etc/kayobe/monitoring.yml +++ b/etc/kayobe/monitoring.yml @@ -81,6 +81,13 @@ # Dict of sysctl parameters to set. #monitoring_sysctl_parameters: +############################################################################### +# Monitoring node tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is throughput-performance. +#monitoring_tuned_active_builtin_profile: + ############################################################################### # Monitoring node user configuration. @@ -88,6 +95,27 @@ # singleplatform-eng.users role. #monitoring_users: +############################################################################### +# Monitoring node firewalld configuration. + +# Whether to install and enable firewalld. +#monitoring_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#monitoring_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#monitoring_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#monitoring_firewalld_rules: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index 52c43ca..f2fe55a 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "wallaby". +# Name of the current OpenStack release. Default is "xena". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/wallaby". +# Name of the current OpenStack branch. Default is "stable/xena". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 4a2a417..cbc8a50 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -97,6 +97,13 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" # Dict of sysctl parameters to set. #seed_hypervisor_sysctl_parameters: +############################################################################### +# Seed hypervisor tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is virtual-host. +#seed_hypervisor_tuned_active_builtin_profile: + ############################################################################### # Seed hypervisor user configuration. @@ -104,6 +111,27 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" # singleplatform-eng.users role. #seed_hypervisor_users: +############################################################################### +# Seed hypervisor node firewalld configuration. + +# Whether to install and enable firewalld. +#seed_hypervisor_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#seed_hypervisor_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#seed_hypervisor_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#seed_hypervisor_firewalld_rules: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index fd6dac6..fdbf7fd 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -18,6 +18,9 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # List of extra networks to which seed nodes are attached. #seed_extra_network_interfaces: +# Whether to enable SNAT on seed nodes. Default is false. +#seed_enable_snat: + ############################################################################### # Seed node software RAID configuration. @@ -76,6 +79,13 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # Dict of sysctl parameters to set. #seed_sysctl_parameters: +############################################################################### +# Seed node tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is virtual-guest. +#seed_tuned_active_builtin_profile: + ############################################################################### # Seed node user configuration. @@ -97,6 +107,27 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # #seed_containers: +############################################################################### +# Seed node firewalld configuration. + +# Whether to install and enable firewalld. +#seed_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#seed_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#seed_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#seed_firewalld_rules: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index 47f63db..535666c 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -113,6 +113,13 @@ # Dict of sysctl parameters to set. #storage_sysctl_parameters: +############################################################################### +# Storage node tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is throughput-performance. +#storage_tuned_active_builtin_profile: + ############################################################################### # Storage node user configuration. @@ -120,6 +127,27 @@ # singleplatform-eng.users role. #storage_users: +############################################################################### +# Storage node firewalld configuration. + +# Whether to install and enable firewalld. +#storage_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#storage_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#storage_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#storage_firewalld_rules: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes From de111158d29855d154c58c8eda2594b3f396e239 Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Thu, 19 Aug 2021 14:37:44 +0000 Subject: [PATCH 35/57] Define infra VMs for testing Used by CI to test infra VM functionality works. Change-Id: I21873b5a0bc480992a9f52881deb751ba857e4fe --- .../group_vars/infra-vms/ansible-python-interpreter | 3 +++ .../group_vars/infra-vms/network-interfaces | 12 ++++++++++++ etc/kayobe/inventory/host_vars/infra-vm-1 | 7 +++++++ etc/kayobe/inventory/infra-vms | 2 ++ etc/kayobe/network-allocation.yml | 4 ++-- 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter create mode 100644 etc/kayobe/inventory/group_vars/infra-vms/network-interfaces create mode 100644 etc/kayobe/inventory/host_vars/infra-vm-1 create mode 100644 etc/kayobe/inventory/infra-vms diff --git a/etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter b/etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter new file mode 100644 index 0000000..54abbf2 --- /dev/null +++ b/etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter @@ -0,0 +1,3 @@ +--- +# Use a virtual environment for remote operations. +ansible_python_interpreter: "{{ virtualenv_path }}/kayobe/bin/python" diff --git a/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces b/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces new file mode 100644 index 0000000..015413d --- /dev/null +++ b/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces @@ -0,0 +1,12 @@ +--- +############################################################################### +# Network interface definitions for the infra-vms group. + +# Overcloud provisioning network IP information. +# provision_oc_net_interface: +# provision_oc_net_bridge_ports: +# provision_oc_net_bond_slaves: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inventory/host_vars/infra-vm-1 b/etc/kayobe/inventory/host_vars/infra-vm-1 new file mode 100644 index 0000000..3179497 --- /dev/null +++ b/etc/kayobe/inventory/host_vars/infra-vm-1 @@ -0,0 +1,7 @@ +--- + +# Number of vCPUs. +infra_vm_vcpus: 1 + +# Memory in MB. +infra_vm_memory_mb: "{{ 2 * 1024 }}" diff --git a/etc/kayobe/inventory/infra-vms b/etc/kayobe/inventory/infra-vms new file mode 100644 index 0000000..8767b1a --- /dev/null +++ b/etc/kayobe/inventory/infra-vms @@ -0,0 +1,2 @@ +[infra-vms] +infra-vm-1 diff --git a/etc/kayobe/network-allocation.yml b/etc/kayobe/network-allocation.yml index cb05f43..aa12640 100644 --- a/etc/kayobe/network-allocation.yml +++ b/etc/kayobe/network-allocation.yml @@ -1,5 +1,5 @@ ---- aio_ips: controller0: 192.168.33.3 - seed-hypervisor: 192.168.33.4 + infra-vm-1: 192.168.33.6 seed: 192.168.33.5 + seed-hypervisor: 192.168.33.4 From 206f7f996876c0f261f1ebb0a19db5cb39fec67e Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 5 Nov 2021 15:01:45 +0100 Subject: [PATCH 36/57] Fix configuration sync for infra-vms Change-Id: Ic21d883a83ff738b89a39ba35a4d63c7d1762649 --- etc/kayobe/infra-vms.yml | 2 +- .../group_vars/infra-vms/ansible-python-interpreter | 3 +++ .../group_vars/infra-vms/network-interfaces | 12 ++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter create mode 100644 etc/kayobe/inventory/group_vars/infra-vms/network-interfaces diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index 4fb9cc1..c8aec1c 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -53,7 +53,7 @@ #infra_vm_wait_connection_ssh_extra_args: # OS family. Needed for config drive generation. -# infra_vm_os_family: +#infra_vm_os_family: ############################################################################### # Infrastructure VM node configuration. diff --git a/etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter b/etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter new file mode 100644 index 0000000..54abbf2 --- /dev/null +++ b/etc/kayobe/inventory/group_vars/infra-vms/ansible-python-interpreter @@ -0,0 +1,3 @@ +--- +# Use a virtual environment for remote operations. +ansible_python_interpreter: "{{ virtualenv_path }}/kayobe/bin/python" diff --git a/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces b/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces new file mode 100644 index 0000000..015413d --- /dev/null +++ b/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces @@ -0,0 +1,12 @@ +--- +############################################################################### +# Network interface definitions for the infra-vms group. + +# Overcloud provisioning network IP information. +# provision_oc_net_interface: +# provision_oc_net_bridge_ports: +# provision_oc_net_bond_slaves: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes From 33e5928d6abe96b84780f9a8082b51eb862c4320 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 10 Nov 2021 22:23:37 +0100 Subject: [PATCH 37/57] Synchronise job config with kayobe Change-Id: Iea94a598c7cc1793b5f145bd41e158aa43612890 --- zuul.d/project.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index e7341e5..e7d5e66 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -9,9 +9,11 @@ - kayobe-overcloud-host-configure-centos8s - kayobe-overcloud-host-configure-ubuntu-focal - kayobe-overcloud-upgrade-centos8s + - kayobe-overcloud-upgrade-ubuntu-focal - kayobe-seed-centos8s - kayobe-seed-ubuntu-focal - kayobe-seed-upgrade-centos8s + - kayobe-seed-upgrade-ubuntu-focal - kayobe-seed-vm-centos8s - kayobe-seed-vm-ubuntu-focal @@ -25,8 +27,10 @@ - kayobe-overcloud-host-configure-centos8s - kayobe-overcloud-host-configure-ubuntu-focal - kayobe-overcloud-upgrade-centos8s + - kayobe-overcloud-upgrade-ubuntu-focal - kayobe-seed-centos8s - kayobe-seed-ubuntu-focal - kayobe-seed-upgrade-centos8s + - kayobe-seed-upgrade-ubuntu-focal - kayobe-seed-vm-centos8s - kayobe-seed-vm-ubuntu-focal From da6623c0849bf5572ff2574103195d38d72158ae Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 10 Dec 2021 05:56:44 +0100 Subject: [PATCH 38/57] Configure Ironic to use bios boot mode In Yoga, Ironic changed its default boot mode to UEFI [1]. Tenks does not support it yet, so this is breaking overcloud baremetal testing. [1] https://review.opendev.org/c/openstack/ironic/+/810249 Change-Id: I472177aa4d750cd5b83cde4d2629fe3c449e1373 --- etc/kayobe/kolla/config/ironic.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/kayobe/kolla/config/ironic.conf b/etc/kayobe/kolla/config/ironic.conf index 45f8488..1c3c0df 100644 --- a/etc/kayobe/kolla/config/ironic.conf +++ b/etc/kayobe/kolla/config/ironic.conf @@ -1,2 +1,6 @@ [DEFAULT] minimum_required_memory = 256 + +[deploy] +# Use bios boot mode until Tenks supports UEFI +default_boot_mode = bios From 8b618b7e5a86bda2722427bc1072c24b31677b93 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Mon, 14 Feb 2022 09:11:29 +0000 Subject: [PATCH 39/57] ironic: use ipmitool retries In Ubuntu baremetal CI testing, we saw issues with IPMI commands failing, resuling in job failures: Error setting Chassis Boot Parameter 5 A metal3.io commit [1] was found that fixes the issue by moving IPMI retries from ironic to ipmitool, which has a side-effect of increasing the timeout. This change applies the same configuration. [1] https://github.com/metal3-io/ironic-image/commit/6bc1499d8bb04c2c859b970b3739c3a8ed66ae2a Change-Id: Ib4fce74cebebe85c31049eafe2eeb6b28dfab041 --- etc/kayobe/kolla/config/ironic.conf | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/etc/kayobe/kolla/config/ironic.conf b/etc/kayobe/kolla/config/ironic.conf index 1c3c0df..58635db 100644 --- a/etc/kayobe/kolla/config/ironic.conf +++ b/etc/kayobe/kolla/config/ironic.conf @@ -4,3 +4,25 @@ minimum_required_memory = 256 [deploy] # Use bios boot mode until Tenks supports UEFI default_boot_mode = bios + +# This IPMI configuration has been taken from the metal3.io ironic-image +# project. It is necessary to make IPMI reliable in Kayobe Ubuntu CI jobs. +# Without this, we saw the following error: +# Error setting Chassis Boot Parameter 5 +# https://github.com/metal3-io/ironic-image/commit/6bc1499d8bb04c2c859b970b3739c3a8ed66ae2a +[ipmi] +# use_ipmitool_retries transfers the responsibility of retrying to ipmitool +# when supported. If set to false, then ipmitool is called as follows : +# $ipmitool -R 1 -N 1 ... +# and Ironic handles the retry loop. +use_ipmitool_retries = true +# The following parameters are the defaults in Ironic. They are used in the +# following way if use_ipmitool_retries is set to true: +# $ipmitool -R -N ... +# where : +# X = command_retry_timeout / min_command_interval +# Y = min_command_interval +# If use_ipmitool_retries is false, then ironic retries X times, with an +# interval of Y in between each tries. +min_command_interval = 5 +command_retry_timeout = 60 From 46519602de48516245c0e4de28219250c90d7bf7 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 15 Feb 2022 11:40:32 +0000 Subject: [PATCH 40/57] libvirt: Don't require Virtualisation Technology (VT) Hosts used for development, test or CI may not have Virtualization Technology (VT) enabled. Don't fail if it's disabled. Story: 2009858 Task: 44496 Change-Id: Ie7f9e5f6682985e08c5bd22441f9ba6aee34b64a --- etc/kayobe/libvirt.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 etc/kayobe/libvirt.yml diff --git a/etc/kayobe/libvirt.yml b/etc/kayobe/libvirt.yml new file mode 100644 index 0000000..2fb0d8c --- /dev/null +++ b/etc/kayobe/libvirt.yml @@ -0,0 +1,4 @@ +--- +# Hosts used for development, test or CI may not have Virtualization Technology +# (VT) enabled. Don't fail if it's disabled. +libvirt_host_require_vt: false From d8efff09122f7e4393a9124a56f9b6b0f95381b2 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 1 Feb 2022 15:09:08 +0000 Subject: [PATCH 41/57] Revert "Configure Ironic to use bios boot mode" This reverts commit da6623c0849bf5572ff2574103195d38d72158ae. Reason for revert: Tenks now supports UEFI boot mode. Change-Id: I988a46b19a7dbad827466d9702d8f63f47d1d838 --- etc/kayobe/kolla/config/ironic.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/etc/kayobe/kolla/config/ironic.conf b/etc/kayobe/kolla/config/ironic.conf index 58635db..3a59efa 100644 --- a/etc/kayobe/kolla/config/ironic.conf +++ b/etc/kayobe/kolla/config/ironic.conf @@ -2,9 +2,6 @@ minimum_required_memory = 256 [deploy] -# Use bios boot mode until Tenks supports UEFI -default_boot_mode = bios - # This IPMI configuration has been taken from the metal3.io ironic-image # project. It is necessary to make IPMI reliable in Kayobe Ubuntu CI jobs. # Without this, we saw the following error: From c9eb56646322fae1529437295da48fdf3248ef47 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 31 Mar 2022 17:30:05 +0100 Subject: [PATCH 42/57] [release] Sync with kayobe changes for Yoga Depends-On: https://review.opendev.org/c/openstack/kayobe-config/+/836041 Change-Id: If0a162a9d21c89fa6122c26dff4a484508d89c04 --- etc/kayobe/apt.yml | 35 +++++++++++++++ etc/kayobe/bifrost.yml | 9 ++++ etc/kayobe/compute.yml | 47 ++++++++++++++++++++ etc/kayobe/dnf.yml | 10 ++++- etc/kayobe/globals.yml | 7 +-- etc/kayobe/infra-vms.yml | 5 ++- etc/kayobe/ipa.yml | 2 +- etc/kayobe/kolla.yml | 32 +++++++++++--- etc/kayobe/networks.yml | 9 ++++ etc/kayobe/openstack.yml | 4 +- etc/kayobe/overcloud-dib.yml | 81 ++++++++++++++++++++++++++++++++++ etc/kayobe/proxy.yml | 20 +++++++++ etc/kayobe/seed-hypervisor.yml | 3 ++ etc/kayobe/seed-vm.yml | 7 ++- etc/kayobe/time.yml | 3 ++ 15 files changed, 258 insertions(+), 16 deletions(-) create mode 100644 etc/kayobe/overcloud-dib.yml create mode 100644 etc/kayobe/proxy.yml diff --git a/etc/kayobe/apt.yml b/etc/kayobe/apt.yml index 5f278e3..34bfdd2 100644 --- a/etc/kayobe/apt.yml +++ b/etc/kayobe/apt.yml @@ -11,6 +11,41 @@ # Apt proxy URL for HTTPS. Default is {{ apt_proxy_http }}. #apt_proxy_https: +# List of Apt configuration options. Each item is a dict with the following +# keys: +# * content: free-form configuration file content +# * filename: name of a file in /etc/apt/apt.conf.d/ in which to write the +# configuration +# Default is an empty list. +#apt_config: + +# List of apt keys. Each item is a dict containing the following keys: +# * url: URL of key +# * filename: Name of a file in which to store the downloaded key. The +# extension should be '.asc' for ASCII-armoured keys, or '.gpg' otherwise. +# Default is an empty list. +#apt_keys: + +# A list of Apt repositories. Each item is a dict with the following keys: +# * types: whitespace-separated list of repository types, e.g. deb or deb-src +# (optional, default is 'deb') +# * url: URL of the repository +# * suites: whitespace-separated list of suites, e.g. focal (optional, default +# is ansible_facts.distribution_release) +# * components: whitespace-separated list of components, e.g. main (optional, +# default is 'main') +# * signed_by: whitespace-separated list of names of GPG keyring files in +# apt_keys_path (optional, default is unset) +# * architecture: whitespace-separated list of architectures that will be used +# (optional, default is unset) +# Default is an empty list. +#apt_repositories: + +# Whether to disable repositories in /etc/apt/sources.list. This may be used +# when replacing the distribution repositories via apt_repositories. +# Default is false. +#apt_disable_sources_list: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 0bfcec7..a9eba19 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -65,6 +65,12 @@ # Name of disk image file to deploy. Default is "deployment_image.qcow2". #kolla_bifrost_deploy_image_filename: +# UUID of the root filesystem contained within the deployment image. +# See below URL for instructions on how to extract it: +# https://docs.openstack.org/ironic/latest/admin/raid.html#image-requirements +# Default is none. +#kolla_bifrost_deploy_image_rootfs: + ############################################################################### # Ironic configuration. @@ -86,6 +92,9 @@ #kolla_bifrost_inspector_port_addition: # List of extra kernel parameters for the inspector default PXE configuration. +# Default is {{ inspector_extra_kernel_options }}, defined in inspector.yml. +# When customising this variable, the default extra kernel parameters should be +# kept to retain full node inspection capabilities. #kolla_bifrost_inspector_extra_kernel_options: # List of introspection rules for Bifrost's Ironic Inspector service. diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index cd0ceb2..b1d8d65 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -143,6 +143,53 @@ # - state: enabled #compute_firewalld_rules: +############################################################################### +# Compute node host libvirt configuration. + +# Whether to enable a host libvirt daemon. Default is true if kolla_enable_nova +# is true and kolla_enable_nova_libvirt_container is false. +#compute_libvirt_enabled: + +# A dict of default configuration options to write to +# /etc/libvirt/libvirtd.conf. +#compute_libvirt_conf_default: + +# A dict of additional configuration options to write to +# /etc/libvirt/libvirtd.conf. +#compute_libvirt_conf_extra: + +# A dict of configuration options to write to /etc/libvirt/libvirtd.conf. +# Default is a combination of compute_libvirt_conf_default and +# compute_libvirt_conf_extra. +#compute_libvirt_conf: + +# Numerical log level for libvirtd. Default is 3. +#compute_libvirtd_log_level: + +# A dict of default configuration options to write to +# /etc/libvirt/qemu.conf. +#compute_qemu_conf_default: + +# A dict of additional configuration options to write to +# /etc/libvirt/qemu.conf. +#compute_qemu_conf_extra: + +# A dict of configuration options to write to /etc/libvirt/qemu.conf. +# Default is a combination of compute_qemu_conf_default and +# compute_qemu_conf_extra. +#compute_qemu_conf: + +# Whether to enable a libvirt TLS listener. Default is false. +#compute_libvirt_enable_tls: + +# Whether to install a Ceph package repository on CentOS and Rocky hosts. +# Default is true. +#compute_libvirt_ceph_repo_install: + +# Ceph package repository release to install on CentOS and Rocky hosts when +# compute_libvirt_ceph_repo_install is true. Default is 'pacific'. +#compute_libvirt_ceph_repo_release: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/dnf.yml b/etc/kayobe/dnf.yml index cf09b86..da4ea22 100644 --- a/etc/kayobe/dnf.yml +++ b/etc/kayobe/dnf.yml @@ -12,12 +12,18 @@ # Whether or not to use a local Yum mirror. Default value is 'false'. #dnf_use_local_mirror: -# Mirror FQDN for Yum repos. Default value is 'mirror.centos.org'. +# Mirror FQDN for Yum CentOS repos. Default value is 'mirror.centos.org'. #dnf_centos_mirror_host: # Mirror directory for Yum CentOS repos. Default value is 'centos'. #dnf_centos_mirror_directory: +# Mirror FQDN for Yum Rocky repos. Default value is 'dl.rockylinux.org'. +#dnf_rocky_mirror_host: + +# Mirror directory for Yum Rocky repos. Default value is 'pub/rocky'. +#dnf_rocky_mirror_directory: + # Mirror FQDN for Yum EPEL repos. Default value is # 'download.fedoraproject.org'. #dnf_epel_mirror_host: @@ -38,7 +44,7 @@ #dnf_custom_repos: # Whether to install the epel-release package. This affects RedHat-based -# systems only. Default value is 'true'. +# systems only. Default value is 'false'. #dnf_install_epel: ############################################################################### diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index cf01146..9495a48 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -45,12 +45,13 @@ ############################################################################### # OS distribution. -# OS distribution name. Valid options are "centos", "ubuntu". Default is -# "centos". +# OS distribution name. Valid options are "centos", "rocky", "ubuntu". Default +# is "centos". os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # OS release. Valid options are "8-stream" when os_distribution is "centos", or -# "focal" when os_distribution is "ubuntu". +# "8" when os_distribution is "rocky", or "focal" when os_distribution is +# "ubuntu". #os_release: ############################################################################### diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index c8aec1c..3274ed8 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -32,7 +32,10 @@ # Base image for the infra VM root volume. Default is # "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", or -# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210210.0.x86_64.qcow2" +# http://dl.rockylinux.org/pub/rocky/8.5/images/Rocky-8-GenericCloud-8.5-20211114.2.x86_64.qcow2 +# when os_distribution is "rocky", +# or +# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210603.0.x86_64.qcow2" # otherwise. #infra_vm_root_image: diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index da7c9ee..4d3794d 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -16,7 +16,7 @@ # URL of IPA builder source repository. #ipa_builder_source_url: -# Version of IPA builder source repository. Default is master. +# Version of IPA builder source repository. Default is {{ openstack_branch }}. #ipa_builder_source_version: # List of default Diskimage Builder (DIB) elements to use when building IPA diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 9bc8773..e2e155f 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -50,6 +50,11 @@ # Extra requirements to install inside the kolla-ansible virtualenv. #kolla_ansible_venv_extra_requirements: +# Pip requirement specifier for the ansible package. NOTE: This limits the +# version of ansible used by kolla-ansible to avoid new releases from breaking +# tested code. Changes to this limit should be tested. +#kolla_ansible_venv_ansible: + # Path to Kolla-ansible configuration directory. Default is $KOLLA_CONFIG_PATH # or /etc/kolla if $KOLLA_CONFIG_PATH is not set. #kolla_config_path: @@ -62,7 +67,8 @@ # Kolla configuration. # Kolla base container image distribution. Options are "centos", "debian", -# "ubuntu". Default is {{ os_distribution }}. +# "ubuntu". Default is +# {{ 'centos' if os_distribution == 'rocky' else os_distribution }}. #kolla_base_distro: # Kolla container image type: binary or source. Default is 'source'. @@ -261,6 +267,7 @@ #kolla_enable_ceilometer: #kolla_enable_ceilometer_horizon_policy_file: #kolla_enable_ceilometer_ipmi: +#kolla_enable_ceilometer_prometheus_pushgateway: #kolla_enable_cells: #kolla_enable_central_logging: #kolla_enable_ceph_rgw: @@ -368,6 +375,7 @@ #kolla_enable_nova: #kolla_enable_nova_fake: #kolla_enable_nova_horizon_policy_file: +#kolla_enable_nova_libvirt_container: #kolla_enable_nova_serialconsole_proxy: #kolla_enable_nova_ssh: #kolla_enable_octavia: @@ -385,8 +393,10 @@ #kolla_enable_prometheus_cadvisor: #kolla_enable_prometheus_ceph_mgr_exporter: #kolla_enable_prometheus_elasticsearch_exporter: +#kolla_enable_prometheus_etcd_integration: #kolla_enable_prometheus_fluentd_integration: #kolla_enable_prometheus_haproxy_exporter: +#kolla_enable_prometheus_libvirt_exporter: #kolla_enable_prometheus_memcached_exporter: #kolla_enable_prometheus_mysqld_exporter: #kolla_enable_prometheus_node_exporter: @@ -408,9 +418,9 @@ #kolla_enable_telegraf: #kolla_enable_trove: #kolla_enable_trove_singletenant: +#kolla_enable_venus: #kolla_enable_vitrage: #kolla_enable_vitrage_prometheus_datasource: -#kolla_enable_vmtp: #kolla_enable_watcher: #kolla_enable_zookeeper: #kolla_enable_zun: @@ -456,9 +466,6 @@ kolla_internal_vip_address: 192.168.33.2 # certificate bundle for the external API. # # Note that this should be formatted as a literal style block scalar. -# -# NOTE: kolla_tls_cert has been renamed to kolla_external_tls_cert. Support for -# the deprecated name kolla_tls_cert will be removed in a future release. #kolla_external_tls_cert: # Path to a CA certificate file to use for the OS_CACERT environment variable @@ -479,6 +486,21 @@ kolla_internal_vip_address: 192.168.33.2 # default. #kolla_internal_fqdn_cacert: +############################################################################### +# Proxy configuration + +# HTTP proxy URL (format: http(s)://[user:password@]proxy_name:port) used by +# Kolla. Default value is "{{ http_proxy }}". +#kolla_http_proxy: + +# HTTPS proxy URL (format: http(s)://[user:password@]proxy_name:port) used by +# Kolla. Default value is "{{ https_proxy }}". +#kolla_https_proxy: + +# List of domains, hostnames, IP addresses and networks for which no proxy is +# used. Default value is "{{ no_proxy }}". +#kolla_no_proxy: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index e0718c7..1a1ab26 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -113,6 +113,15 @@ aio_inspection_allocation_pool_end: 192.168.33.254 # 'name' items. These tables will be added to /etc/iproute2/rt_tables. #network_route_tables: +############################################################################### +# Network connectivity check configuration. + +# External IP address to check. Default is 8.8.8.8. +#nc_external_ip: + +# External hostname to check. Default is google.com. +#nc_external_hostname: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index f2fe55a..67ad989 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "xena". +# Name of the current OpenStack release. Default is "yoga". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/xena". +# Name of the current OpenStack branch. Default is "stable/yoga". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml new file mode 100644 index 0000000..3d69f8e --- /dev/null +++ b/etc/kayobe/overcloud-dib.yml @@ -0,0 +1,81 @@ +--- +# Overcloud host disk image configuration. + +############################################################################### +# Diskimage-builder configuration for overcloud host disk images. + +# Whether to build host disk images with DIB directly instead of through +# Bifrost. Setting it to true disables Bifrost image build and allows images to +# be built with the `kayobe overcloud host image build` command. Default value +# is {{ os_distribution == 'rocky' }}. This will change in a future release. +#overcloud_dib_build_host_images: + +# List of overcloud host disk images to build. Each element is a dict defining +# an image in a format accepted by the stackhpc.os-images role. Default is to +# build an image named "deployment_image" configured with the overcloud_dib_* +# variables defined below: {"name": "deployment_image", "elements": "{{ +# overcloud_dib_elements }}", "env": "{{ overcloud_dib_env_vars }}", +# "packages": "{{ overcloud_dib_packages }}"}. +#overcloud_dib_host_images: + +# DIB base OS element. Default is {{ 'rocky-container' if os_distribution == +# 'rocky' else os_distribution }}. +#overcloud_dib_os_element: + +# DIB image OS release. Default is {{ os_release }}. +#overcloud_dib_os_release: + +# List of default DIB elements. Default is ["centos", "cloud-init-datasources", +# "disable-selinux", "enable-serial-console", "vm"] when +# overcloud_dib_os_element is "centos", or ["rocky-container", +# "cloud-init-datasources", "disable-selinux", "enable-serial-console", "vm"] +# when overcloud_dib_os_element is "rocky" or +# ["ubuntu", "cloud-init-datasources", "enable-serial-console", "vm"] +# when overcloud_dib_os_element is "ubuntu". +#overcloud_dib_elements_default: + +# List of additional DIB elements. Default is none. +#overcloud_dib_elements_extra: + +# List of DIB elements. Default is a combination of +# overcloud_dib_elements_default and overcloud_dib_elements_extra. +#overcloud_dib_elements: + +# DIB default environment variables. Default is +# {"DIB_BOOTLOADER_DEFAULT_CMDLINE": "nofb nomodeset gfxpayload=text +# net.ifnames=1", "DIB_CLOUD_INIT_DATASOURCES": "ConfigDrive", +# "DIB_CONTAINERFILE_RUNTIME": "docker", "DIB_CONTAINERFILE_NETWORK_DRIVER": +# "host", "DIB_RELEASE": "{{ overcloud_dib_os_release }}"}. +#overcloud_dib_env_vars_default: + +# DIB additional environment variables. Default is none. +#overcloud_dib_env_vars_extra: + +# DIB environment variables. Default is combination of +# overcloud_dib_env_vars_default and overcloud_dib_env_vars_extra. +#overcloud_dib_env_vars: + +# List of DIB packages to install. Default is to install no extra packages. +#overcloud_dib_packages: + +# List of default git repositories containing Diskimage Builder (DIB) elements. +# See stackhpc.os-images role for usage. Default is empty. +#overcloud_dib_git_elements_default: + +# List of additional git repositories containing Diskimage Builder (DIB) +# elements. See stackhpc.os-images role for usage. Default is empty. +#overcloud_dib_git_elements_extra: + +# List of git repositories containing Diskimage Builder (DIB) elements. See +# stackhpc.os-images role for usage. Default is a combination of +# overcloud_dib_git_elements_default and overcloud_dib_git_elements_extra. +#overcloud_dib_git_elements: + +# Upper constraints file for installing packages in the virtual environment +# used for building overcloud host disk images. Default is {{ +# pip_upper_constraints_file }}. +#overcloud_dib_upper_constraints_file: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/proxy.yml b/etc/kayobe/proxy.yml new file mode 100644 index 0000000..7d63017 --- /dev/null +++ b/etc/kayobe/proxy.yml @@ -0,0 +1,20 @@ +--- +############################################################################### +# Configuration of HTTP(S) proxies. + +# HTTP proxy URL (format: http(s)://[user:password@]proxy_name:port). By +# default no proxy is used. +#http_proxy: + +# HTTPS proxy URL (format: http(s)://[user:password@]proxy_name:port). By +# default no proxy is used. +#https_proxy: + +# List of domains, hostnames, IP addresses and networks for which no proxy is +# used. Defaults to ["127.0.0.1", "localhost", "{{ docker_registry }}"]. This +# is configured only if either http_proxy or https_proxy is set. +#no_proxy: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index cbc8a50..9f1e6ad 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -18,6 +18,9 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" # List of extra networks to which seed hypervisor nodes are attached. #seed_hypervisor_extra_network_interfaces: +# Whether to enable SNAT on seed hypervisor node. Default is false. +#seed_hypervisor_enable_snat: + ############################################################################### # Seed hypervisor node software RAID configuration. diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index 9ad7a74..f8c2ab8 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -25,8 +25,11 @@ # Base image for the seed VM root volume. Default is # "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" -# when os_distribution is "ubuntu", or -# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210210.0.x86_64.qcow2" +# when os_distribution is "ubuntu", +# http://dl.rockylinux.org/pub/rocky/8.5/images/Rocky-8-GenericCloud-8.5-20211114.2.x86_64.qcow2 +# when os_distribution is "rocky", +# or +# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210603.0.x86_64.qcow2" # otherwise. #seed_vm_root_image: diff --git a/etc/kayobe/time.yml b/etc/kayobe/time.yml index 23c1d0d..8bfbd33 100644 --- a/etc/kayobe/time.yml +++ b/etc/kayobe/time.yml @@ -30,6 +30,9 @@ # #chrony_ntp_servers: +# Synchronise hardware clock with system time. Default is true. +#chrony_rtcsync_enabled: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes From 0780e85a632d3ffbff2917e211a908d9952cec2e Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 27 Apr 2022 12:42:03 +0200 Subject: [PATCH 43/57] [release] Synchronise with latest kayobe changes for Yoga Change-Id: Ie58a441e3d57e476084d2bd611fe7a397d136323 --- etc/kayobe/kolla.yml | 1 - etc/kayobe/proxy.yml | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index e2e155f..488ce10 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -328,7 +328,6 @@ #kolla_enable_horizon_zun: #kolla_enable_influxdb: #kolla_enable_ironic: -#kolla_enable_ironic_ipxe: #kolla_enable_ironic_neutron_agent: #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: diff --git a/etc/kayobe/proxy.yml b/etc/kayobe/proxy.yml index 7d63017..714b9da 100644 --- a/etc/kayobe/proxy.yml +++ b/etc/kayobe/proxy.yml @@ -11,8 +11,10 @@ #https_proxy: # List of domains, hostnames, IP addresses and networks for which no proxy is -# used. Defaults to ["127.0.0.1", "localhost", "{{ docker_registry }}"]. This -# is configured only if either http_proxy or https_proxy is set. +# used. Defaults to ["127.0.0.1", "localhost", "{{ ('http://' ~ +# docker_registry) | urlsplit('hostname') }}"] if docker_registry is set, or +# ["127.0.0.1", "localhost"] otherwise. This is configured only if either +# http_proxy or https_proxy is set. #no_proxy: ############################################################################### From bb5810746415ae244b65c6d7b63bbd7dd8a3bc36 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 18 May 2022 10:14:43 +0200 Subject: [PATCH 44/57] [CI] Move queue setting to project level Per [1]. [1] http://lists.zuul-ci.org/pipermail/zuul-discuss/2022-May/001801.html Change-Id: I1f074e24612fb6f205008736330cf1e4b87469ab --- zuul.d/project.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index e7d5e66..57e0864 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -1,5 +1,6 @@ --- - project: + queue: kayobe check: jobs: - openstack-tox-pep8 @@ -18,7 +19,6 @@ - kayobe-seed-vm-ubuntu-focal gate: - queue: kayobe jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8s From 05155c1dcb839da6bd2cf07b71c63a82aae28a65 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Fri, 10 Jun 2022 13:42:18 +0100 Subject: [PATCH 45/57] Avoid rebooting after disabling SELinux This is generally not necessary in development environments, and makes for an awkward development workflow. Change-Id: I7191779c1fb3a192b401886cd591f12c4b0ab2b0 --- etc/kayobe/globals.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 9495a48..523a895 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -65,6 +65,13 @@ os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # to not specify a gather subset. #kayobe_ansible_setup_gather_subset: +############################################################################### +# SELinux configuration. + +# Don't reboot after disabling SELinux in all-in-one environments, as Ansible +# is typically run directly on the controller. +disable_selinux_do_reboot: false + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes From 29cbdca60e3c12403324b8388b406b05bd348faf Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Mon, 8 Aug 2022 15:17:06 +0200 Subject: [PATCH 46/57] Synchronise jobs with kayobe Change-Id: Ib2dec2fc0666e4251ab6ea05ab3bb0772df2f830 --- zuul.d/project.yaml | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 57e0864..a83d926 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -5,32 +5,47 @@ jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8s - - kayobe-overcloud-ubuntu-focal + - kayobe-overcloud-rocky8 + - kayobe-overcloud-ubuntu-jammy - kayobe-overcloud-tls-centos8s - kayobe-overcloud-host-configure-centos8s - - kayobe-overcloud-host-configure-ubuntu-focal + - kayobe-overcloud-host-configure-rocky8 + - kayobe-overcloud-host-configure-ubuntu-jammy - kayobe-overcloud-upgrade-centos8s - kayobe-overcloud-upgrade-ubuntu-focal - kayobe-seed-centos8s - - kayobe-seed-ubuntu-focal + - kayobe-seed-rocky8 + - kayobe-seed-ubuntu-jammy + - kayobe-seed-images-centos8s - kayobe-seed-upgrade-centos8s - kayobe-seed-upgrade-ubuntu-focal - kayobe-seed-vm-centos8s - - kayobe-seed-vm-ubuntu-focal + - kayobe-seed-vm-rocky8 + - kayobe-seed-vm-ubuntu-jammy + - kayobe-infra-vm-centos8s + - kayobe-infra-vm-rocky8 + - kayobe-infra-vm-ubuntu-jammy gate: jobs: - openstack-tox-pep8 - kayobe-overcloud-centos8s - - kayobe-overcloud-ubuntu-focal + - kayobe-overcloud-rocky8 + - kayobe-overcloud-ubuntu-jammy - kayobe-overcloud-tls-centos8s - kayobe-overcloud-host-configure-centos8s - - kayobe-overcloud-host-configure-ubuntu-focal + - kayobe-overcloud-host-configure-rocky8 + - kayobe-overcloud-host-configure-ubuntu-jammy - kayobe-overcloud-upgrade-centos8s - kayobe-overcloud-upgrade-ubuntu-focal - kayobe-seed-centos8s - - kayobe-seed-ubuntu-focal + - kayobe-seed-rocky8 + - kayobe-seed-ubuntu-jammy - kayobe-seed-upgrade-centos8s - kayobe-seed-upgrade-ubuntu-focal - kayobe-seed-vm-centos8s - - kayobe-seed-vm-ubuntu-focal + - kayobe-seed-vm-rocky8 + - kayobe-seed-vm-ubuntu-jammy + - kayobe-infra-vm-centos8s + - kayobe-infra-vm-rocky8 + - kayobe-infra-vm-ubuntu-jammy From fad02cc64280a2c65e3b2cf359da8bc9a7fa9f6b Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Thu, 15 Dec 2022 11:38:45 +0100 Subject: [PATCH 47/57] [release] Sync kayobe-config-dev with kayobe changes Change-Id: Iefdf14be37c4c66accf381f9a81c12d9588a1610 --- etc/kayobe/apt.yml | 2 +- etc/kayobe/compute.yml | 6 +++ etc/kayobe/globals.yml | 6 +-- etc/kayobe/grafana.yml | 36 ---------------- etc/kayobe/infra-vms.yml | 6 +-- etc/kayobe/inspector.yml | 3 -- .../group_vars/compute/network-interfaces | 31 ++++++-------- .../group_vars/infra-vms/network-interfaces | 16 +++++-- .../seed-hypervisor/network-interfaces | 7 ++++ .../group_vars/storage/network-interfaces | 41 ++++++------------ etc/kayobe/ipa.yml | 7 ++++ etc/kayobe/ironic.yml | 4 -- etc/kayobe/kolla.yml | 39 ++++++++++------- etc/kayobe/monasca.yml | 18 -------- etc/kayobe/neutron.yml | 7 ++++ etc/kayobe/openstack.yml | 4 +- etc/kayobe/overcloud-dib.yml | 9 +++- etc/kayobe/seed-vm.yml | 12 ++++-- etc/kayobe/seed.yml | 1 - etc/kayobe/ssh.yml | 3 ++ zuul.d/project.yaml | 42 +++++++------------ 21 files changed, 131 insertions(+), 169 deletions(-) delete mode 100644 etc/kayobe/monasca.yml diff --git a/etc/kayobe/apt.yml b/etc/kayobe/apt.yml index 34bfdd2..9a9d885 100644 --- a/etc/kayobe/apt.yml +++ b/etc/kayobe/apt.yml @@ -30,7 +30,7 @@ # * types: whitespace-separated list of repository types, e.g. deb or deb-src # (optional, default is 'deb') # * url: URL of the repository -# * suites: whitespace-separated list of suites, e.g. focal (optional, default +# * suites: whitespace-separated list of suites, e.g. jammy (optional, default # is ansible_facts.distribution_release) # * components: whitespace-separated list of components, e.g. main (optional, # default is 'main') diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index b1d8d65..03c41e3 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -179,6 +179,12 @@ # compute_qemu_conf_extra. #compute_qemu_conf: +# Whether to enable libvirt SASL authentication. Default is true. +#compute_libvirt_enable_sasl: true + +# libvirt SASL password. Default is unset. +#compute_libvirt_sasl_password: + # Whether to enable a libvirt TLS listener. Default is false. #compute_libvirt_enable_tls: diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 523a895..58717f8 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -46,11 +46,11 @@ # OS distribution. # OS distribution name. Valid options are "centos", "rocky", "ubuntu". Default -# is "centos". +# is "rocky". os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" -# OS release. Valid options are "8-stream" when os_distribution is "centos", or -# "8" when os_distribution is "rocky", or "focal" when os_distribution is +# OS release. Valid options are "9-stream" when os_distribution is "centos", or +# "9" when os_distribution is "rocky", or "jammy" when os_distribution is # "ubuntu". #os_release: diff --git a/etc/kayobe/grafana.yml b/etc/kayobe/grafana.yml index c86a26a..d67a972 100644 --- a/etc/kayobe/grafana.yml +++ b/etc/kayobe/grafana.yml @@ -6,42 +6,6 @@ # should not conflict with an OpenStack user name. #grafana_local_admin_user_name: -# Path to git repo containing Grafana dashboards. Eg. -# https://github.com/stackhpc/grafana-reference-dashboards.git -#grafana_monitoring_node_dashboard_repo: - -# Dashboard repo version. Optional, defaults to 'HEAD'. -#grafana_monitoring_node_dashboard_repo_version: - -# Path to which Grafana dashboards will be cloned to a monitoring node -#grafana_monitoring_node_dashboard_repo_checkout_path: - -# The path, relative to the grafana_monitoring_node_dashboard_repo_checkout_path -# containing the dashboards. Eg. /prometheus/control_plane -#grafana_monitoring_node_dashboard_repo_path: - -# The Grafana organisation for the control plane. Note that for Monasca -# Grafana with domain support the format is: -# organisation_name@openstack_domain -#grafana_control_plane_organisation: - -# A dict of datasources to configure. See the stackhpc.grafana-conf role -# for all supported datasources. Example: -# -# grafana_datasources: -# monasca_api: -# port: 8082 -# host: monasca-api -# monasca_log_api: -# port: 5607 -# host: monasca-log-api -# elasticsearch: -# port: 9200 -# host: monasca-elasticsearch -# project_id: "some_id" -# -#grafana_datasources: - ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index 3274ed8..c8050d0 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -30,12 +30,12 @@ #infra_vm_root_format: # Base image for the infra VM root volume. Default is -# "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" +# "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", or -# http://dl.rockylinux.org/pub/rocky/8.5/images/Rocky-8-GenericCloud-8.5-20211114.2.x86_64.qcow2 +# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 # when os_distribution is "rocky", # or -# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210603.0.x86_64.qcow2" +# "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20221206.0.x86_64.qcow2" # otherwise. #infra_vm_root_image: diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index a355373..90c5d87 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -84,9 +84,6 @@ # Ironic inspector rule to set deployment ramdisk. #inspector_rule_deploy_ramdisk: -# Ironic inspector rule to set local boot capability -#inspector_rule_local_boot: - # Ironic inspector rule to initialise root device hints. #inspector_rule_root_hint_init: diff --git a/etc/kayobe/inventory/group_vars/compute/network-interfaces b/etc/kayobe/inventory/group_vars/compute/network-interfaces index 421f69d..0592581 100644 --- a/etc/kayobe/inventory/group_vars/compute/network-interfaces +++ b/etc/kayobe/inventory/group_vars/compute/network-interfaces @@ -2,25 +2,18 @@ ############################################################################### # Network interface definitions for the compute group. -# Overcloud provisioning network IP information. -# provision_oc_net_interface: -# provision_oc_net_bridge_ports: -# provision_oc_net_bond_slaves: - -# Internal network IP information. -# internal_net_interface: -# internal_net_bridge_ports: -# internal_net_bond_slaves: - -# External network IP information. -# external_net_interface: -# external_net_bridge_ports: -# external_net_bond_slaves: - -# Storage network IP information. -# storage_net_interface: -# storage_net_bridge_ports: -# storage_net_bond_slaves: +# NOTE: The content of this section is very deployment-specific, since it +# depends on the names and types of networks in the deployment. It should +# define the group-specific attributes of networks. The following example shows +# a basic configuration for a network called "example": +# +# example_interface: eth0 +# +# Global network attributes such as subnet CIDRs are typically configured in +# etc/kayobe/networks.yml. +# +# Further information on the available network attributes is provided in the +# network configuration reference in the Kayobe documentation. ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces b/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces index 015413d..da2a800 100644 --- a/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces +++ b/etc/kayobe/inventory/group_vars/infra-vms/network-interfaces @@ -2,10 +2,18 @@ ############################################################################### # Network interface definitions for the infra-vms group. -# Overcloud provisioning network IP information. -# provision_oc_net_interface: -# provision_oc_net_bridge_ports: -# provision_oc_net_bond_slaves: +# NOTE: The content of this section is very deployment-specific, since it +# depends on the names and types of networks in the deployment. It should +# define the group-specific attributes of networks. The following example shows +# a basic configuration for a network called "example": +# +# example_interface: eth0 +# +# Global network attributes such as subnet CIDRs are typically configured in +# etc/kayobe/networks.yml. +# +# Further information on the available network attributes is provided in the +# network configuration reference in the Kayobe documentation. ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces b/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces index 3ed2972..387a725 100644 --- a/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces +++ b/etc/kayobe/inventory/group_vars/seed-hypervisor/network-interfaces @@ -1,3 +1,10 @@ --- +############################################################################### +# Network interface definitions for the seed-hypervisor group. + aio_interface: braio aio_bridge_ports: [] + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inventory/group_vars/storage/network-interfaces b/etc/kayobe/inventory/group_vars/storage/network-interfaces index 0b0dd5a..45efd63 100644 --- a/etc/kayobe/inventory/group_vars/storage/network-interfaces +++ b/etc/kayobe/inventory/group_vars/storage/network-interfaces @@ -2,35 +2,18 @@ ############################################################################### # Network interface definitions for the storage group. -# Overcloud provisioning network IP information. -# provision_oc_net_interface: -# provision_oc_net_bridge_ports: -# provision_oc_net_bond_slaves: - -# External network IP information. -# external_net_interface: -# external_net_bridge_ports: -# external_net_bond_slaves: - -# Storage network IP information. -# storage_net_interface: -# storage_net_bridge_ports: -# storage_net_bond_slaves: - -# Storage management network IP information. -# storage_mgmt_net_interface: -# storage_mgmt_net_bridge_ports: -# storage_mgmt_net_bond_slaves: - -# Swift storage network IP information. -# swift_storage_net_interface: -# swift_storage_net_bridge_ports: -# swift_storage_net_bond_slaves: - -# Swift storage management network IP information. -# swift_storage_replication_net_interface: -# swift_storage_replication_net_bridge_ports: -# swift_storage_replication_net_bond_slaves: +# NOTE: The content of this section is very deployment-specific, since it +# depends on the names and types of networks in the deployment. It should +# define the group-specific attributes of networks. The following example shows +# a basic configuration for a network called "example": +# +# example_interface: eth0 +# +# Global network attributes such as subnet CIDRs are typically configured in +# etc/kayobe/networks.yml. +# +# Further information on the available network attributes is provided in the +# network configuration reference in the Kayobe documentation. ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index 4d3794d..4636dd7 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -19,6 +19,9 @@ # Version of IPA builder source repository. Default is {{ openstack_branch }}. #ipa_builder_source_version: +# List of additional build host packages to install. Default is an empty list. +#ipa_build_dib_host_packages_extra: + # List of default Diskimage Builder (DIB) elements to use when building IPA # images. Default is ["centos", "enable-serial-console", # "ironic-python-agent-ramdisk"]. @@ -65,6 +68,10 @@ # used for building IPA images. Default is {{ pip_upper_constraints_file }}. #ipa_build_upper_constraints_file: +# Upper constraints file for installation of DIB to build IPA images. +# Default is empty string. +#ipa_build_dib_upper_constraints_file: + ############################################################################### # Ironic Python Agent (IPA) images configuration. diff --git a/etc/kayobe/ironic.yml b/etc/kayobe/ironic.yml index 6083f70..1298fcb 100644 --- a/etc/kayobe/ironic.yml +++ b/etc/kayobe/ironic.yml @@ -91,10 +91,6 @@ # vendor_interface field set. #kolla_ironic_default_vendor_interface: -# Default boot option to use when no boot option is requested in node's -# driver_info. -#kolla_ironic_default_boot_option: - # Name of the Neutron network to use for cleaning. #kolla_ironic_cleaning_network: diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 488ce10..1364541 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -67,12 +67,16 @@ # Kolla configuration. # Kolla base container image distribution. Options are "centos", "debian", -# "ubuntu". Default is -# {{ 'centos' if os_distribution == 'rocky' else os_distribution }}. +# "rocky", "ubuntu". Default is {{ os_distribution }}. #kolla_base_distro: -# Kolla container image type: binary or source. Default is 'source'. -#kolla_install_type: +# Kolla base container image distribution version default map. +# Defines default versions for each distribution. +#kolla_base_distro_version_default_map: + +# Kolla base container image distribution version. +# Default is kolla_base_distro_version_default_map[kolla_base_distro]. +#kolla_base_distro_version: # URL of docker registry to use for Kolla images. Default is not set, in which # case Dockerhub will be used. @@ -102,8 +106,8 @@ # {{ kolla_openstack_release }}. #kolla_tag: -# Dict mapping names of sources to their definitions for -# kolla_install_type=source. See kolla.common.config for details. +# Dict mapping names of sources to their definitions. +# See kolla.common.config for details. # Example: # kolla_sources: # ironic-base: @@ -277,6 +281,9 @@ #kolla_enable_cinder_backend_iscsi: #kolla_enable_cinder_backend_lvm: #kolla_enable_cinder_backend_nfs: +#kolla_enable_cinder_backend_pure_fc: +#kolla_enable_cinder_backend_pure_iscsi: +#kolla_enable_cinder_backend_pure_roce: #kolla_enable_cinder_backend_quobyte: #kolla_enable_cinder_backup: #kolla_enable_cinder_horizon_policy_file: @@ -286,9 +293,8 @@ #kolla_enable_cyborg: #kolla_enable_designate: #kolla_enable_destroy_images: -#kolla_enable_elasticsearch: -#kolla_enable_elasticsearch_curator: #kolla_enable_etcd: +#kolla_enable_external_api_firewalld: #kolla_enable_external_mariadb_load_balancer: #kolla_enable_fluentd: #kolla_enable_freezer: @@ -298,6 +304,7 @@ #kolla_enable_gnocchi: #kolla_enable_gnocchi_statsd: #kolla_enable_grafana: +#kolla_enable_grafana_external: #kolla_enable_hacluster: #kolla_enable_haproxy: #kolla_enable_haproxy_memcached: @@ -314,7 +321,6 @@ #kolla_enable_horizon_manila: #kolla_enable_horizon_masakari: #kolla_enable_horizon_mistral: -#kolla_enable_horizon_monasca: #kolla_enable_horizon_murano: #kolla_enable_horizon_neutron_vpnaas: #kolla_enable_horizon_octavia: @@ -331,12 +337,10 @@ #kolla_enable_ironic_neutron_agent: #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: -#kolla_enable_kafka: #kolla_enable_keepalived: #kolla_enable_keystone: #kolla_enable_keystone_federation: #kolla_enable_keystone_horizon_policy_file: -#kolla_enable_kibana: #kolla_enable_kuryr: #kolla_enable_loadbalancer: #kolla_enable_magnum: @@ -349,9 +353,10 @@ #kolla_enable_mariabackup: #kolla_enable_mariadb: #kolla_enable_masakari: +#kolla_enable_masakari_hostmonitor: +#kolla_enable_masakari_instancemonitor: #kolla_enable_memcached: #kolla_enable_mistral: -#kolla_enable_monasca: #kolla_enable_multipathd: #kolla_enable_murano: #kolla_enable_neutron: @@ -379,6 +384,9 @@ #kolla_enable_nova_ssh: #kolla_enable_octavia: #kolla_enable_octavia_driver_agent: +#kolla_enable_opensearch: +#kolla_enable_opensearch_dashboards: +#kolla_enable_opensearch_dashboards_external: #kolla_enable_openstack_core: #kolla_enable_openvswitch: #kolla_enable_osprofiler: @@ -388,6 +396,7 @@ #kolla_enable_placement: #kolla_enable_prometheus: #kolla_enable_prometheus_alertmanager: +#kolla_enable_prometheus_alertmanager_external: #kolla_enable_prometheus_blackbox_exporter: #kolla_enable_prometheus_cadvisor: #kolla_enable_prometheus_ceph_mgr_exporter: @@ -397,19 +406,20 @@ #kolla_enable_prometheus_haproxy_exporter: #kolla_enable_prometheus_libvirt_exporter: #kolla_enable_prometheus_memcached_exporter: +#kolla_enable_prometheus_msteams: #kolla_enable_prometheus_mysqld_exporter: #kolla_enable_prometheus_node_exporter: #kolla_enable_prometheus_openstack_exporter: +#kolla_enable_prometheus_openstack_exporter_external: #kolla_enable_prometheus_rabbitmq_exporter: #kolla_enable_prometheus_server: -#kolla_enable_qdrouterd: +#kolla_enable_proxysql: #kolla_enable_rabbitmq: #kolla_enable_redis: #kolla_enable_sahara: #kolla_enable_senlin: #kolla_enable_skydive: #kolla_enable_solum: -#kolla_enable_storm: #kolla_enable_swift: #kolla_enable_swift_recon: #kolla_enable_swift_s3api: @@ -421,7 +431,6 @@ #kolla_enable_vitrage: #kolla_enable_vitrage_prometheus_datasource: #kolla_enable_watcher: -#kolla_enable_zookeeper: #kolla_enable_zun: ############################################################################### diff --git a/etc/kayobe/monasca.yml b/etc/kayobe/monasca.yml deleted file mode 100644 index 235bc37..0000000 --- a/etc/kayobe/monasca.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -############################################################################### -# Monasca configuration. - -# Monasca OpenStack Project name. -# The default is "monasca_control_plane". -#monasca_control_plane_project: - -# Monasca OpenStack Domain name. Default is "default". -#monasca_control_plane_domain: - -# Monasca Grafana Server port. Must match kolla-ansible -# var of the same name. Default is "3001". -#monasca_grafana_server_port: - -############################################################################### -# Dummy variable to allow Ansible to accept this file. -workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/neutron.yml b/etc/kayobe/neutron.yml index 489ee8f..6bd2e08 100644 --- a/etc/kayobe/neutron.yml +++ b/etc/kayobe/neutron.yml @@ -47,6 +47,13 @@ # secret: not currently supported #kolla_neutron_ml2_generic_switch_hosts: +# List of Ansible hosts whose switch interfaces are to be configured as tagged +# members of all networks managed by the genericswitch ML2 mechanism driver. +# These hosts will be matched against the description fields in the +# switch_interface_config variable for each switch to determine which +# interfaces should be configured. +#kolla_neutron_ml2_generic_switch_trunk_port_hosts: + # Dict containing additional configuration for switches managed by the # genericswitch ML2 mechanism driver. For per-switch configuration of switches # in kolla_neutron_ml2_generic_switch_hosts, this may be set as a group or diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index 67ad989..c9e02ec 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "yoga". +# Name of the current OpenStack release. Default is "zed". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/yoga". +# Name of the current OpenStack branch. Default is "stable/zed". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml index 3d69f8e..0efa25f 100644 --- a/etc/kayobe/overcloud-dib.yml +++ b/etc/kayobe/overcloud-dib.yml @@ -7,9 +7,12 @@ # Whether to build host disk images with DIB directly instead of through # Bifrost. Setting it to true disables Bifrost image build and allows images to # be built with the `kayobe overcloud host image build` command. Default value -# is {{ os_distribution == 'rocky' }}. This will change in a future release. +# is true. #overcloud_dib_build_host_images: +# List of additional build host packages to install. Default is an empty list. +#overcloud_dib_host_packages_extra: + # List of overcloud host disk images to build. Each element is a dict defining # an image in a format accepted by the stackhpc.os-images role. Default is to # build an image named "deployment_image" configured with the overcloud_dib_* @@ -76,6 +79,10 @@ # pip_upper_constraints_file }}. #overcloud_dib_upper_constraints_file: +# Upper constraints file for installation of DIB to build overcloud host +# disk images. Default is empty string. +#overcloud_dib_dib_upper_constraints_file: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index f8c2ab8..f10fbaa 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -14,6 +14,12 @@ # List of volumes. #seed_vm_volumes: +# Root volume. +#seed_vm_root_volume: + +# Data volume. +#seed_vm_data_volume: + # Name of the storage pool for the seed VM volumes. #seed_vm_pool: @@ -24,12 +30,12 @@ #seed_vm_root_format: # Base image for the seed VM root volume. Default is -# "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" +# "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", -# http://dl.rockylinux.org/pub/rocky/8.5/images/Rocky-8-GenericCloud-8.5-20211114.2.x86_64.qcow2 +# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 # when os_distribution is "rocky", # or -# "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210603.0.x86_64.qcow2" +# "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20221206.0.x86_64.qcow2" # otherwise. #seed_vm_root_image: diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index fdbf7fd..e8f82d3 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -100,7 +100,6 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # Example: # seed_containers: # squid: -# name: "squid" # image: "stackhpc/squid:3.5.20-1" # pre: "{{ kayobe_env_config_path }}/containers/squid/pre.yml" # post: "{{ kayobe_env_config_path }}/containers/squid/post.yml" diff --git a/etc/kayobe/ssh.yml b/etc/kayobe/ssh.yml index 1463a4b..5ab63e9 100644 --- a/etc/kayobe/ssh.yml +++ b/etc/kayobe/ssh.yml @@ -2,6 +2,9 @@ ############################################################################### # SSH configuration. +# Type of SSH key. Default is "rsa". +#ssh_key_type: + # Name of SSH key. #ssh_key_name: diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index a83d926..79049ac 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -4,48 +4,36 @@ check: jobs: - openstack-tox-pep8 - - kayobe-overcloud-centos8s - - kayobe-overcloud-rocky8 + - kayobe-overcloud-rocky9 + - kayobe-overcloud-centos9s - kayobe-overcloud-ubuntu-jammy - - kayobe-overcloud-tls-centos8s - - kayobe-overcloud-host-configure-centos8s - - kayobe-overcloud-host-configure-rocky8 + - kayobe-overcloud-tls-rocky9 + - kayobe-overcloud-host-configure-rocky9 + - kayobe-overcloud-host-configure-centos9s - kayobe-overcloud-host-configure-ubuntu-jammy - - kayobe-overcloud-upgrade-centos8s - kayobe-overcloud-upgrade-ubuntu-focal - - kayobe-seed-centos8s - - kayobe-seed-rocky8 + - kayobe-seed-rocky9 - kayobe-seed-ubuntu-jammy - - kayobe-seed-images-centos8s - - kayobe-seed-upgrade-centos8s + - kayobe-seed-images-rocky9 - kayobe-seed-upgrade-ubuntu-focal - - kayobe-seed-vm-centos8s - - kayobe-seed-vm-rocky8 + - kayobe-seed-vm-rocky9 - kayobe-seed-vm-ubuntu-jammy - - kayobe-infra-vm-centos8s - - kayobe-infra-vm-rocky8 + - kayobe-infra-vm-rocky9 - kayobe-infra-vm-ubuntu-jammy gate: jobs: - openstack-tox-pep8 - - kayobe-overcloud-centos8s - - kayobe-overcloud-rocky8 + - kayobe-overcloud-rocky9 - kayobe-overcloud-ubuntu-jammy - - kayobe-overcloud-tls-centos8s - - kayobe-overcloud-host-configure-centos8s - - kayobe-overcloud-host-configure-rocky8 + - kayobe-overcloud-tls-rocky9 + - kayobe-overcloud-host-configure-rocky9 - kayobe-overcloud-host-configure-ubuntu-jammy - - kayobe-overcloud-upgrade-centos8s - kayobe-overcloud-upgrade-ubuntu-focal - - kayobe-seed-centos8s - - kayobe-seed-rocky8 + - kayobe-seed-rocky9 - kayobe-seed-ubuntu-jammy - - kayobe-seed-upgrade-centos8s - kayobe-seed-upgrade-ubuntu-focal - - kayobe-seed-vm-centos8s - - kayobe-seed-vm-rocky8 + - kayobe-seed-vm-rocky9 - kayobe-seed-vm-ubuntu-jammy - - kayobe-infra-vm-centos8s - - kayobe-infra-vm-rocky8 + - kayobe-infra-vm-rocky9 - kayobe-infra-vm-ubuntu-jammy From 416da1f522753fefe2559e6224cb0c50cb177fe5 Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Tue, 7 Feb 2023 11:43:27 +0100 Subject: [PATCH 48/57] set cpu_model to Nehalem for kvm jobs RHEL 9 and Ubuntu Jammy are being compiled for the x86_64-v2 architecture which is newer than the qemu default of qemu64. Nehalem is apparently the oldest model that works for x86_64-v2 and is expected to work on Intel and AMD cpus with kvm or qemu. See devstack change [0]. [0]: Ibd6e11b59f3c8655bc60ace7383a08458b2177f2 Depends-on: https://review.opendev.org/c/openstack/kayobe/+/872981 Change-Id: I09567b4cce95ff1fe2fe4e9e91e49d5f5082f7d0 --- etc/kayobe/kolla/config/nova/nova-compute.conf | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 etc/kayobe/kolla/config/nova/nova-compute.conf diff --git a/etc/kayobe/kolla/config/nova/nova-compute.conf b/etc/kayobe/kolla/config/nova/nova-compute.conf new file mode 100644 index 0000000..ebaf4fc --- /dev/null +++ b/etc/kayobe/kolla/config/nova/nova-compute.conf @@ -0,0 +1,11 @@ +{% raw %} +[libvirt] +# RHEL 9 and Ubuntu Jammy are being compiled for the x86_64-v2 +# architecture which is newer than the qemu default of qemu64. +# Nehalem is apparently the oldest model that works for x86_64-v2 +# and is expected to work on Intel and AMD cpus with kvm or qemu. +{% if nova_compute_virt_type == 'kvm' %} +cpu_mode=custom +cpu_model=Nehalem +{% endif %} +{% endraw %} From 12cbf39eed5df35a2f303f6589c8e04a78e32ebb Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Tue, 21 Feb 2023 15:22:04 +0100 Subject: [PATCH 49/57] Use custom cpu_models on Redhat family only Change-Id: Ibe02bf3430bad3606e291273c8a1feb148b83711 --- etc/kayobe/kolla/config/nova/nova-compute.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/kayobe/kolla/config/nova/nova-compute.conf b/etc/kayobe/kolla/config/nova/nova-compute.conf index ebaf4fc..9d8bdeb 100644 --- a/etc/kayobe/kolla/config/nova/nova-compute.conf +++ b/etc/kayobe/kolla/config/nova/nova-compute.conf @@ -1,11 +1,11 @@ {% raw %} +{% if ansible_facts.os_family == 'RedHat' and nova_compute_virt_type == 'kvm' %} [libvirt] -# RHEL 9 and Ubuntu Jammy are being compiled for the x86_64-v2 +# RHEL 9 are being compiled for the x86_64-v2 # architecture which is newer than the qemu default of qemu64. # Nehalem is apparently the oldest model that works for x86_64-v2 # and is expected to work on Intel and AMD cpus with kvm or qemu. -{% if nova_compute_virt_type == 'kvm' %} -cpu_mode=custom -cpu_model=Nehalem +cpu_mode = custom +cpu_models = Nehalem {% endif %} {% endraw %} From e44fb75d1849d015eb5287257b0ebd67afc20846 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Wed, 17 May 2023 13:49:48 +0100 Subject: [PATCH 50/57] Rename disable_selinux_do_reboot It was renamed in the Zed release to selinux_do_reboot. Change-Id: I6504337fd44e83120a201ae5b77cc030cb7738be --- etc/kayobe/globals.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 58717f8..43f0f1d 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -70,7 +70,7 @@ os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # Don't reboot after disabling SELinux in all-in-one environments, as Ansible # is typically run directly on the controller. -disable_selinux_do_reboot: false +selinux_do_reboot: false ############################################################################### # Dummy variable to allow Ansible to accept this file. From c558f2101b8db7dd2b3c051aeb3d173f7a609d05 Mon Sep 17 00:00:00 2001 From: Matt Crees Date: Fri, 26 May 2023 11:17:08 +0100 Subject: [PATCH 51/57] 2023.1 RC1 - Sync defaults with Kayobe Change-Id: Ic57af218e52d050cec06fa2246d078f5ed792fa8 --- etc/kayobe/globals.yml | 3 +-- etc/kayobe/kolla.yml | 20 +++++++++++++++++--- etc/kayobe/openstack.yml | 4 ++-- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 58717f8..56873b4 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -4,8 +4,7 @@ ############################################################################### # Local path configuration (Ansible control host). -# Path to Kayobe configuration directory on Ansible control host, with an -# environment path appended if kayobe_environment is set. +# Path to Kayobe configuration directory on Ansible control host. #kayobe_config_path: # Name of Kayobe environment to use. Default is $KAYOBE_ENVIRONMENT, or an diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 1364541..7880c71 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -79,7 +79,7 @@ #kolla_base_distro_version: # URL of docker registry to use for Kolla images. Default is not set, in which -# case Dockerhub will be used. +# case Quay.io will be used. #kolla_docker_registry: # Docker namespace to use for Kolla images. Default is 'kolla'. @@ -102,8 +102,9 @@ # Default is {{ openstack_release }}. #kolla_openstack_release: -# Docker tag applied to built container images. Default is -# {{ kolla_openstack_release }}. +# Docker tag applied to built container images. Default is {{ +# kolla_openstack_release }}-{{ kolla_base_distro }}-{{ +# kolla_base_distro_version }}. #kolla_tag: # Dict mapping names of sources to their definitions. @@ -235,6 +236,19 @@ # remotely on the target nodes. If None, no virtualenv will be used. #kolla_ansible_target_venv: +# Password to use to encrypt the kolla-ansible passwords.yml file. +#kolla_ansible_vault_password: + +# Hashi Vault +#kolla_ansible_vault_addr: +#kolla_ansible_vault_mount_point: +#kolla_ansible_vault_kv_path: +#kolla_ansible_vault_namespace: +#kolla_ansible_vault_role_id: +#kolla_ansible_vault_secret_id: +#kolla_ansible_vault_token: +#kolla_ansible_vault_cacert: + # Whether TLS is enabled for the external API endpoints. Default is 'no'. #kolla_enable_tls_external: diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index c9e02ec..f5c25fa 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "zed". +# Name of the current OpenStack release. Default is "2023.1". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/zed". +# Name of the current OpenStack branch. Default is "stable/2023.1". #openstack_branch: ############################################################################### From 74fb28fc17fc91294941059e05dd400204b009b1 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 1 Jun 2023 09:20:02 +0100 Subject: [PATCH 52/57] 2023.1 - Sync defaults with Kayobe skydive != skyline Change-Id: I5344752635a838b9ceda251c2b2a07c17b03b71b --- etc/kayobe/kolla.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 7880c71..facdaca 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -432,7 +432,7 @@ #kolla_enable_redis: #kolla_enable_sahara: #kolla_enable_senlin: -#kolla_enable_skydive: +#kolla_enable_skyline: #kolla_enable_solum: #kolla_enable_swift: #kolla_enable_swift_recon: From 9ea61b6c17fb2ef12880d1506c6a042c0593c865 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 1 Dec 2023 16:10:27 +0100 Subject: [PATCH 53/57] [release] Synchronise with kayobe for 2023.2 Change-Id: I1605127271e852f2f58b00d0c357fcbec3a8d398 --- etc/kayobe/bifrost.yml | 11 +++-- etc/kayobe/compute.yml | 8 +-- etc/kayobe/controllers.yml | 27 +++++++++-- etc/kayobe/docker.yml | 5 ++ etc/kayobe/grafana.yml | 3 +- etc/kayobe/infra-vms.yml | 8 +-- etc/kayobe/inventory/groups | 15 +++++- etc/kayobe/ipa.yml | 3 +- etc/kayobe/kolla.yml | 89 +++++++++++++++++++++++++++++++--- etc/kayobe/monitoring.yml | 6 +-- etc/kayobe/openstack.yml | 4 +- etc/kayobe/overcloud-dib.yml | 9 +--- etc/kayobe/seed-hypervisor.yml | 4 +- etc/kayobe/seed.yml | 12 +++-- etc/kayobe/storage.yml | 8 +-- etc/kayobe/vgpu.yml | 22 +++++++++ 16 files changed, 185 insertions(+), 49 deletions(-) create mode 100644 etc/kayobe/vgpu.yml diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index a9eba19..18511af 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -28,9 +28,7 @@ # DIB image OS release. Default is {{ os_release }}. #kolla_bifrost_dib_os_release: -# List of default DIB elements. Default is ["disable-selinux", -# "enable-serial-console", "vm"] when os_distribution is "centos", or -# ["enable-serial-console", "vm"] otherwise. +# List of default DIB elements. Default is ["enable-serial-console", "vm"]. #kolla_bifrost_dib_elements_default: # List of additional DIB elements. Default is none. @@ -71,6 +69,10 @@ # Default is none. #kolla_bifrost_deploy_image_rootfs: +# Custom cloud-init user-data passed to deploy of the deployment image. +# Default is an empty string. +#kolla_bifrost_deploy_image_user_data_content: + ############################################################################### # Ironic configuration. @@ -116,6 +118,9 @@ # Ironic inspector deployment ramdisk location. #kolla_bifrost_inspector_deploy_ramdisk: +# Ironic inspector legacy deployment kernel location. +#kolla_bifrost_inspector_legacy_deploy_kernel: + # Timeout of hardware inspection on overcloud nodes, in seconds. Default is # {{ inspector_inspection_timeout }}. #kolla_bifrost_inspection_timeout: diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index 03c41e3..15c4cbc 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -63,15 +63,15 @@ ############################################################################### # Compute node LVM configuration. -# List of compute volume groups. See mrlesmithjr.manage-lvm role for +# List of compute volume groups. See mrlesmithjr.manage_lvm role for # format. #compute_lvm_groups: -# Default list of compute volume groups. See mrlesmithjr.manage-lvm role for +# Default list of compute volume groups. See mrlesmithjr.manage_lvm role for # format. #compute_lvm_groups_default: -# Additional list of compute volume groups. See mrlesmithjr.manage-lvm role +# Additional list of compute volume groups. See mrlesmithjr.manage_lvm role # for format. #compute_lvm_groups_extra: @@ -82,7 +82,7 @@ # 'docker_storage_driver' is set to 'devicemapper', or false otherwise. #compute_lvm_group_data_enabled: -# Compute LVM volume group for data. See mrlesmithjr.manage-lvm role for +# Compute LVM volume group for data. See mrlesmithjr.manage_lvm role for # format. #compute_lvm_group_data: diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index 4caf8eb..c95b656 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -6,6 +6,25 @@ # to setup the Kayobe user account. Default is {{ os_distribution }}. controller_bootstrap_user: "{{ lookup('env', 'USER') }}" +############################################################################### +# Controller groups. + +# Ansible inventory group in which Ironic conductor services are deployed. +# Default is 'controllers'. +#controller_ironic_conductor_group: + +# Ansible inventory group in which Ironic inspector services are deployed. +# Default is 'controllers'. +#controller_ironic_inspector_group: + +# Ansible inventory group in which control plane load balancer services are +# deployed. Default is 'network'. +#controller_loadbalancer_group: + +# Ansible inventory group in which network data plane services are deployed. +# Default is 'network'. +#controller_network_group: + ############################################################################### # Controller network interface configuration. @@ -72,15 +91,15 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### # Controller node LVM configuration. -# List of controller volume groups. See mrlesmithjr.manage-lvm role for +# List of controller volume groups. See mrlesmithjr.manage_lvm role for # format. #controller_lvm_groups: -# Default list of controller volume groups. See mrlesmithjr.manage-lvm role for +# Default list of controller volume groups. See mrlesmithjr.manage_lvm role for # format. #controller_lvm_groups_default: -# Additional list of controller volume groups. See mrlesmithjr.manage-lvm role +# Additional list of controller volume groups. See mrlesmithjr.manage_lvm role # for format. #controller_lvm_groups_extra: @@ -91,7 +110,7 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # 'docker_storage_driver' is set to 'devicemapper', or false otherwise. #controller_lvm_group_data_enabled: -# Controller LVM volume group for data. See mrlesmithjr.manage-lvm role for +# Controller LVM volume group for data. See mrlesmithjr.manage_lvm role for # format. #controller_lvm_group_data: diff --git a/etc/kayobe/docker.yml b/etc/kayobe/docker.yml index 4ec00a1..ba3f22c 100644 --- a/etc/kayobe/docker.yml +++ b/etc/kayobe/docker.yml @@ -24,6 +24,11 @@ # URL of docker registry #docker_registry: +# Whether docker should be configured to use an insecure registry. +# Default is false, unless docker_registry_enabled is true and +# docker_registry_enable_tls is false. +#docker_registry_insecure: + # CA of docker registry #docker_registry_ca: diff --git a/etc/kayobe/grafana.yml b/etc/kayobe/grafana.yml index d67a972..66d19c7 100644 --- a/etc/kayobe/grafana.yml +++ b/etc/kayobe/grafana.yml @@ -2,8 +2,7 @@ ############################################################################### # Grafana configuration. -# Grafana local admin user name. If you are deploying Monasca Grafana this -# should not conflict with an OpenStack user name. +# Grafana local admin user name. #grafana_local_admin_user_name: ############################################################################### diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index c8050d0..3e1db5d 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -92,15 +92,15 @@ ############################################################################### # Infrastructure VM node LVM configuration. -# List of infrastructure vm volume groups. See mrlesmithjr.manage-lvm role for +# List of infrastructure vm volume groups. See mrlesmithjr.manage_lvm role for # format. #infra_vm_lvm_groups: -# Default list of infrastructure vm volume groups. See mrlesmithjr.manage-lvm +# Default list of infrastructure vm volume groups. See mrlesmithjr.manage_lvm # role for format. #infra_vm_lvm_groups_default: -# Additional list of infrastructure vm volume groups. See mrlesmithjr.manage-lvm +# Additional list of infrastructure vm volume groups. See mrlesmithjr.manage_lvm # role for format. #infra_vm_lvm_groups_extra: @@ -111,7 +111,7 @@ # 'docker_storage_driver' is set to 'devicemapper', or false otherwise. #infra_vm_lvm_group_data_enabled: -# Infrastructure VM LVM volume group for data. See mrlesmithjr.manage-lvm role +# Infrastructure VM LVM volume group for data. See mrlesmithjr.manage_lvm role # for format. #infra_vm_lvm_group_data: diff --git a/etc/kayobe/inventory/groups b/etc/kayobe/inventory/groups index 16619fe..645a550 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -41,8 +41,11 @@ controllers [storage] # Empty group to provide declaration of storage group. -[compute] -# Empty group to provide declaration of compute group. +[compute-vgpu] +# Empty group to provide declaration of compute-vgpu group. + +[compute:children] +compute-vgpu [overcloud:children] controllers @@ -51,6 +54,14 @@ monitoring storage compute +############################################################################### +# Feature control groups +[vgpu:children] +compute-vgpu + +[iommu:children] +vgpu + ############################################################################### # Service groups. diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index 4636dd7..f771218 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -24,7 +24,8 @@ # List of default Diskimage Builder (DIB) elements to use when building IPA # images. Default is ["centos", "enable-serial-console", -# "ironic-python-agent-ramdisk"]. +# "ironic-python-agent-ramdisk"] when os_distribution is "rocky", and +# ["ubuntu", "enable-serial-console", "ironic-python-agent-ramdisk"] otherwise. #ipa_build_dib_elements_default: # List of additional Diskimage Builder (DIB) elements to use when building IPA diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index facdaca..25e2702 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -85,11 +85,6 @@ # Docker namespace to use for Kolla images. Default is 'kolla'. #kolla_docker_namespace: -# Whether docker should be configured to use an insecure registry for Kolla -# images. Default is false, unless docker_registry_enabled is true and -# docker_registry_enable_tls is false. -#kolla_docker_registry_insecure: - # Username to use to access a docker registry. Default is not set, in which # case the registry will be used without authentication. #kolla_docker_registry_username: @@ -349,6 +344,7 @@ #kolla_enable_influxdb: #kolla_enable_ironic: #kolla_enable_ironic_neutron_agent: +#kolla_enable_ironic_prometheus_exporter: #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: #kolla_enable_keepalived: @@ -356,6 +352,7 @@ #kolla_enable_keystone_federation: #kolla_enable_keystone_horizon_policy_file: #kolla_enable_kuryr: +#kolla_enable_letsencrypt: #kolla_enable_loadbalancer: #kolla_enable_magnum: #kolla_enable_manila: @@ -398,6 +395,7 @@ #kolla_enable_nova_ssh: #kolla_enable_octavia: #kolla_enable_octavia_driver_agent: +#kolla_enable_octavia_jobboard: #kolla_enable_opensearch: #kolla_enable_opensearch_dashboards: #kolla_enable_opensearch_dashboards_external: @@ -447,6 +445,79 @@ #kolla_enable_watcher: #kolla_enable_zun: +############################################################################### +# Kolla custom config generation. + +# Feature flag to add $KAYOBE_CONFIG_PATH to the list of search paths used +# when searching for Kolla custom service configuration. Only has an effect in +# a multiple environments setup. This allows you to configure merging between +# your environment and the base layer. Defaults to true. Set to false to for +# backwards compatability. +#kolla_openstack_custom_config_environment_merging_enabled: + +# Default value for kolla_openstack_custom_config_include_globs. +#kolla_openstack_custom_config_include_globs_default: + +# Extra items to add to kolla_openstack_custom_config_include_globs_default +# to produce kolla_openstack_custom_config_include_globs. +#kolla_openstack_custom_config_include_globs_extra: + +# List of dictionaries with the following keys: +# glob: a glob pattern. Any files matching this pattern will be copied to the +# the kolla custom config directory +# enabled: boolean to disable the glob. +# This determines the list of files to copy to the generated kolla config +# directory. +#kolla_openstack_custom_config_include_globs: + +# Kolla config generation rules. These operate on the list of files produced by +# applying kolla_openstack_custom_config_include_globs. Each of the paths in +# kolla_openstack_custom_config_paths is searched for files matching one of the +# globs. If a match is found, any files with the same relative path are grouped +# together. The rules determine what to do with these matching files e.g copy +# the most specific file without templating, merge the files with +# merge_configs, etc. +# List of dictionaries with the following keys: +# glob: A glob matching files for this rule to match on (relative to the +# search path) +# priority: The rules are processed in increasing priority order with the +# first rule matching taking effect. +# strategy: How to process the matched file. One of copy, concat, template, +# merge_configs, merge_yaml +# params: List of params to pass to module enacting the strategy +# Strategies: +# copy: Copy most specific file to kolla config without templating +# template: Template most specific file to kolla config +# concat: Concatenate files and copy the result to generated kolla config +# merge_configs: Use the merge_configs module to merge an ini file, before +# copying to the generated kolla-config. +# merge_yaml: Use the merge_yaml module to merge a file, before copying to +# the generated kolla-config. +#kolla_openstack_custom_config_rules: + +# Whether to enable ini merging rules in +# kolla_openstack_custom_config_rules_default. Default is true. +#kolla_openstack_custom_config_merge_configs_enabled: + +# Whether to enable yaml merging rules in +# kolla_openstack_custom_config_rules_default. Default is true. +#kolla_openstack_custom_config_merge_yaml_enabled: + +# Default merge strategy for ini files in +# kolla_openstack_custom_config_rules_default. Default is concat. +#kolla_openstack_custom_config_ini_merge_strategy_default: + +# Default value for kolla_openstack_custom_config_rules. +#kolla_openstack_custom_config_rules_default: + +# List of globs to filter from kolla_openstack_custom_config_rules_default. +# Default is an empty list. +#kolla_openstack_custom_config_rules_default_remove: + +# Extra items to add to kolla_openstack_custom_config_rules_default +# to produce kolla_openstack_custom_config_rules. +#kolla_openstack_custom_config_rules_extra: + ############################################################################### # Passwords and credentials. @@ -454,6 +525,10 @@ # Kolla passwords file. #kolla_ansible_default_custom_passwords: +# Dictionary containing extra custom passwords to add or override in the Kolla +# passwords file. +#kolla_ansible_extra_custom_passwords: + # Dictionary containing custom passwords to add or override in the Kolla # passwords file. #kolla_ansible_custom_passwords: @@ -493,7 +568,7 @@ kolla_internal_vip_address: 192.168.33.2 # Path to a CA certificate file to use for the OS_CACERT environment variable # in public-openrc.sh file when TLS is enabled, instead of Kolla-Ansible's # default. -#kolla_external_fqdn_cacert: +#kolla_public_openrc_cacert: # Internal API certificate bundle. # @@ -506,7 +581,7 @@ kolla_internal_vip_address: 192.168.33.2 # Path to a CA certificate file to use for the OS_CACERT environment variable # in admin-openrc.sh file when TLS is enabled, instead of Kolla-Ansible's # default. -#kolla_internal_fqdn_cacert: +#kolla_admin_openrc_cacert: ############################################################################### # Proxy configuration diff --git a/etc/kayobe/monitoring.yml b/etc/kayobe/monitoring.yml index f332ab9..5468936 100644 --- a/etc/kayobe/monitoring.yml +++ b/etc/kayobe/monitoring.yml @@ -63,15 +63,15 @@ ############################################################################### # Monitoring node LVM configuration. -# List of monitoring node volume groups. See mrlesmithjr.manage-lvm role for +# List of monitoring node volume groups. See mrlesmithjr.manage_lvm role for # format. #monitoring_lvm_groups: -# Default list of monitoring node volume groups. See mrlesmithjr.manage-lvm +# Default list of monitoring node volume groups. See mrlesmithjr.manage_lvm # role for format. #monitoring_lvm_groups_default: -# Additional list of monitoring node volume groups. See mrlesmithjr.manage-lvm +# Additional list of monitoring node volume groups. See mrlesmithjr.manage_lvm # role for format. #monitoring_lvm_groups_extra: diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index f5c25fa..cb19104 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "2023.1". +# Name of the current OpenStack release. Default is "2023.2". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/2023.1". +# Name of the current OpenStack branch. Default is "stable/2023.2". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml index 0efa25f..abdb4ee 100644 --- a/etc/kayobe/overcloud-dib.yml +++ b/etc/kayobe/overcloud-dib.yml @@ -28,13 +28,8 @@ # DIB image OS release. Default is {{ os_release }}. #overcloud_dib_os_release: -# List of default DIB elements. Default is ["centos", "cloud-init-datasources", -# "disable-selinux", "enable-serial-console", "vm"] when -# overcloud_dib_os_element is "centos", or ["rocky-container", -# "cloud-init-datasources", "disable-selinux", "enable-serial-console", "vm"] -# when overcloud_dib_os_element is "rocky" or -# ["ubuntu", "cloud-init-datasources", "enable-serial-console", "vm"] -# when overcloud_dib_os_element is "ubuntu". +# List of default DIB elements. Default is ["{{ overcloud_dib_os_element }}", +# "cloud-init-datasources", "enable-serial-console", "vm"]. #overcloud_dib_elements_default: # List of additional DIB elements. Default is none. diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 9f1e6ad..4cddca2 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -36,7 +36,7 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### # Seed hypervisor node LVM configuration. -# List of seed hypervisor volume groups. See mrlesmithjr.manage-lvm role for +# List of seed hypervisor volume groups. See mrlesmithjr.manage_lvm role for # format. Set to "{{ seed_hypervisor_lvm_groups_with_data }}" to create a # volume group for libvirt storage. #seed_hypervisor_lvm_groups: @@ -45,7 +45,7 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" # default. #seed_hypervisor_lvm_groups_with_data: -# Seed LVM volume group for data. See mrlesmithjr.manage-lvm role for format. +# Seed LVM volume group for data. See mrlesmithjr.manage_lvm role for format. #seed_hypervisor_lvm_group_data: # List of disks for use by seed hypervisor LVM data volume group. Default to an diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index e8f82d3..757d154 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -36,14 +36,14 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" ############################################################################### # Seed node LVM configuration. -# List of seed volume groups. See mrlesmithjr.manage-lvm role for format. +# List of seed volume groups. See mrlesmithjr.manage_lvm role for format. #seed_lvm_groups: -# Default list of seed volume groups. See mrlesmithjr.manage-lvm role for +# Default list of seed volume groups. See mrlesmithjr.manage_lvm role for # format. #seed_lvm_groups_default: -# Additional list of seed volume groups. See mrlesmithjr.manage-lvm role for +# Additional list of seed volume groups. See mrlesmithjr.manage_lvm role for # format. #seed_lvm_groups_extra: @@ -54,7 +54,7 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # 'docker_storage_driver' is set to 'devicemapper', or false otherwise. #seed_lvm_group_data_enabled: -# Seed LVM volume group for data. See mrlesmithjr.manage-lvm role for format. +# Seed LVM volume group for data. See mrlesmithjr.manage_lvm role for format. #seed_lvm_group_data: # List of disks for use by seed LVM data volume group. Default to an invalid @@ -106,6 +106,10 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # #seed_containers: +# Whether to attempt a basic authentication login to a registry when +# deploying seed containers +#seed_deploy_containers_registry_attempt_login: + ############################################################################### # Seed node firewalld configuration. diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index 535666c..e9e52df 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -68,15 +68,15 @@ ############################################################################### # Storage node LVM configuration. -# List of storage volume groups. See mrlesmithjr.manage-lvm role for +# List of storage volume groups. See mrlesmithjr.manage_lvm role for # format. #storage_lvm_groups: -# Default list of storage volume groups. See mrlesmithjr.manage-lvm role for +# Default list of storage volume groups. See mrlesmithjr.manage_lvm role for # format. #storage_lvm_groups_default: -# Additional list of storage volume groups. See mrlesmithjr.manage-lvm role +# Additional list of storage volume groups. See mrlesmithjr.manage_lvm role # for format. #storage_lvm_groups_extra: @@ -87,7 +87,7 @@ # 'docker_storage_driver' is set to 'devicemapper', or false otherwise. #storage_lvm_group_data_enabled: -# Storage LVM volume group for data. See mrlesmithjr.manage-lvm role for +# Storage LVM volume group for data. See mrlesmithjr.manage_lvm role for # format. #storage_lvm_group_data: diff --git a/etc/kayobe/vgpu.yml b/etc/kayobe/vgpu.yml new file mode 100644 index 0000000..c304f12 --- /dev/null +++ b/etc/kayobe/vgpu.yml @@ -0,0 +1,22 @@ +--- +################################################################################ +# VGPU configuration. + +# URL pointing to location of GRID driver. Examples are: +# "file://path/on/ansible/control/host" +# "http://webserver/NVIDIA-GRID-Linux-KVM-525.105.14-525.105.17-528.89.zip" +# Default is: None. +#vgpu_driver_url: + +# Flag to control whether the vGPU playbook should automatically reboot the +# hypervisor. Note: this is necessary for the driver to be loaded correctly. +# Caution should be used when changing this option. Default is true. +#vgpu_do_reboot: + +# Time to wait when rebooting the host before failing. +# Default is 600 (seconds). +#vgpu_reboot_timeout: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes From baf5c9f7191bf155b52072f494301474bd4b6755 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 20 Dec 2023 09:36:46 +0100 Subject: [PATCH 54/57] Use dummy1 as bridge port instead of eth1 With NetworkManager, the MichaelRigart.interfaces role only creates an interface with the dummy type if it is called dummy*, otherwise it is created as ethernet. The default dev configuration was using eth1 for the bridge port, which was causing issues on Rocky Linux 9, for example when following the automated setup [1]. Switch to dummy1 to ensure a dummy port is created. [1] https://docs.openstack.org/kayobe/latest/contributor/automated.html Change-Id: Ib61a62e126c66d4133d8e80dff5643ebc6966bd1 --- .../inventory/group_vars/controllers/network-interfaces | 4 ++-- etc/kayobe/inventory/group_vars/seed/network-interfaces | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/kayobe/inventory/group_vars/controllers/network-interfaces b/etc/kayobe/inventory/group_vars/controllers/network-interfaces index e07607c..cae8e6a 100644 --- a/etc/kayobe/inventory/group_vars/controllers/network-interfaces +++ b/etc/kayobe/inventory/group_vars/controllers/network-interfaces @@ -4,8 +4,8 @@ # Controller interface on all-in-one network. aio_interface: breth1 -# Use eth1 if it exists, otherwise the bridge will have no ports. -aio_bridge_ports: "{{ ['eth1'] if 'ansible_eth1' in hostvars[inventory_hostname] else [] }}" +# Use dummy1 if it exists, otherwise the bridge will have no ports. +aio_bridge_ports: "{{ ['dummy1'] if 'ansible_dummy1' in hostvars[inventory_hostname] else [] }}" ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/inventory/group_vars/seed/network-interfaces b/etc/kayobe/inventory/group_vars/seed/network-interfaces index a2197ad..aa3fd57 100644 --- a/etc/kayobe/inventory/group_vars/seed/network-interfaces +++ b/etc/kayobe/inventory/group_vars/seed/network-interfaces @@ -4,8 +4,8 @@ # Seed interface on all-in-one network. aio_interface: breth1 -# Use eth1 if it exists, otherwise the bridge will have no ports. -aio_bridge_ports: "{{ ['eth1'] if 'ansible_eth1' in hostvars[inventory_hostname] else [] }}" +# Use dummy1 if it exists, otherwise the bridge will have no ports. +aio_bridge_ports: "{{ ['dummy1'] if 'ansible_dummy1' in hostvars[inventory_hostname] else [] }}" ############################################################################### # Dummy variable to allow Ansible to accept this file. From 4a129cdb8ef30b28200a3636fa4223fad97f27a6 Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Fri, 23 Feb 2024 17:21:49 +0000 Subject: [PATCH 55/57] Replace docker group with container-engine This is part of the move to support podman in kayobe. Change-Id: I9899ca0542b81d6e3752c464bdebfb14cbf0ed48 --- etc/kayobe/inventory/groups | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/etc/kayobe/inventory/groups b/etc/kayobe/inventory/groups index 645a550..41bb17f 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -65,8 +65,8 @@ vgpu ############################################################################### # Service groups. -[docker:children] -# Hosts in this group will have Docker installed. +[container-engine:children] +# Hosts in this group will have Docker/Podman installed. seed controllers network @@ -74,6 +74,11 @@ monitoring storage compute +# NOTE(wszumski): Remove once https://review.opendev.org/c/openstack/kayobe/+/909686 has +# merged. Added to get the group rename to pass CI. +[docker:children] +container-engine + [docker-registry:children] # Hosts in this group will have a Docker Registry deployed. This group should # generally contain only a single host, to avoid deploying multiple independent From 772832ed5ae1a667a0da427aa7a4f49f728ce278 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Thu, 30 May 2024 10:07:07 +0200 Subject: [PATCH 56/57] [release] Synchronise with kayobe for 2024.1 Change-Id: Ib3f82028b275130eac31c1a297b2598dadea5fb2 --- etc/kayobe/apt.yml | 11 +++++++++++ etc/kayobe/bifrost.yml | 6 ++++++ etc/kayobe/compute.yml | 8 +++----- etc/kayobe/controllers.yml | 5 ++--- etc/kayobe/infra-vms.yml | 4 +--- etc/kayobe/inspector.yml | 18 ++++++++++++++++++ etc/kayobe/ipa.yml | 7 ++++--- etc/kayobe/kolla.yml | 19 ++++--------------- etc/kayobe/openstack.yml | 4 ++-- etc/kayobe/overcloud-dib.yml | 13 +++++++------ etc/kayobe/seed.yml | 6 ++---- etc/kayobe/storage.yml | 6 ++---- 12 files changed, 62 insertions(+), 45 deletions(-) diff --git a/etc/kayobe/apt.yml b/etc/kayobe/apt.yml index 9a9d885..e4bb5b1 100644 --- a/etc/kayobe/apt.yml +++ b/etc/kayobe/apt.yml @@ -46,6 +46,17 @@ # Default is false. #apt_disable_sources_list: +# List of Apt auth configurations. Each item is a dict with the following keys: +# * machine: 'machine' entry in the auth file +# * login: 'login' entry in the auth file +# * password: 'password' entry in the auth file +# * filename: Name of a file in which to store the auth configuration. The +# extension should be '.conf'. +# * filename: Name of a file in /etc/apt/auth.conf.d in which to store +# the auth configuration. The extension should be ``.conf``. +# Default is an empty list. +#apt_auth: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 18511af..123c53d 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -108,6 +108,12 @@ # Ironic inspector IPMI password to set. #kolla_bifrost_inspector_ipmi_password: +# Ironic inspector Redfish username to set. +#kolla_bifrost_inspector_redfish_username: + +# Ironic inspector Redfish password to set. +#kolla_bifrost_inspector_redfish_password: + # Ironic inspector network interface name on which to check for an LLDP switch # port description to use as the node's name. #kolla_bifrost_inspector_lldp_switch_port_interface: diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index 15c4cbc..c1ebf4b 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -76,10 +76,8 @@ #compute_lvm_groups_extra: # Whether a 'data' LVM volume group should exist on compute hosts. By default -# this contains a 'docker-volumes' logical volume for Docker volume storage. It -# will also be used for Docker container and image storage if -# 'docker_storage_driver' is set to 'devicemapper'. Default is true if -# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +# this contains a 'docker-volumes' logical volume for Docker volume storage. +# Default is false. #compute_lvm_group_data_enabled: # Compute LVM volume group for data. See mrlesmithjr.manage_lvm role for @@ -180,7 +178,7 @@ #compute_qemu_conf: # Whether to enable libvirt SASL authentication. Default is true. -#compute_libvirt_enable_sasl: true +#compute_libvirt_enable_sasl: # libvirt SASL password. Default is unset. #compute_libvirt_sasl_password: diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index c95b656..0b4b16a 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -105,9 +105,8 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # Whether a 'data' LVM volume group should exist on controller hosts. By # default this contains a 'docker-volumes' logical volume for Docker volume -# storage. It will also be used for Docker container and image storage if -# 'docker_storage_driver' is set to 'devicemapper'. Default is true if -# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +# storage. +# Default is false. #controller_lvm_group_data_enabled: # Controller LVM volume group for data. See mrlesmithjr.manage_lvm role for diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index 3e1db5d..a8f1fd9 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -106,9 +106,7 @@ # Whether a 'data' LVM volume group should exist on the infrastructure vm. By # default this contains a 'docker-volumes' logical volume for Docker volume -# storage. It will also be used for Docker container and image storage if -# 'docker_storage_driver' is set to 'devicemapper'. Default is true if -# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +# storage. Default is false. #infra_vm_lvm_group_data_enabled: # Infrastructure VM LVM volume group for data. See mrlesmithjr.manage_lvm role diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index 90c5d87..123481a 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -58,6 +58,9 @@ ############################################################################### # Ironic inspector configuration. +# Ironic inspector option to enable IPMI rules. Set to 'True' by default. +#inspector_rules_ipmi_enabled: + # Ironic inspector IPMI username to set. #inspector_ipmi_username: @@ -72,6 +75,21 @@ # check for an LLDP switch port description to use as the node's name. #inspector_lldp_switch_port_interface_map: +# Ironic inspector uses IPMI by default enroll the baremetal nodes, however it +# is possible to use Redfish instead. To do that enable Redfish and make sure +# all of the necessary variables below have been properly set. +# Enable inspector Redfish rules. Set to 'False' by default. +#inspector_rules_redfish_enabled: + +# Ironic inspector Redfish username to set. +#inspector_redfish_username: + +# Ironic inspector Redfish password to set. +#inspector_redfish_password: + +# Redfish CA setting. Set to 'True' by default +#inspector_rule_var_redfish_verify_ca: + ############################################################################### # Ironic inspector introspection rules configuration. diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index f771218..3de31aa 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -50,15 +50,16 @@ #ipa_build_dib_env: # List of default git repositories containing Diskimage Builder (DIB) elements. -# See stackhpc.os-images role for usage. Default is one item for IPA builder. +# See stackhpc.openstack.os_images role for usage. +# Default is one item for IPA builder. #ipa_build_dib_git_elements_default: # List of additional git repositories containing Diskimage Builder (DIB) -# elements. See stackhpc.os-images role for usage. Default is empty. +# elements. See stackhpc.openstack.os_images role for usage. Default is empty. #ipa_build_dib_git_elements_extra: # List of git repositories containing Diskimage Builder (DIB) elements. See -# stackhpc.os-images role for usage. Default is a combination of +# stackhpc.openstack.os_images role for usage. Default is a combination of # ipa_build_dib_git_elements_default and ipa_build_dib_git_elements_extra. #ipa_build_dib_git_elements: diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 25e2702..eb08633 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -306,7 +306,7 @@ #kolla_enable_external_api_firewalld: #kolla_enable_external_mariadb_load_balancer: #kolla_enable_fluentd: -#kolla_enable_freezer: +#kolla_enable_fluentd_systemd: #kolla_enable_glance: #kolla_enable_glance_horizon_policy_file: #kolla_enable_glance_image_cache: @@ -323,29 +323,23 @@ #kolla_enable_horizon_blazar: #kolla_enable_horizon_cloudkitty: #kolla_enable_horizon_designate: -#kolla_enable_horizon_freezer: +#kolla_enable_horizon_fwaas: #kolla_enable_horizon_heat: #kolla_enable_horizon_ironic: #kolla_enable_horizon_magnum: #kolla_enable_horizon_manila: #kolla_enable_horizon_masakari: #kolla_enable_horizon_mistral: -#kolla_enable_horizon_murano: #kolla_enable_horizon_neutron_vpnaas: #kolla_enable_horizon_octavia: -#kolla_enable_horizon_sahara: -#kolla_enable_horizon_senlin: -#kolla_enable_horizon_solum: #kolla_enable_horizon_tacker: #kolla_enable_horizon_trove: -#kolla_enable_horizon_vitrage: #kolla_enable_horizon_watcher: #kolla_enable_horizon_zun: #kolla_enable_influxdb: #kolla_enable_ironic: #kolla_enable_ironic_neutron_agent: #kolla_enable_ironic_prometheus_exporter: -#kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: #kolla_enable_keepalived: #kolla_enable_keystone: @@ -369,11 +363,11 @@ #kolla_enable_memcached: #kolla_enable_mistral: #kolla_enable_multipathd: -#kolla_enable_murano: #kolla_enable_neutron: #kolla_enable_neutron_agent_ha: #kolla_enable_neutron_bgp_dragent: #kolla_enable_neutron_dvr: +#kolla_enable_neutron_fwaas: #kolla_enable_neutron_horizon_policy_file: #kolla_enable_neutron_infoblox_ipam_agent: #kolla_enable_neutron_metering: @@ -385,6 +379,7 @@ #kolla_enable_neutron_segments: #kolla_enable_neutron_sfc: #kolla_enable_neutron_sriov: +#kolla_enable_neutron_taas: #kolla_enable_neutron_trunk: #kolla_enable_neutron_vpnaas: #kolla_enable_nova: @@ -402,7 +397,6 @@ #kolla_enable_openstack_core: #kolla_enable_openvswitch: #kolla_enable_osprofiler: -#kolla_enable_outward_rabbitmq: #kolla_enable_ovn: #kolla_enable_ovs_dpdk: #kolla_enable_placement: @@ -428,10 +422,7 @@ #kolla_enable_proxysql: #kolla_enable_rabbitmq: #kolla_enable_redis: -#kolla_enable_sahara: -#kolla_enable_senlin: #kolla_enable_skyline: -#kolla_enable_solum: #kolla_enable_swift: #kolla_enable_swift_recon: #kolla_enable_swift_s3api: @@ -440,8 +431,6 @@ #kolla_enable_trove: #kolla_enable_trove_singletenant: #kolla_enable_venus: -#kolla_enable_vitrage: -#kolla_enable_vitrage_prometheus_datasource: #kolla_enable_watcher: #kolla_enable_zun: diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index cb19104..4db759f 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,10 +2,10 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "2023.2". +# Name of the current OpenStack release. Default is "2024.1". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/2023.2". +# Name of the current OpenStack branch. Default is "stable/2024.1". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml index abdb4ee..f5f9352 100644 --- a/etc/kayobe/overcloud-dib.yml +++ b/etc/kayobe/overcloud-dib.yml @@ -14,9 +14,10 @@ #overcloud_dib_host_packages_extra: # List of overcloud host disk images to build. Each element is a dict defining -# an image in a format accepted by the stackhpc.os-images role. Default is to -# build an image named "deployment_image" configured with the overcloud_dib_* -# variables defined below: {"name": "deployment_image", "elements": "{{ +# an image in a format accepted by the stackhpc.openstack.os_images role. +# Default is to build an image named "deployment_image" configured with the +# overcloud_dib_* variables defined below: +# {"name": "deployment_image", "elements": "{{ # overcloud_dib_elements }}", "env": "{{ overcloud_dib_env_vars }}", # "packages": "{{ overcloud_dib_packages }}"}. #overcloud_dib_host_images: @@ -57,15 +58,15 @@ #overcloud_dib_packages: # List of default git repositories containing Diskimage Builder (DIB) elements. -# See stackhpc.os-images role for usage. Default is empty. +# See stackhpc.openstack.os_images role for usage. Default is empty. #overcloud_dib_git_elements_default: # List of additional git repositories containing Diskimage Builder (DIB) -# elements. See stackhpc.os-images role for usage. Default is empty. +# elements. See stackhpc.openstack.os_images role for usage. Default is empty. #overcloud_dib_git_elements_extra: # List of git repositories containing Diskimage Builder (DIB) elements. See -# stackhpc.os-images role for usage. Default is a combination of +# stackhpc.openstack.os_images role for usage. Default is a combination of # overcloud_dib_git_elements_default and overcloud_dib_git_elements_extra. #overcloud_dib_git_elements: diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index 757d154..1cbe2e5 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -48,10 +48,8 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" #seed_lvm_groups_extra: # Whether a 'data' LVM volume group should exist on the seed. By default this -# contains a 'docker-volumes' logical volume for Docker volume storage. It will -# also be used for Docker container and image storage if -# 'docker_storage_driver' is set to 'devicemapper'. Default is true if -# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +# contains a 'docker-volumes' logical volume for Docker volume storage. +# Default is false. #seed_lvm_group_data_enabled: # Seed LVM volume group for data. See mrlesmithjr.manage_lvm role for format. diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index e9e52df..2cdac5b 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -81,10 +81,8 @@ #storage_lvm_groups_extra: # Whether a 'data' LVM volume group should exist on storage hosts. By default -# this contains a 'docker-volumes' logical volume for Docker volume storage. It -# will also be used for Docker container and image storage if -# 'docker_storage_driver' is set to 'devicemapper'. Default is true if -# 'docker_storage_driver' is set to 'devicemapper', or false otherwise. +# this contains a 'docker-volumes' logical volume for Docker volume storage. +# Default is false. #storage_lvm_group_data_enabled: # Storage LVM volume group for data. See mrlesmithjr.manage_lvm role for From 75047ec8c03a8da2b568f4f0f36d5e83bd1e988b Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Wed, 5 Jun 2024 17:08:36 +0100 Subject: [PATCH 57/57] Sync with kayobe for 2024.1 release A few more patches have landed. kayobe commit: 6c6400f7cee845be0e5143036b5baa6e41c56fa3 Change-Id: I47e91198200eda6b7c4d6ebed6a1e5b06b59389b --- etc/kayobe/globals.yml | 4 ++++ etc/kayobe/logging.yml | 11 +++++++++++ 2 files changed, 15 insertions(+) create mode 100644 etc/kayobe/logging.yml diff --git a/etc/kayobe/globals.yml b/etc/kayobe/globals.yml index 477ee22..3e127af 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -64,6 +64,10 @@ os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # to not specify a gather subset. #kayobe_ansible_setup_gather_subset: +# Global maximum failure percentage. By default this is undefined, which is +# equivalent to a value of 100. +#kayobe_max_fail_percentage: + ############################################################################### # SELinux configuration. diff --git a/etc/kayobe/logging.yml b/etc/kayobe/logging.yml new file mode 100644 index 0000000..46033d2 --- /dev/null +++ b/etc/kayobe/logging.yml @@ -0,0 +1,11 @@ +--- +############################################################################### +# Logging configuration + +# Journald storage. One of: volatile, persistent, auto, or none. Defaults to +# `persistent`. +#journald_storage: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes