---
# Path to directory for kolla-ansible source code checkout.
kolla_ansible_source_path:

# Type of Kolla-ansible control installation. One of 'binary' or 'source'.
kolla_ansible_ctl_install_type:

# URL of Kolla Ansible source code repository if type is 'source'.
kolla_ansible_source_url:

# Version (branch, tag, etc.) of Kolla Ansible source code repository if type
# is 'source'.
kolla_ansible_source_version:

# Virtualenv directory where Kolla-ansible will be installed.
kolla_ansible_venv: "{{ ansible_facts.env['PWD'] }}/kolla-venv"

# Python interpreter to use to create Kolla Ansible virtualenv.
kolla_ansible_venv_python: "{{ '/usr/bin/python3.12' if ansible_facts.os_family == 'RedHat' else '/usr/bin/python3' }}"

# 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. It is possible to only
# install ansible-core by setting kolla_ansible_venv_ansible to None.
kolla_ansible_venv_ansible:
kolla_ansible_venv_ansible_core: 'ansible-core>=2.17,<2.19'

# Path to a requirements.yml file for Ansible collections.
kolla_ansible_requirements_yml: "{{ kolla_ansible_venv }}/share/kolla-ansible/requirements.yml"

# Path to a an additional requirements.yml file for Ansible collections when using ansible-core.
kolla_ansible_core_requirements_yml: "{{ kolla_ansible_venv }}/share/kolla-ansible/requirements-core.yml"

# Virtualenv directory where Kolla-ansible's ansible modules will execute
# remotely on the target nodes. If None, no virtualenv will be used.
kolla_ansible_target_venv:

# Upper constraints file which is passed to pip when installing packages
# into the kolla-ansible venv.
kolla_upper_constraints_file:

# Whether to install the epel-release package.
kolla_ansible_install_epel: false

# Password to use to encrypt the 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:

# Directory where Kolla config files will be installed.
kolla_config_path:

# Directory where Kolla custom configuration files will be installed.
kolla_node_custom_config_path:

# Path to kolla-ansible passwords.yml input file.
kolla_ansible_passwords_path:

# User account to use for Kolla SSH access.
kolla_ansible_user: kolla

# Primary group of Kolla SSH user.
kolla_ansible_group: kolla

# Whether to use privilege escalation for all operations performed via Kolla
# Ansible.
kolla_ansible_become: false

# Whether to use privilege escalation for operations on the control host.
kolla_ansible_control_host_become: true

###############################################################################
# Kolla-ansible inventory configuration.

# Full custom seed inventory contents.
kolla_seed_inventory_custom:

# Directories in kayobe config to search for kolla inventories. The inventory
# is assumed to be in a directory, 'kolla/inventory', relative to the search path.
# Any inventories discovered are passed through to kolla-ansible in the order
# in which they are discovered i.e search paths placed later in the list have
# precedence over the earlier ones.
kolla_overcloud_inventory_search_paths: []

# Custom overcloud inventory containing a mapping from top level groups to
# hosts.
kolla_overcloud_inventory_custom_top_level:

# Custom overcloud inventory containing a mapping from components to top level
# groups.
kolla_overcloud_inventory_custom_components:

# Custom overcloud inventory containing a mapping from services to components.
kolla_overcloud_inventory_custom_services:

# Full custom overcloud inventory contents. By default this will be the
# concatenation of the top level, component, and service inventories.
kolla_overcloud_inventory_custom:

# Dict mapping from kolla-ansible groups to kayobe groups and variables. Each
# item is a dict with the following items:
# * groups: A list of kayobe ansible groups to map to this kolla-ansible group.
# * vars: A dict mapping variable names to values for hosts in this
#         kolla-ansible group.
kolla_overcloud_inventory_top_level_group_map: {}

# List of names of top level kolla-ansible groups. Any of these groups which
# have no hosts mapped to them will be provided with an empty group definition.
kolla_overcloud_inventory_kolla_top_level_groups: []

###############################################################################
# Kolla-ansible global configuration options.

# Valid options are [ centos, debian, rocky, ubuntu ]
kolla_base_distro:

# Kolla base container image distribution version.
kolla_base_distro_version:

# Docker namespace to use for Kolla images.
kolla_docker_namespace:

# Url of docker registry to use for Kolla images.
kolla_docker_registry:

# Username to use to access a docker registry.
kolla_docker_registry_username:

# Valid option is Docker repository tag
kolla_openstack_release:

# This should be a VIP, an unused IP on your network that will float between
# the hosts running keepalived for high-availability. When running an All-In-One
# without haproxy and keepalived, this should be the first IP on your
# 'network_interface' as set in the Networking section below.
kolla_internal_vip_address:

# This is the DNS name that maps to the kolla_internal_vip_address VIP. By
# default it is the same as kolla_internal_vip_address.
kolla_internal_fqdn:

