diff --git a/etc/kayobe/apt.yml b/etc/kayobe/apt.yml index e4bb5b1..4027d43 100644 --- a/etc/kayobe/apt.yml +++ b/etc/kayobe/apt.yml @@ -27,10 +27,12 @@ #apt_keys: # A list of Apt repositories. Each item is a dict with the following keys: +# * name: the .sources filename part. Optional. Default is 'kayobe' and +# the default filename is 'kayobe.sources'. # * 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. jammy (optional, default +# * suites: whitespace-separated list of suites, e.g. noble (optional, default # is ansible_facts.distribution_release) # * components: whitespace-separated list of components, e.g. main (optional, # default is 'main') @@ -41,6 +43,14 @@ # Default is an empty list. #apt_repositories: +# List of Apt preferences options. Each item is a dict with the following +# keys: +# * content: free-form preferences file content +# * filename: name of a file in /etc/apt/preferences.d/ in which to write +# the configuration +# Default is an empty list. +#apt_preferences: + # Whether to disable repositories in /etc/apt/sources.list. This may be used # when replacing the distribution repositories via apt_repositories. # Default is false. @@ -50,8 +60,6 @@ # * 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. diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index 123c53d..741bbd8 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -158,6 +158,12 @@ # Server inventory for Bifrost. #kolla_bifrost_servers: +############################################################################### +# Node provisioning configuration +# Whether to use Ironic introspection data for admin interface MAC address +# Default is false. +#kolla_bifrost_use_introspection_mac: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/bmc.yml b/etc/kayobe/bmc.yml index ea10df3..b29ecf6 100644 --- a/etc/kayobe/bmc.yml +++ b/etc/kayobe/bmc.yml @@ -14,6 +14,9 @@ # Password to use to access a host's BMC via IPMI. #ipmi_password: +# Address to use to access a host's BMC via Redfish. +#redfish_address: + ############################################################################### # 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 c1ebf4b..5572bbe 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -76,7 +76,9 @@ #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. +# this contains a 'docker-volumes' logical volume for container volume storage +# if using the docker container engine, or a 'podman-volumes' logical volume +# for container volume storage if using the podman container engine. # Default is false. #compute_lvm_group_data_enabled: @@ -88,18 +90,33 @@ # invalid value to require configuration. #compute_lvm_group_data_disks: +# List of LVM logical volumes for the data volume group when using docker. +#compute_lvm_group_data_docker_lvs: + +# List of LVM logical volumes for the data volume group when using podman. +#compute_lvm_group_data_podman_lvs: + # List of LVM logical volumes for the data volume group. #compute_lvm_group_data_lvs: # Docker volumes LVM backing volume. #compute_lvm_group_data_lv_docker_volumes: +# Podman volumes LVM backing volume. +#compute_lvm_group_data_lv_podman_volumes: + # Size of docker volumes LVM backing volume. #compute_lvm_group_data_lv_docker_volumes_size: # Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. #compute_lvm_group_data_lv_docker_volumes_fs: +# Size of podman volumes LVM backing volume. +#compute_lvm_group_data_lv_podman_volumes_size: + +# Filesystem for podman volumes LVM backing volume. ext4 allows for shrinking. +#compute_lvm_group_data_lv_podman_volumes_fs: + ############################################################################### # Compute node sysctl configuration. diff --git a/etc/kayobe/container-engine.yml b/etc/kayobe/container-engine.yml new file mode 100644 index 0000000..c48465d --- /dev/null +++ b/etc/kayobe/container-engine.yml @@ -0,0 +1,80 @@ +--- +############################################################################### +# Container engine configuration + +# Configures the container engine. Default is 'docker'. +#container_engine: + +# Path to container volumes. Default is '{{ podman_volumes_path }}' if +# 'container_engine' is set to podman, otherwise '{{ docker_volumes_path }}'. +#container_engine_volumes_path: + +############################################################################### +# Docker configuration. + +# Name of the docker storage driver. Default is 'overlay2'. +#docker_storage_driver: + +# Name of the docker storage LVM volume group. +#docker_storage_volume_group: + +# Name of the docker storage data LVM volume. +#docker_storage_volume_thinpool: + +# Size of the docker storage data LVM volume (see lvol module size argument). +#docker_storage_volume_thinpool_size: + +# Name of the docker storage metadata LVM volume. +#docker_storage_volume_thinpool_meta: + +# Size of the docker storage metadata LVM volume (see lvol module size +# argument). +#docker_storage_volume_thinpool_meta_size: + +# URL of docker registry +docker_registry: 192.168.33.5:4000 + +# 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: + +# List of Docker registry mirrors. +#docker_registry_mirrors: + +# Enable live-restore on docker daemon +#docker_daemon_live_restore: + +# Path to docker runtime directory. Default is "", which means to use the +# default location: '/var/lib/docker'. +#docker_runtime_directory: + +# Path to docker volumes. Default is '{{ docker_runtime_directory | +# default('/var/lib/docker', true) ~ '/volumes' }}"'. +#docker_volumes_path: + +############################################################################### +# Podman configuration. + +# URL of podman container registry +#podman_registry: + +# Whether podman should be configured to use an insecure registry. +# Default is false, unless docker_registry_enabled is true and +# docker_registry_enable_tls is false. +#podman_registry_insecure: + +# Path to podman runtime directory. Default is None, which means to use the +# default location: '/var/lib/containers/storage'. +#podman_runtime_directory: + +# Path to podman volumes. Default is '{{ podman_runtime_directory | +# default('/var/lib/containers/storage', true) ~ '/volumes' }}"'. +#podman_volumes_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 deleted file mode 100644 index a71d404..0000000 --- a/etc/kayobe/docker.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -############################################################################### -# Docker configuration. - -# Name of the docker storage driver. Default is 'overlay2'. -#docker_storage_driver: - -# Name of the docker storage LVM volume group. -#docker_storage_volume_group: - -# Name of the docker storage data LVM volume. -#docker_storage_volume_thinpool: - -# Size of the docker storage data LVM volume (see lvol module size argument). -#docker_storage_volume_thinpool_size: - -# Name of the docker storage metadata LVM volume. -#docker_storage_volume_thinpool_meta: - -# Size of the docker storage metadata LVM volume (see lvol module size -# argument). -#docker_storage_volume_thinpool_meta_size: - -# URL of docker registry -# Use a docker registry on the seed. -docker_registry: 192.168.33.5:4000 - -# 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: - -# List of Docker registry mirrors. -#docker_registry_mirrors: - -# Enable live-restore on docker daemon -#docker_daemon_live_restore: - -############################################################################### -# 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 162e22a..6679d77 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -49,7 +49,7 @@ os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # 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 +# "9" when os_distribution is "rocky", or "noble" when os_distribution is # "ubuntu". #os_release: @@ -68,6 +68,11 @@ os_distribution: "{{ lookup('pipe', '. /etc/os-release && echo $ID') | trim }}" # equivalent to a value of 100. #kayobe_max_fail_percentage: +# Whether or not we should try and escalate privileges on the control host. +# This allows us to install packages and create arbitrary directories that our +# user would not normally have permission to create. Default is true. +#kayobe_control_host_become: + ############################################################################### # 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 a8f1fd9..cbfa34e 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -30,7 +30,7 @@ #infra_vm_root_format: # Base image for the infra VM root volume. Default is -# "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" +# "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", or # https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 # when os_distribution is "rocky", @@ -58,6 +58,12 @@ # OS family. Needed for config drive generation. #infra_vm_os_family: +# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'efi'. +#infra_vm_boot_firmware: + +# Machine type. Libvirt default configuration is used. +#infra_vm_machine: + ############################################################################### # Infrastructure VM node configuration. diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index 123481a..f9af93f 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -149,7 +149,7 @@ # data which may be useful in environments without Swift. # Whether the inspection data store is enabled. -#inspector_store_enabled: +inspector_store_enabled: false # Port on which the inspection data store should listen. #inspector_store_port: diff --git a/etc/kayobe/inventory/groups b/etc/kayobe/inventory/groups index 41bb17f..a870bc8 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -74,11 +74,6 @@ 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 diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index 0138c6c..00a9b9e 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -23,9 +23,10 @@ #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", +# images. Default is ["centos", "dynamic-login", "enable-serial-console", # "ironic-python-agent-ramdisk"] when os_distribution is "rocky", and -# ["ubuntu", "enable-serial-console", "ironic-python-agent-ramdisk"] otherwise. +# ["ubuntu", "dynamic-login", "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 166c80a..f05ec97 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -66,6 +66,10 @@ ############################################################################### # Kolla configuration. +# Kolla base container image architecture. Options are "x86_64", "aarch64". +# Default is "{{ ansible_facts.architecture }}" +#kolla_base_arch: + # Kolla base container image distribution. Options are "centos", "debian", # "rocky", "ubuntu". Default is {{ os_distribution }}. #kolla_base_distro: @@ -263,6 +267,10 @@ # Primary group of Kolla SSH user. Default is 'kolla'. #kolla_ansible_group: +# Whether to use privilege escalation for operations on the control host. +# Default is {{ kayobe_control_host_become }}. +#kolla_ansible_control_host_become: + # Whether to use privilege escalation for all operations performed via Kolla # Ansible. Default is 'false'. #kolla_ansible_become: @@ -286,12 +294,13 @@ #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_lightbits: #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_nvme_tcp: #kolla_enable_cinder_backend_pure_roce: #kolla_enable_cinder_backend_quobyte: #kolla_enable_cinder_backup: @@ -334,10 +343,13 @@ #kolla_enable_horizon_octavia: #kolla_enable_horizon_tacker: #kolla_enable_horizon_trove: +#kolla_enable_horizon_venus: #kolla_enable_horizon_watcher: #kolla_enable_horizon_zun: #kolla_enable_influxdb: #kolla_enable_ironic: +#kolla_enable_ironic_dnsmasq: +#kolla_enable_ironic_inspector: #kolla_enable_ironic_neutron_agent: #kolla_enable_ironic_prometheus_exporter: #kolla_enable_iscsid: @@ -352,6 +364,7 @@ #kolla_enable_manila: #kolla_enable_manila_backend_cephfs_native: #kolla_enable_manila_backend_cephfs_nfs: +#kolla_enable_manila_backend_flashblade: #kolla_enable_manila_backend_generic: #kolla_enable_manila_backend_glusterfs_nfs: #kolla_enable_manila_backend_hnas: @@ -398,6 +411,7 @@ #kolla_enable_openvswitch: #kolla_enable_osprofiler: #kolla_enable_ovn: +#kolla_enable_ovn_sb_db_relay: #kolla_enable_ovs_dpdk: #kolla_enable_placement: #kolla_enable_prometheus: @@ -412,20 +426,17 @@ #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_proxysql_exporter: #kolla_enable_prometheus_rabbitmq_exporter: #kolla_enable_prometheus_server: #kolla_enable_proxysql: #kolla_enable_rabbitmq: #kolla_enable_redis: #kolla_enable_skyline: -#kolla_enable_swift: -#kolla_enable_swift_recon: -#kolla_enable_swift_s3api: #kolla_enable_tacker: #kolla_enable_telegraf: #kolla_enable_trove: diff --git a/etc/kayobe/kolla/config/ironic-inspector.conf b/etc/kayobe/kolla/config/ironic-inspector.conf new file mode 100644 index 0000000..45cb44c --- /dev/null +++ b/etc/kayobe/kolla/config/ironic-inspector.conf @@ -0,0 +1,2 @@ +[processing] +store_data = database diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index 4db759f..081e4be 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 "2024.1". +# Name of the current OpenStack release. Default is "2025.1". #openstack_release: -# Name of the current OpenStack branch. Default is "stable/2024.1". +# Name of the current OpenStack branch. Default is "stable/2025.1". #openstack_branch: ############################################################################### diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml index f5f9352..e3066fd 100644 --- a/etc/kayobe/overcloud-dib.yml +++ b/etc/kayobe/overcloud-dib.yml @@ -30,7 +30,7 @@ #overcloud_dib_os_release: # List of default DIB elements. Default is ["{{ overcloud_dib_os_element }}", -# "cloud-init-datasources", "enable-serial-console", "vm"]. +# "cloud-init", "cloud-init-datasources", "enable-serial-console", "vm"]. #overcloud_dib_elements_default: # List of additional DIB elements. Default is none. diff --git a/etc/kayobe/proxy.yml b/etc/kayobe/proxy.yml index 714b9da..d7df51e 100644 --- a/etc/kayobe/proxy.yml +++ b/etc/kayobe/proxy.yml @@ -12,8 +12,9 @@ # List of domains, hostnames, IP addresses and networks for which no proxy is # 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 +# docker_registry) | urlsplit('hostname') }}","{{ kolla_internal_vip_address +# }}"] if docker_registry is set, or ["127.0.0.1", "localhost","{{ +# kolla_internal_vip_address }}"] otherwise. This is configured only if either # http_proxy or https_proxy is set. #no_proxy: diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index 1617b9a..970939c 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -32,7 +32,7 @@ seed_vm_vcpus: 1 #seed_vm_root_format: # Base image for the seed VM root volume. Default is -# "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" +# "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", # https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2 # when os_distribution is "rocky", @@ -63,6 +63,12 @@ seed_vm_vcpus: 1 # #seed_vm_interfaces: +# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'efi'. +#seed_vm_boot_firmware: + +# Machine type. Libvirt default configuration is used. +#seed_vm_machine: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/time.yml b/etc/kayobe/time.yml index 8bfbd33..652844c 100644 --- a/etc/kayobe/time.yml +++ b/etc/kayobe/time.yml @@ -33,6 +33,20 @@ # Synchronise hardware clock with system time. Default is true. #chrony_rtcsync_enabled: +# Force synchronisation from NTP sources. This methods may jump the clock by +# large values which can cause issues with some software. Disabled by default. +#ntp_force_sync: + +# Maximum number of tries used by the `chronyc waitsync` command. Only used +# when ntp_force_sync is true. Default is 60 which waits for a maximum of 10 +# minutes (60 times 10 seconds). +#chrony_waitsync_max_tries: + +# Maximum correction used by the `chronyc waitsync` command. Only used when +# ntp_force_sync is true. Default is 0.01 which waits for the remaining +# correction to be less than 10 milliseconds. +#chrony_waitsync_max_correction: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 79049ac..19b25a7 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -6,34 +6,39 @@ - openstack-tox-pep8 - kayobe-overcloud-rocky9 - kayobe-overcloud-centos9s - - kayobe-overcloud-ubuntu-jammy + - kayobe-overcloud-ubuntu-noble - kayobe-overcloud-tls-rocky9 - kayobe-overcloud-host-configure-rocky9 - kayobe-overcloud-host-configure-centos9s - - kayobe-overcloud-host-configure-ubuntu-jammy - - kayobe-overcloud-upgrade-ubuntu-focal + - kayobe-overcloud-host-configure-ubuntu-noble + - kayobe-overcloud-upgrade-rocky9 + - kayobe-overcloud-upgrade-ubuntu-jammy - kayobe-seed-rocky9 - - kayobe-seed-ubuntu-jammy + - kayobe-seed-ubuntu-noble - kayobe-seed-images-rocky9 - - kayobe-seed-upgrade-ubuntu-focal + - kayobe-seed-upgrade-rocky9 + - kayobe-seed-upgrade-ubuntu-jammy - kayobe-seed-vm-rocky9 - - kayobe-seed-vm-ubuntu-jammy + - kayobe-seed-vm-rocky9-efi + - kayobe-seed-vm-ubuntu-noble + - kayobe-seed-vm-ubuntu-noble-efi - kayobe-infra-vm-rocky9 - - kayobe-infra-vm-ubuntu-jammy - + - kayobe-infra-vm-ubuntu-noble gate: jobs: - openstack-tox-pep8 - kayobe-overcloud-rocky9 - - kayobe-overcloud-ubuntu-jammy + - kayobe-overcloud-ubuntu-noble - kayobe-overcloud-tls-rocky9 - kayobe-overcloud-host-configure-rocky9 - - kayobe-overcloud-host-configure-ubuntu-jammy - - kayobe-overcloud-upgrade-ubuntu-focal + - kayobe-overcloud-host-configure-ubuntu-noble + - kayobe-overcloud-upgrade-rocky9 + - kayobe-overcloud-upgrade-ubuntu-jammy - kayobe-seed-rocky9 - - kayobe-seed-ubuntu-jammy - - kayobe-seed-upgrade-ubuntu-focal + - kayobe-seed-ubuntu-noble + - kayobe-seed-upgrade-rocky9 + - kayobe-seed-upgrade-ubuntu-jammy - kayobe-seed-vm-rocky9 - - kayobe-seed-vm-ubuntu-jammy + - kayobe-seed-vm-ubuntu-noble - kayobe-infra-vm-rocky9 - - kayobe-infra-vm-ubuntu-jammy + - kayobe-infra-vm-ubuntu-noble