a8b96e2e37
Change-Id: I1c510b01d12b19078548a6e6130aecaf6e1b0e59
270 lines
11 KiB
YAML
270 lines
11 KiB
YAML
---
|
|
# Copyright 2014, 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.
|
|
|
|
# Validate certificates when downloading LXC templates
|
|
lxc_hosts_validate_certs: yes
|
|
|
|
# Set the package install state for distribution packages
|
|
# Options are 'present' and 'latest'
|
|
lxc_hosts_package_state: "latest"
|
|
|
|
# Define a list of extra distribuition packages to install onto the host
|
|
# at the discretion of the deployer
|
|
lxc_hosts_extra_distro_packages: []
|
|
|
|
# Define the total list of packages which to install onto the host combining
|
|
# distibution specific and deployers extra package lists
|
|
lxc_hosts_distro_packages: "{{ _lxc_hosts_distro_packages + lxc_hosts_extra_distro_packages }}"
|
|
|
|
# Mappings from Ansible reported architecture to distro release architecture
|
|
lxc_architecture_mapping:
|
|
x86_64: amd64
|
|
ppc64le: ppc64el
|
|
s390x: s390x
|
|
armv7l: armhf
|
|
aarch64: arm64
|
|
|
|
# Set the volume size for the machine image caches. We only use the
|
|
# most specific mountpoint from the hierarchy.
|
|
# NOTE: Size is set in Gigabytes.
|
|
lxc_host_machine_volume_size: |-
|
|
{%- set mounts = [] -%}
|
|
{%- set mount_points = ['/var/lib/machines', '/var/lib/', '/var', '/'] -%}
|
|
{%- for mount in mount_points -%}
|
|
{%- for dev in ansible_mounts -%}
|
|
{%- if mount == dev.mount -%}
|
|
{%- set _ = mounts.append(dev.size_total // (1024 ** 3)) -%}
|
|
{%- endif -%}
|
|
{%- endfor -%}
|
|
{%- endfor -%}
|
|
{{ mounts[0] }}
|
|
|
|
# Enable or Disable the BTRFS quota system for the "/var/lib/machines" mount
|
|
# point. More information on the BTRFS quota system can be found here:
|
|
# * https://btrfs.wiki.kernel.org/index.php/Quota_support
|
|
lxc_host_machine_quota_disabled: false
|
|
|
|
# Set the default qgroup limits used for file system quotas. The default is
|
|
# "none". See the following documentation for more information:
|
|
# * https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-qgroup
|
|
lxc_host_machine_qgroup_space_limit: none
|
|
lxc_host_machine_qgroup_compression_limit: none
|
|
|
|
|
|
# DefaultTasksMax systemd value. It's not recommended to change this value as it
|
|
# could prevent new processes from starting on busy containers.
|
|
lxc_default_tasks_max: 8192
|
|
|
|
# lxc container rootfs directory and cache path
|
|
lxc_container_directory: "/var/lib/lxc"
|
|
lxc_container_cache_path: "/var/cache/lxc/download"
|
|
|
|
# The container backing store can be set to 'overlayfs' to use overlayfs
|
|
# This should only be done for production use with a linux kernel > 3.14
|
|
# which is when overlayfs was merged into the mainline kernel
|
|
# lxc_container_backing_store: overlayfs
|
|
|
|
# The container backing method can be set to 'copy-on-write' to use LVM
|
|
# snapshot-backed containers when the container backing store is set to
|
|
# 'lvm'.
|
|
# lxc_container_backing_method: copy-on-write
|
|
|
|
# The cache map is used as a basic instruction set when prep'ing the base
|
|
# container image. If the cache map is overridden, the following fields are
|
|
# required:
|
|
# lxc_cache_map:
|
|
# distro: name of the distro
|
|
# arch: "CPU architecture"
|
|
# release: version of the release
|
|
# copy_from_host: [] # List of files to copy into the container
|
|
lxc_cache_map: "{{ _lxc_cache_map }}"
|
|
|
|
# When using a base container to snapshot from for the overlayfs or LVM
|
|
# copy-on-write backing stored, the base container can be set.
|
|
lxc_container_base_name: "{{ lxc_cache_map.distro }}-{{ lxc_cache_map.release }}-{{ lxc_cache_map.arch }}"
|
|
|
|
# Set the default zfs root name
|
|
lxc_container_zfs_root_name: "pool/lxc"
|
|
|
|
# lxc container net network
|
|
lxc_net_bridge: lxcbr0
|
|
lxc_net_bridge_port: none
|
|
lxc_net_address: 10.0.3.1
|
|
lxc_net_netmask: 255.255.255.0
|
|
lxc_net_gateway: null ## if null, no gateway will be on the LXC bridge. lxc_net_nat must be "false" to use a gateway.
|
|
#lxc_net_mtu: 1500 ##setting this variable will add mtu configuration for the lxc config and network bridge
|
|
|
|
# lxc container nat enabled
|
|
lxc_net_nat: true ## If "true", nat rules will be created with the lxc network.
|
|
|
|
# Enable iptables for lxc network
|
|
lxc_net_manage_iptables: true ## If "true" iptables rules will be added when the bridge is up and deleted when bridge is down
|
|
|
|
# lxc container dhcp settings
|
|
lxc_net_dhcp_range: 10.0.3.2,10.0.3.253
|
|
lxc_net_dhcp_max: 253
|
|
lxc_net_dhcp_config: ''
|
|
lxc_net_dnsmasq_user: lxc-dnsmasq
|
|
lxc_net_domain: ''
|
|
|
|
# lxc network ipv6 settings
|
|
lxc_net6_address: null ## ie. fd05:ffb8:32b4:1212::1
|
|
lxc_net6_netmask: null ## ie. 64
|
|
lxc_net6_nat: false
|
|
|
|
# System control kernel tuning
|
|
lxc_kernel_options:
|
|
- { key: 'fs.inotify.max_user_instances', value: 1024 }
|
|
|
|
lxc_cache_sshd_configuration:
|
|
- { regexp: "^PermitRootLogin", line: "PermitRootLogin prohibit-password" }
|
|
- { regexp: "^TCPKeepAlive", line: "TCPKeepAlive yes" }
|
|
- { regexp: "^UseDNS", line: "UseDNS no" }
|
|
- { regexp: "^X11Forwarding", line: "X11Forwarding no" }
|
|
- { regexp: "^PasswordAuthentication", line: "PasswordAuthentication no" }
|
|
|
|
# The compression ratio used when creating the container cache rootfs archive
|
|
lxc_image_compression_ratio: 0
|
|
|
|
# A list of files may be copied into the container image cache from the
|
|
# deployment host during its preparation.
|
|
# Example:
|
|
# lxc_container_cache_files:
|
|
# - src: "/etc/openstack_deploy/files/etc/issue"
|
|
# dest: "/etc/issue"
|
|
lxc_container_cache_files: []
|
|
|
|
# A list of files may be copied into the container image cache from the
|
|
# LXC host during its preparation.
|
|
# Example:
|
|
# lxc_container_cache_files_from_host:
|
|
# - "/etc/apt/sources.list.d/myrepo.list"
|
|
lxc_container_cache_files_from_host: []
|
|
|
|
# DNS servers to use during cache preparation
|
|
lxc_cache_prep_dns:
|
|
- "{{ lxc_net_address }}"
|
|
|
|
# Custom shell commands to run before/after the LXC cache prep process has taken
|
|
# place.
|
|
lxc_cache_prep_pre_commands: '## pre command skipped ##'
|
|
lxc_cache_prep_post_commands: '## post command skipped ##'
|
|
|
|
# User defined variable pointing to a specific variable file used when setting
|
|
# up the base container image. Deployers can use the provided container variable
|
|
# files by simply inputting the file name
|
|
# "{{ ansible_distribution }}-{{ ansible_distribution_version }}-container.yml"
|
|
# or by providing the full path to a local file containing all of the variables
|
|
# needed to prepare a container. built-in supported values are:
|
|
# [redhat-7.yml, suse-42.yml, ubuntu-16.04.yml, ubuntu-18.04.yml]
|
|
lxc_user_defined_container: null
|
|
|
|
# Full path to the base image prep script. By default this will use the
|
|
# named script for a given OS within the "templates/prep-scripts" directory.
|
|
# If a deployer wishes to override this script with something else they can
|
|
# do so by defining a user variable with the full path to the local script
|
|
# which will be templated onto the deployment targets.
|
|
lxc_cache_prep_template: "{{ _lxc_cache_prep_template }}"
|
|
|
|
## Define a list of extra distribuition packages to install in the container
|
|
# cache at the discretion of the deployer
|
|
lxc_cache_extra_distro_packages: []
|
|
|
|
# List of packages to be installed into the base container cache
|
|
# Combines the distribution specific list with deployers extra list
|
|
lxc_cache_distro_packages: "{{ _lxc_cache_distro_packages + lxc_cache_extra_distro_packages }}"
|
|
|
|
# The maximum amount of time (in seconds) to wait until failing the cache
|
|
# preparation process. This is necessary to mitigate the issue that can
|
|
# arise where the cache prep hangs and never fails.
|
|
# The value is specified in seconds, with the default being 20 minutes.
|
|
lxc_cache_prep_timeout: 1200
|
|
|
|
# Set the server to download LXC images from.
|
|
lxc_image_cache_server_mirrors:
|
|
- https://images.linuxcontainers.org
|
|
|
|
# URL for the image to build our containers
|
|
lxc_hosts_container_image_url: "{{ _lxc_hosts_container_image_url }}"
|
|
|
|
# If enabled the image will be fetched from the legacy [images.linuxcontainers.org].
|
|
lxc_hosts_container_image_download_legacy: false
|
|
|
|
# Local path to cached image
|
|
lxc_image_cache_path: "/var/lib/machines/{{ lxc_container_base_name }}"
|
|
|
|
# Mode to pull image. This is used to pull the image from a remote source.
|
|
# Valid options are [import-tar, import-raw]
|
|
lxc_image_cache_pull_mode: "import-tar"
|
|
|
|
# Set this option to true to pull a new cached image.
|
|
lxc_image_cache_refresh: false
|
|
|
|
# The keyservers to use when validating GPG keys for the downloaded cache
|
|
lxc_image_cache_primary_keyserver: hkp://p80.pool.sks-keyservers.net:80
|
|
lxc_image_cache_secondary_keyserver: hkp://keyserver.ubuntu.com:80
|
|
|
|
## Default download template options
|
|
## This can be customized to use a local build server and options.
|
|
## By default these options will be fulfilled by the distro specific
|
|
## variable files found in vars/
|
|
# lxc_cache_download_template_options: >
|
|
# --dist NAME_OF_DISTRO
|
|
# --release DISTRO_RELEASE
|
|
# --arch CONTAINER_ARCH
|
|
# --force-cache
|
|
# --server SERVER_TO_GET_IMAGES_FROM
|
|
lxc_cache_default_variant: default
|
|
lxc_cache_download_template_extra_options: ""
|
|
lxc_cache_download_template_options: >-
|
|
--dist {{ lxc_cache_map.distro }}
|
|
--release {{ lxc_cache_map.release }}
|
|
--arch {{ lxc_cache_map.arch }}
|
|
--force-cache
|
|
--server localhost
|
|
--variant {{ lxc_cache_default_variant }}
|
|
{{ lxc_cache_download_template_extra_options }}
|
|
|
|
# Locales to populate in the LXC base cache
|
|
lxc_cache_locales:
|
|
- en_US.UTF-8
|
|
|
|
# LXC must be installed from a COPR repository on CentOS 7 since the version
|
|
# provided in EPEL is much too old (1.x).
|
|
lxc_centos_package_baseurl: https://copr-be.cloud.fedoraproject.org/results/thm/lxc2.0/epel-7-x86_64/
|
|
lxc_centos_package_key: https://copr-be.cloud.fedoraproject.org/results/thm/lxc2.0/pubkey.gpg
|
|
|
|
## Set default mirror for openSUSE repositories
|
|
# NOTE(hwoarang): Ensure that the full path to the 'opensuse' directory is used.
|
|
# Additionally, set 'lxc_hosts_opensuse_mirror_obs_url' to a mirror which also mirrors
|
|
# the OBS repositories. If you want to use the same mirror in both cases, then leave the
|
|
# 'lxc_hosts_opensuse_mirror_obs_url' to its default value.
|
|
lxc_hosts_opensuse_mirror_url: "{{ opensuse_mirror | default('http://download.opensuse.org') }}"
|
|
lxc_hosts_opensuse_mirror_obs_url: "{{ lxc_hosts_opensuse_mirror_url }}"
|
|
|
|
## A list of 'legacy' lxc configuration keys and their corresponding new
|
|
## keys. Use this map to substitute keys suitable for other/newer lxc versions
|
|
lxc_template_config_key_mapping:
|
|
3:
|
|
fstab: lxc.mount.fstab
|
|
rootfs: lxc.rootfs.path
|
|
rootfs_backend: lxc.rootfs.backend
|
|
uts_name: lxc.uts.name
|
|
2:
|
|
fstab: lxc.mount.fstab
|
|
rootfs: lxc.rootfs
|
|
rootfs_backend: lxc.rootfs.backend
|
|
uts_name: lxc.utsname
|