# This should be a VIP, an unused IP on your network that will float between
# the hosts running keepalived for high-availability. It defaults to the
# kolla_internal_vip_address, allowing internal and external communication to
# share the same address.  Specify a kolla_external_vip_address to separate
# internal and external requests between two VIPs.
kolla_external_vip_address:

# The Public address used to communicate with OpenStack as set in the public_url
# for the endpoints that will be created. This DNS name should map to
# kolla_external_vip_address.
kolla_external_fqdn:

####################
# Networking options
####################
# List of Neutron ML2 type drivers to use.
kolla_neutron_ml2_type_drivers: []

# List of Neutron ML2 tenant network types to use.
kolla_neutron_ml2_tenant_network_types: []

####################
# TLS options
####################
# To provide encryption and authentication on the external and/or internal
# APIs, TLS can be enabled.  When TLS is enabled, certificates must be provided
# to allow clients to perform authentication.
kolla_ansible_certificates_path:
kolla_enable_tls_external:
kolla_enable_tls_internal:
kolla_external_fqdn_cert:
kolla_internal_fqdn_cert:
kolla_public_openrc_cacert:
kolla_admin_openrc_cacert:

#############################
# Ironic options
#############################
# Start of range of IP addresses for dnsmasq to allocate from.
kolla_inspector_dhcp_pool_start:

# End of range of IP addresses for dnsmasq to allocate from.
kolla_inspector_dhcp_pool_end:

# The inspection network netmask.
kolla_inspector_netmask:

# Default gateway to use for inspection network.
kolla_inspector_default_gateway:

# List of extra kernel parameters for the inspector default PXE configuration.
kolla_inspector_extra_kernel_options: []

####################
# OpenStack options
####################
# Use these options to set the various log levels across all OpenStack projects
# Valid options are [ True, False ]
kolla_openstack_logging_debug:

# OpenStack services can be enabled or disabled with these options
#kolla_enable_aodh:
#kolla_enable_barbican:
#kolla_enable_blazar:
#kolla_enable_ceilometer:
#kolla_enable_central_logging:
#kolla_enable_cinder:
#kolla_enable_cinder_backend_iscsi:
#kolla_enable_cinder_backend_lvm:
#kolla_enable_cloudkitty:
#kolla_enable_etcd:
#kolla_enable_gnocchi:
#kolla_enable_grafana:
#kolla_enable_heat:
#kolla_enable_horizon:
#kolla_enable_influxdb:
#kolla_enable_ironic:
#kolla_enable_kuryr:
#kolla_enable_magnum:
#kolla_enable_manila:
#kolla_enable_mistral:
#kolla_enable_multipathd:
#kolla_enable_neutron_dvr:
#kolla_enable_neutron_qos:
#kolla_enable_neutron_agent_ha:
#kolla_enable_neutron_vpnaas:
#kolla_enable_prometheus:
#kolla_enable_swift:
#kolla_enable_telegraf:
#kolla_enable_watcher:

#######################
# Ironic options
#######################

# Which host to use to deploy the ironic-inspector services for ironic. By
# default this is none and all hosts in the controllers group are used instead.
kolla_ironic_inspector_host:

#######################
# Nova options
#######################

# Which host to use to deploy the nova-compute services for ironic. By default
# this is none and all hosts in the nova group are used instead - typically the
# controllers.
kolla_nova_compute_ironic_host:

kolla_libvirt_tls:

kolla_libvirt_enable_sasl:

###############################################################################
# Extra free-form configuraton.

# Deprecated:
# Free form extra configuration to append to {{ kolla_config_path }}/globals.yml.
kolla_extra_globals:

# List of paths to YAML files containing extra configuration to merge to {{
# kolla_config_path }}/globals.yml. Default is include the globals.yml template
# from the role.
kolla_globals_paths_default:
  - "{{ role_path }}/templates"

# List of paths to YAML files containing extra configuration to merge to {{
# kolla_config_path }}/globals.yml. Default is an empty list.
kolla_globals_paths_extra: []

# List of paths to YAML files containing extra configuration to merge to {{
# kolla_config_path }}/globals.yml. Default is combination of
# kolla_globals_paths_default and kolla_globals_paths_extra.
kolla_globals_paths: "{{ kolla_globals_paths_default + kolla_globals_paths_extra }}"

# Dictionary containing custom passwords to add or override in the Kolla
# passwords file.
kolla_ansible_custom_passwords: {}

###############################################################################
# TLS certificate bundle management

# When set, this will copy the contents of this variable into place for
# use by HAProxy.
kolla_external_tls_cert:
kolla_internal_tls_cert:

###############################################################################
# SELinux

# Desired SELinux state.
kolla_selinux_state:

###############################################################################
# Docker configuration.

# URL of docker registry
docker_registry:

###############################################################################
# Proxy configuration

# HTTP proxy URL (format: http(s)://[user:password@]proxy_name:port).
kolla_http_proxy:

# HTTPS proxy URL (format: http(s)://[user:password@]proxy_name:port).
kolla_https_proxy:

# List of domains, hostnames, IP addresses and networks for which no proxy is
# used.
kolla_no_proxy:
