
This change is a precursor to switching the default Docker storage driver to overlay2. Previously, Kayobe's default configuration included a 'data' LVM volume group, with a 'docker-volumes' logical volume mounted at /var/lib/docker/volumes. Additionally, if the Docker devicemapper storage driver was used, the data volume group would contain the docker-thinpool and docker-thinpoolmeta volumes. This LVM setup was really included for devicemapper, and while in some cases it may be useful to have docker volumes as a separate logical volume, this doesn't really make sense as a default. Often in environments using other Docker storage drivers, the data volume group would be removed from configuration. This change modifies the default LVM configuration to only create a 'data' volume group if the Docker storage driver is devicemapper. Additionally, new flags are added to make this choice independent from the storage driver, to support cases where the data volume group is required without devicemapper. Change-Id: Ia3c1f6423c32fa2580b57db32512a34ce35d7acc Story: 2005667 Task: 30973
141 lines
5.3 KiB
Plaintext
141 lines
5.3 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: >
|
|
{{ ([public_net_name,
|
|
tunnel_net_name] +
|
|
external_net_names) | reject('none') | unique | list }}
|
|
|
|
###############################################################################
|
|
# 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 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 }}"
|