Mark Goddard af3b719b73 Move group_vars to an inventory directory
The group variables originally in ansible/group_vars/ were playbook
group variables, due to being adjacent to the playbooks. Typically they
provided default values for global variables in the all group, as well
as some more specific groups. This has worked fairly well, but results
in (at least) a couple of problems.

1. The default variable precedence rules mean that these playbook group
   variables have a higher precedence than inventory group variables
   (for a given group). This can make it challenging to override
   playbook group variables in the inventory in Kayobe configuration.

2. Any playbook run by Kayobe must be in the same directory as the
   playbook group variables in order to use them. Given that they
   include variables required for connectivity such as ansible_host and
   ansible_user, this is quite critical. For Kayobe custom playbooks, we
   work around this by symlinking to the group_vars directory from the
   directory containing the custom playbook. This is not an elegant
   workaround, and has assumptions about the relative paths of the
   Kayobe configuration and virtual environment in which Kayobe is
   installed.

Story: 2010280
Task: 46233

Change-Id: Ifea5c7e73f6f410f96a7398bfd349d1f631d9fc0
2022-09-08 10:11:23 +01:00

67 lines
2.5 KiB
Plaintext

---
###############################################################################
# Neutron configuration.
# List of Neutron ML2 mechanism drivers to use. If unset the kolla-ansible
# defaults will be used.
kolla_neutron_ml2_mechanism_drivers:
# List of Neutron ML2 type drivers to use.
kolla_neutron_ml2_type_drivers:
- flat
- vlan
- vxlan
# List of Neutron ML2 tenant network types to use.
kolla_neutron_ml2_tenant_network_types:
- flat
- vlan
- vxlan
# List of Neutron ML2 network VLAN ranges to use. Each item should be a dict
# containing the following items:
# physical_network: The physical network
# range: Range of allowed VLANs on this physical network (min:max, (optional)
kolla_neutron_ml2_network_vlan_ranges: []
# List of Neutron ML2 extention drivers to use.
kolla_neutron_ml2_extension_drivers: []
###############################################################################
# Neutron ML2 generic switch driver configuration.
# List of switches to configure for use by genericswitch ML2 mechanism driver.
# Each item should be a dict containing the following items:
# name: Hostname of the switch
# ip: IP address on which to reach the switch
# username: SSH username
# password: SSH password (optional)
# key_file: SSH key file (optional)
# secret: SSH secret (optional)
kolla_neutron_ml2_generic_switches: []
# List of Ansible hosts representing switches to configure for use by
# genericswitch ML2 mechanism driver. These switches will be appended to
# kolla_neutron_ml2_generic_switches and their configuration will be determined
# by the following host variables:
# name: inventory_hostname
# ip: ansible_host
# username: ansible_user
# password: ansible_ssh_pass
# key_file: not currently supported
# secret: not currently supported
kolla_neutron_ml2_generic_switch_hosts: []
# List of Ansible hosts whose switch interfaces are to be configured as tagged
# members of all networks managed by the genericswitch ML2 mechanism driver.
# These hosts will be matched against the description fields in the
# switch_interface_config variable for each switch to determine which
# interfaces should be configured.
kolla_neutron_ml2_generic_switch_trunk_port_hosts: "{{ groups['network'] }}"
# Dict containing additional configuration for switches managed by the
# genericswitch ML2 mechanism driver. For per-switch configuration of switches
# in kolla_neutron_ml2_generic_switch_hosts, this may be set as a group or
# host variable for the switch host.
kolla_neutron_ml2_generic_switch_extra: {}