Will Szumski c75a32e72f Pass through kolla inventories as is
Previously, we only supported passing through group_vars. Passing
through the inventory as is allows you to use other features of ansible
inventory such as host vars. It also simplifies the logic of merging
multiple inventories as we can just pass the inventory to ansible and
let ansible take care of the rest. This is useful for the multiple
environments feature.

Change-Id: I28f5d73d414d405d67f5fc92ab371aa2e28a4ce3
Story: 2002009
Task: 42910
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/802863
2023-05-30 18:42:24 +02:00

322 lines
10 KiB
YAML

---
# 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
# 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: 'ansible>=6,<8.0'
kolla_ansible_venv_ansible_core: 'ansible-core>=2.13,<=2.14.2'
# Path to a requirements.yml file for Ansible collections.
kolla_ansible_requirements_yml: "{{ kolla_ansible_venv }}/share/kolla-ansible/requirements.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
###############################################################################
# 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:
# 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.
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_external_fqdn_cacert:
kolla_internal_fqdn_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_murano:
#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_sahara:
#kolla_enable_senlin:
#kolla_enable_swift:
#kolla_enable_telegraf:
#kolla_enable_watcher:
#######################
# 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:
###############################################################################
# NTP
# Whether to enable the NTP daemon.
kolla_enable_host_ntp:
###############################################################################
# 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: