diff --git a/.gitreview b/.gitreview index b0241214f..088e01d84 100644 --- a/.gitreview +++ b/.gitreview @@ -2,4 +2,4 @@ host=review.opendev.org port=29418 project=openstack/kayobe-config.git -defaultbranch=stable/2023.1 +defaultbranch=stable/2024.1 diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index d15d18613..123c53d23 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. @@ -106,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 75ff73c5f..850a4e899 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 cdb26a592..39e06857f 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: +############################################################################### +# 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. @@ -86,9 +105,8 @@ # 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/globals.yml b/etc/kayobe/globals.yml index 50af1cb14..a97f74d1a 100644 --- a/etc/kayobe/globals.yml +++ b/etc/kayobe/globals.yml @@ -64,6 +64,10 @@ # 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: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/grafana.yml b/etc/kayobe/grafana.yml index d67a972e3..66d19c7a3 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 4fb76ddf7..f6a1a6fe6 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 90c5d8750..123481a5f 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/inventory/groups b/etc/kayobe/inventory/groups index d368b1bb2..a05d38fc9 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -54,8 +54,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 @@ -64,6 +67,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 5877d039a..0138c6c44 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 @@ -49,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 9479ba6c1..ee59de52f 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -550,7 +550,7 @@ kolla_enable_central_logging: true #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: @@ -567,34 +567,30 @@ kolla_enable_grafana: true #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_pxe_uefi: +#kolla_enable_ironic_prometheus_exporter: #kolla_enable_iscsid: #kolla_enable_keepalived: #kolla_enable_keystone: #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: @@ -611,11 +607,11 @@ kolla_enable_mariabackup: True #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: @@ -627,6 +623,7 @@ kolla_enable_mariabackup: True #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: @@ -637,6 +634,7 @@ kolla_enable_mariabackup: True #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: @@ -668,9 +666,7 @@ kolla_enable_prometheus: true #kolla_enable_proxysql: #kolla_enable_rabbitmq: #kolla_enable_redis: -#kolla_enable_sahara: -#kolla_enable_senlin: -#kolla_enable_solum: +#kolla_enable_skyline: #kolla_enable_swift: #kolla_enable_swift_recon: #kolla_enable_swift_s3api: @@ -678,8 +674,7 @@ kolla_enable_prometheus: true #kolla_enable_telegraf: #kolla_enable_trove: #kolla_enable_trove_singletenant: -#kolla_enable_vitrage: -#kolla_enable_vitrage_prometheus_datasource: +#kolla_enable_venus: #kolla_enable_watcher: #kolla_enable_zun: diff --git a/etc/kayobe/logging.yml b/etc/kayobe/logging.yml new file mode 100644 index 000000000..46033d268 --- /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 diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index e58ab44cf..17c9028c4 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -69,7 +69,7 @@ # # example_cidr: 10.0.0.0/24 # example_allocation_pool_start: 10.0.0.2 -# example_allocation_pool_start: 10.0.0.254 +# example_allocation_pool_end: 10.0.0.254 # example_gateway: 10.0.0.1 # example_vlan: 42 # diff --git a/etc/kayobe/openstack.yml b/etc/kayobe/openstack.yml index 46cc4ebfe..66da584f1 100644 --- a/etc/kayobe/openstack.yml +++ b/etc/kayobe/openstack.yml @@ -2,14 +2,14 @@ ############################################################################### # OpenStack release configuration. -# Name of the current OpenStack release. Default is "2023.1". +# Name of the current OpenStack release. Default is "2024.1". #openstack_release: # Codename of the current OpenStack release. # NOTE(upgrade): Update to current release codename. -openstack_release_codename: "antelope" +openstack_release_codename: "caracal" -# Name of the current OpenStack branch. Default is "stable/2023.1". +# 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 73ae57302..3e9a3cbb8 100644 --- a/etc/kayobe/overcloud-dib.yml +++ b/etc/kayobe/overcloud-dib.yml @@ -15,9 +15,10 @@ overcloud_dib_host_packages_extra: - "{% if 'ubuntu-minimal' in overcloud_dib_host_images | map(attribute='elements') | flatten | list %}debootstrap{% endif %}" # 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: @@ -29,13 +30,8 @@ overcloud_dib_host_packages_extra: # 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. @@ -63,11 +59,11 @@ overcloud_dib_host_packages_extra: #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: - repo: "https://github.com/stackhpc/stackhpc-image-elements" local: "{{ source_checkout_path }}/stackhpc-image-elements" @@ -75,7 +71,7 @@ overcloud_dib_git_elements_extra: elements_path: "elements" # 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 2303006e3..f8150ebd9 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -48,10 +48,8 @@ #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 32a7382aa..9b81dcd78 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 diff --git a/etc/kayobe/vgpu.yml b/etc/kayobe/vgpu.yml new file mode 100644 index 000000000..c304f123c --- /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 diff --git a/tox.ini b/tox.ini index 581e565b2..1ea35f874 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ skipsdist = True [testenv] install_command = pip install {opts} {packages} deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2023.1} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2024.1} -r{toxinidir}/test-requirements.txt [testenv:pep8]