e167e56857
Depends-On: https://review.opendev.org/738903 Depends-On: https://review.opendev.org/735555 Depends-On: https://review.opendev.org/735781 Depends-On: https://review.opendev.org/735926 Depends-On: https://review.opendev.org/735971 Depends-On: https://review.opendev.org/736097 Depends-On: https://review.opendev.org/736095 Depends-On: https://review.opendev.org/736850 Depends-On: https://review.opendev.org/739026 Change-Id: Ibac278398ef533bc8fcf253c67cb983461bd145d
210 lines
8.0 KiB
YAML
210 lines
8.0 KiB
YAML
---
|
|
# Copyright 2015, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
## AIO user-space configuration options
|
|
# Scenario used to bootstrap the host
|
|
bootstrap_host_scenario: "{{ lookup('env','SCENARIO') | default('aio_lxc', true) }}"
|
|
#
|
|
# Boolean option to implement OpenStack-Ansible configuration for an AIO
|
|
# Switch to no for a multi-node configuration
|
|
bootstrap_host_aio_config: yes
|
|
#
|
|
# Path to the location of the bootstrapping configuration files
|
|
bootstrap_host_aio_config_path: "{{ playbook_dir }}/../etc/openstack_deploy"
|
|
#
|
|
# Path to the location of the scripts the bootstrap scripts use
|
|
bootstrap_host_aio_script_path: "{{ playbook_dir }}/../scripts"
|
|
#
|
|
# The user space configuration file names to use
|
|
bootstrap_host_user_variables_filename: "user_variables.yml"
|
|
bootstrap_host_user_secrets_filename: "user_secrets.yml"
|
|
#
|
|
# Paths to configuration file targets that should be created by the bootstrap
|
|
bootstrap_host_target_config_paths:
|
|
- /etc/openstack_deploy
|
|
- /etc/openstack_deploy/conf.d
|
|
- /etc/openstack_deploy/env.d
|
|
|
|
# The user variables template to use
|
|
bootstrap_user_variables_template: user_variables.aio.yml.j2
|
|
|
|
## Loopback volumes
|
|
# Sparse loopback disks are used for the containers if there is no secondary
|
|
# disk available to partition for btrfs. They are also used for Ceph, Cinder,
|
|
# Swift and Nova (instance storage).
|
|
# The size of the loopback volumes can be customized here (in gigabytes).
|
|
#
|
|
# Boolean option to deploy the loopback disk for Swap
|
|
bootstrap_host_loopback_swap: no
|
|
# Size of the Swap loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_swap_size: 4096
|
|
#
|
|
# Boolean option to deploy the loopback disk for Cinder
|
|
bootstrap_host_loopback_cinder: yes
|
|
# Size of the Cinder loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_cinder_size: 1024
|
|
#
|
|
# Boolean option to deploy the loopback disk for Swift
|
|
bootstrap_host_loopback_swift: yes
|
|
# Size of the Swift loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_swift_size: 1024
|
|
#
|
|
# Boolean option to deploy the loopback disk for Nova
|
|
bootstrap_host_loopback_nova: yes
|
|
# Size of the Nova loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_nova_size: 1024
|
|
#
|
|
# Boolean option to deploy the loopback disk for Manila
|
|
bootstrap_host_loopback_manila: yes
|
|
# Size of the Manila loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_manila_size: 1024
|
|
#
|
|
# Boolean option to deploy the loopback disk for machines
|
|
bootstrap_host_loopback_machines: yes
|
|
# Size of the machines loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_machines_size: 128
|
|
#
|
|
# Boolean option to deploy the loopback disk for btrfs
|
|
bootstrap_host_loopback_btrfs: yes
|
|
# Size of the btrfs loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_btrfs_size: 1024
|
|
#
|
|
# Boolean option to deploy the loopback disk for zfs
|
|
bootstrap_host_loopback_zfs: yes
|
|
# Size of the zfs loopback disk in gigabytes (GB).
|
|
bootstrap_host_loopback_zfs_size: 1024
|
|
#
|
|
# Boolean option to deploy the OSD loopback disks and cluster UUID for Ceph
|
|
bootstrap_host_ceph: "{{ 'ceph' in bootstrap_host_scenarios_expanded }}"
|
|
# Size of the Ceph OSD loopbacks
|
|
bootstrap_host_loopback_ceph_size: 1024
|
|
# Ceph OSDs to create on the AIO host
|
|
ceph_osd_images:
|
|
- 'ceph1'
|
|
- 'ceph2'
|
|
- 'ceph3'
|
|
|
|
## Network configuration
|
|
# Default network IP ranges
|
|
mgmt_range: "172.29.236"
|
|
vxlan_range: "172.29.240"
|
|
storage_range: "172.29.244"
|
|
vlan_range: "172.29.248"
|
|
netmask: "255.255.252.0"
|
|
#
|
|
# NICs
|
|
bootstrap_host_public_interface: "{{ ansible_default_ipv4.interface }}"
|
|
#
|
|
# Utility paths
|
|
bootstrap_host_network_utils:
|
|
apt:
|
|
iptables: /sbin/iptables
|
|
ethtool: /sbin/ethtool
|
|
ip: /sbin/ip
|
|
yum:
|
|
iptables: /usr/sbin/iptables
|
|
ethtool: /usr/sbin/ethtool
|
|
ip: /usr/sbin/ip
|
|
dnf:
|
|
iptables: /usr/sbin/iptables
|
|
ethtool: /usr/sbin/ethtool
|
|
ip: /usr/sbin/ip
|
|
zypper:
|
|
iptables: /usr/sbin/iptables
|
|
ethtool: /sbin/ethtool
|
|
ip: /sbin/ip
|
|
#
|
|
bootstrap_host_iptables_path: "{{ bootstrap_host_network_utils[ansible_pkg_mgr]['iptables'] }}"
|
|
bootstrap_host_ethtool_path: "{{ bootstrap_host_network_utils[ansible_pkg_mgr]['ethtool'] }}"
|
|
bootstrap_host_ip_path: "{{ bootstrap_host_network_utils[ansible_pkg_mgr]['ip'] }}"
|
|
|
|
## Extra storage
|
|
# An AIO may optionally be built using a second storage device. If a
|
|
# secondary disk device to use is not specified, then the AIO will be
|
|
# built on any existing disk partitions.
|
|
#
|
|
# WARNING: The data on a secondary storage device specified here will
|
|
# be destroyed and repartitioned.
|
|
#
|
|
|
|
# Enable detection for the secondary data disk
|
|
# This does not run by default, but gate-check-commit and the OSA gate jobs
|
|
# enable this because it is needed for RAX nodepool instances
|
|
bootstrap_host_data_disk_device_detect: "{{ lookup('env', 'BOOTSTRAP_HOST_DETECT_DATA_DISK') |
|
|
default(False, True) }}"
|
|
|
|
# Specify the secondary disk device to use. When the data disk is in use, no NOT
|
|
# set the full path to the device. IE: "/dev/xvde" should be "xvde".
|
|
bootstrap_host_data_disk_device: null
|
|
|
|
# Specify the default filesystem type
|
|
bootstrap_host_data_disk_fs_type: ext4
|
|
#
|
|
# Boolean value to force the repartitioning of the secondary device.
|
|
bootstrap_host_data_disk_device_force: no
|
|
#
|
|
# If the storage capacity on this device is greater than or equal to this
|
|
# size (in GB), the bootstrap process will use it.
|
|
# If metal, we don't need that much storage space.
|
|
bootstrap_host_data_disk_min_size: "{{ (bootstrap_host_scenario is search('metal')) | ternary(10,50) }}"
|
|
#
|
|
# Set the data disk formats table. If the backing store is set to lvm the option
|
|
# the partition will not actually be formatted however for parted, ext2 is used.
|
|
bootstrap_host_data_disk2_formats:
|
|
machinectl: btrfs
|
|
zfs: zfs
|
|
btrfs: btrfs
|
|
xfs: xfs
|
|
dir: ext4
|
|
lvm: ext2
|
|
|
|
bootstrap_host_format_options:
|
|
machinectl: '--metadata single --data single --mixed'
|
|
btrfs: '--metadata single --data single --mixed'
|
|
xfs: '-K -d agcount=64 -l size=128m'
|
|
ext4: '-O dir_index'
|
|
|
|
#
|
|
# Set the data disk mount options.
|
|
bootstrap_host_data_mount_options:
|
|
machinectl: "noatime,nodiratime,compress=lzo,commit=120,{{ (ansible_kernel is version('4.5', '>=')) | ternary('space_cache=v2', 'space_cache') }}"
|
|
zfs: "defaults"
|
|
btrfs: "noatime,nodiratime,compress=lzo,commit=120,{{ (ansible_kernel is version('4.5', '>=')) | ternary('space_cache=v2', 'space_cache') }}"
|
|
xfs: "noatime,nodiratime,logbufs=8,logbsize=256k"
|
|
ext4: "noatime,nobh,barrier=0,data=writeback"
|
|
dir: "defaults"
|
|
lvm: "defaults"
|
|
swap: "%%"
|
|
|
|
bootstrap_host_data_disk2_fs: "{{ bootstrap_host_data_disk2_formats[((bootstrap_host_container_tech == 'nspawn') | ternary('btrfs', lxc_container_backing_store))] }}"
|
|
bootstrap_host_data_disk2_fs_mount_options: "{{ bootstrap_host_data_mount_options[((bootstrap_host_container_tech == 'nspawn') | ternary('btrfs', lxc_container_backing_store))] }}"
|
|
bootstrap_host_data_disk2_path: "{{ (lxc_container_backing_store == 'machinectl' or bootstrap_host_container_tech == 'nspawn') | ternary('/var/lib/machines', '/var/lib/lxc') }}"
|
|
|
|
### Optional Settings ###
|
|
|
|
# Specify the public IP address for the host.
|
|
# By default the address will be set to the ipv4 address of the
|
|
# host's network interface that has the default route on it.
|
|
#bootstrap_host_public_address: 0.0.0.0
|
|
|
|
# Set the install method for the deployment. Options are ['source', 'distro']
|
|
bootstrap_host_install_method: "{{ lookup('env', 'INSTALL_METHOD') | default('source', true) }}"
|
|
|
|
# Set the container technology in service. Options are nspawn and lxc.
|
|
bootstrap_host_container_tech: "{{ (bootstrap_host_scenario is search('nspawn')) | ternary('nspawn', 'lxc') }}"
|
|
|
|
# Set the lxc backing store for the job
|
|
lxc_container_backing_store: dir
|