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