kayobe/ansible/group_vars/all/storage
Mark Goddard d6aa4ea16e Ubuntu: simplify OS distro selection
Adds a new 'os_distribution' variable which can be used to select the OS
distribution, with sensible defaults for other variables. The default
value is 'centos'.

This patch changes the default value for the '*_bootstrap_user'
variables from using the $USER environment variable to using fixed
defaults equal to the os_distribution variable. This aligns with the
standard user configured in most cloud images, and images created via
DIB.

Note that we are continuing to use a CentOS based IPA image, since we
have been unable to get IPA to build for Ubuntu.

Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/788234

Change-Id: I9e10239f58fe209867116fa2e10f1ce74220b966
Story: 2004960
Task: 42323
2021-04-29 11:16:42 +01:00

148 lines
5.4 KiB
Plaintext

---
###############################################################################
# Storage node configuration.
# User with which to access the storages via SSH during bootstrap, in order
# to setup the Kayobe user account. Default is {{ os_distribution }}.
storage_bootstrap_user: "{{ os_distribution }}"
###############################################################################
# Storage network interface configuration.
# List of networks to which storage nodes are attached.
storage_network_interfaces: >
{{ (storage_default_network_interfaces +
storage_extra_network_interfaces +
([swift_storage_net_name]
if storage_needs_swift_network else []) +
([swift_storage_replication_net_name]
if storage_needs_swift_replication_network else [])) | select | unique | list }}
# List of default networks to which storage nodes are attached.
storage_default_network_interfaces: >
{{ [admin_oc_net_name,
internal_net_name,
storage_mgmt_net_name,
storage_net_name] | select | unique | list }}
# List of extra networks to which storage nodes are attached.
storage_extra_network_interfaces: []
# Whether this host requires access to Swift networks.
storage_needs_swift_network: >-
{{ kolla_enable_swift | bool and
inventory_hostname in query('inventory_hostnames', swift_hosts) }}
storage_needs_swift_replication_network: >-
{{ kolla_enable_swift | bool and
inventory_hostname in query('inventory_hostnames', swift_hosts) }}
###############################################################################
# Storage node BIOS configuration.
# Dict of storage BIOS options. Format is same as that used by stackhpc.drac
# role.
storage_bios_config: "{{ storage_bios_config_default | combine(storage_bios_config_extra) }}"
# Dict of default storage BIOS options. Format is same as that used by
# stackhpc.drac role.
storage_bios_config_default: {}
# Dict of additional storage BIOS options. Format is same as that used by
# stackhpc.drac role.
storage_bios_config_extra: {}
###############################################################################
# Storage node RAID configuration.
# List of storage RAID volumes. Format is same as that used by stackhpc.drac
# role.
storage_raid_config: "{{ storage_raid_config_default + storage_raid_config_extra }}"
# List of default storage RAID volumes. Format is same as that used by
# stackhpc.drac role.
storage_raid_config_default: []
# List of additional storage RAID volumes. Format is same as that used by
# stackhpc.drac role.
storage_raid_config_extra: []
###############################################################################
# Storage node software RAID configuration.
# List of software RAID arrays. See mrlesmithjr.mdadm role for format.
storage_mdadm_arrays: []
###############################################################################
# Storage node encryption configuration.
# List of block devices to encrypt. See stackhpc.luks role for format.
storage_luks_devices: []
###############################################################################
# Storage node LVM configuration.
# List of storage volume groups. See mrlesmithjr.manage-lvm role for
# format.
storage_lvm_groups: "{{ storage_lvm_groups_default + storage_lvm_groups_extra }}"
# Default list of storage volume groups. See mrlesmithjr.manage-lvm role for
# format.
storage_lvm_groups_default: "{{ [storage_lvm_group_data] if storage_lvm_group_data_enabled | bool else [] }}"
# Additional list of storage volume groups. See mrlesmithjr.manage-lvm role
# for format.
storage_lvm_groups_extra: []
# Whether a 'data' LVM volume group should exist on storage 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.
storage_lvm_group_data_enabled: "{{ docker_storage_driver == 'devicemapper' }}"
# Storage LVM volume group for data. See mrlesmithjr.manage-lvm role for
# format.
storage_lvm_group_data:
vgname: data
disks: "{{ storage_lvm_group_data_disks }}"
create: True
lvnames: "{{ storage_lvm_group_data_lvs }}"
# List of disks for use by storage LVM data volume group. Default to an
# invalid value to require configuration.
storage_lvm_group_data_disks:
- changeme
# List of LVM logical volumes for the data volume group.
storage_lvm_group_data_lvs:
- "{{ storage_lvm_group_data_lv_docker_volumes }}"
# Docker volumes LVM backing volume.
storage_lvm_group_data_lv_docker_volumes:
lvname: docker-volumes
size: "{{ storage_lvm_group_data_lv_docker_volumes_size }}"
create: True
filesystem: "{{ storage_lvm_group_data_lv_docker_volumes_fs }}"
mount: True
mntp: /var/lib/docker/volumes
# Size of docker volumes LVM backing volume.
storage_lvm_group_data_lv_docker_volumes_size: 75%VG
# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
storage_lvm_group_data_lv_docker_volumes_fs: ext4
###############################################################################
# Storage node sysctl configuration.
# Dict of sysctl parameters to set.
storage_sysctl_parameters: {}
###############################################################################
# Storage node user configuration.
# List of users to create. This should be in a format accepted by the
# singleplatform-eng.users role.
storage_users: "{{ users_default }}"