kayobe/ansible/group_vars/all/controllers
Pierre Riteau 58f26fb61b Fix network configuration of network hosts
The Control Plane Service Placement documentation connects network hosts
to networks listed in controller_network_host_network_interfaces.
However this only contained public, tunnel, and external networks. For a
fully functional network host, we also need:

- the overcloud admin network, to manage the host
- internal network, for services to interact with each other
- storage network, for manila-share

This change updates the default network configuration for network hosts
and adds a variable to define extra networks like for other hosts. It
also improves the documentation for adding network hosts.

Change-Id: I1bb857bfca9e209bc6de30ae9852a4a08b2c7fb0
2020-06-25 18:50:49 +02:00

158 lines
6.0 KiB
Plaintext

---
###############################################################################
# Controller node configuration.
# User with which to access the controllers via SSH during bootstrap, in order
# to setup the Kayobe user account.
controller_bootstrap_user: "{{ lookup('env', 'USER') }}"
###############################################################################
# Controller network interface configuration.
# List of networks to which controller nodes are attached.
controller_network_interfaces: >
{{ (controller_default_network_interfaces +
controller_extra_network_interfaces +
(controller_network_host_network_interfaces
if inventory_hostname in groups['network'] else [])) | reject('none') | unique | list }}
# List of default networks to which controller nodes are attached.
controller_default_network_interfaces: >
{{ [admin_oc_net_name,
oob_wl_net_name,
provision_wl_net_name,
inspection_net_name,
internal_net_name,
storage_net_name,
swift_storage_net_name,
cleaning_net_name] | reject('none') | unique | list }}
# List of extra networks to which controller nodes are attached.
controller_extra_network_interfaces: []
# List of network interfaces to which network nodes are attached.
controller_network_host_network_interfaces: >
{{ (controller_network_host_default_network_interfaces +
controller_network_host_extra_network_interfaces) | reject('none') | unique | list }}
# List of default network interfaces to which network nodes are attached.
controller_network_host_default_network_interfaces: >
{{ ([admin_oc_net_name,
internal_net_name,
storage_net_name,
public_net_name,
tunnel_net_name] +
external_net_names) | reject('none') | unique | list }}
# List of extra networks to which network nodes are attached.
controller_network_host_extra_network_interfaces: []
###############################################################################
# Controller node BIOS configuration.
# Dict of controller BIOS options. Format is same as that used by stackhpc.drac
# role.
controller_bios_config: "{{ controller_bios_config_default | combine(controller_bios_config_extra) }}"
# Dict of default controller BIOS options. Format is same as that used by
# stackhpc.drac role.
controller_bios_config_default: {}
# Dict of additional controller BIOS options. Format is same as that used by
# stackhpc.drac role.
controller_bios_config_extra: {}
###############################################################################
# Controller node RAID configuration.
# List of controller RAID volumes. Format is same as that used by stackhpc.drac
# role.
controller_raid_config: "{{ controller_raid_config_default + controller_raid_config_extra }}"
# List of default controller RAID volumes. Format is same as that used by
# stackhpc.drac role.
controller_raid_config_default: []
# List of additional controller RAID volumes. Format is same as that used by
# stackhpc.drac role.
controller_raid_config_extra: []
###############################################################################
# Controller node software RAID configuration.
# List of software RAID arrays. See mrlesmithjr.mdadm role for format.
controller_mdadm_arrays: []
###############################################################################
# Controller node encryption configuration.
# List of block devices to encrypt. See stackhpc.luks role for format.
controller_luks_devices: []
###############################################################################
# Controller node LVM configuration.
# List of controller volume groups. See mrlesmithjr.manage-lvm role for
# format.
controller_lvm_groups: "{{ controller_lvm_groups_default + controller_lvm_groups_extra }}"
# Default list of controller volume groups. See mrlesmithjr.manage-lvm role for
# format.
controller_lvm_groups_default: "{{ [controller_lvm_group_data] if controller_lvm_group_data_enabled | bool else [] }}"
# Additional list of controller volume groups. See mrlesmithjr.manage-lvm role
# for format.
controller_lvm_groups_extra: []
# 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.
controller_lvm_group_data_enabled: "{{ docker_storage_driver == 'devicemapper' }}"
# Controller LVM volume group for data. See mrlesmithjr.manage-lvm role for
# format.
controller_lvm_group_data:
vgname: data
disks: "{{ controller_lvm_group_data_disks }}"
create: True
lvnames: "{{ controller_lvm_group_data_lvs }}"
# List of disks for use by controller LVM data volume group. Default to an
# invalid value to require configuration.
controller_lvm_group_data_disks:
- changeme
# List of LVM logical volumes for the data volume group.
controller_lvm_group_data_lvs:
- "{{ controller_lvm_group_data_lv_docker_volumes }}"
# Docker volumes LVM backing volume.
controller_lvm_group_data_lv_docker_volumes:
lvname: docker-volumes
size: "{{ controller_lvm_group_data_lv_docker_volumes_size }}"
create: True
filesystem: "{{ controller_lvm_group_data_lv_docker_volumes_fs }}"
mount: True
mntp: /var/lib/docker/volumes
# Size of docker volumes LVM backing volume.
controller_lvm_group_data_lv_docker_volumes_size: 75%VG
# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
controller_lvm_group_data_lv_docker_volumes_fs: ext4
###############################################################################
# Controller node sysctl configuration.
# Dict of sysctl parameters to set.
controller_sysctl_parameters: {}
###############################################################################
# Controller node user configuration.
# List of users to create. This should be in a format accepted by the
# singleplatform-eng.users role.
controller_users: "{{ users_default }}"