OpenStack-Ansible openstack_hosts¶
To clone or view the source code for this repository, visit the role repository for openstack_hosts.
Default variables¶
# Package cache
cache_timeout: 600
# /etc/openstack-release settings
openstack_distrib_id: "OSA"
openstack_distrib_release: "{{ openstack_release | default('master') }}"
openstack_distrib_code_name: "Train"
openstack_distrib_description: "OpenStack-Ansible"
openstack_distrib_file: yes
openstack_distrib_file_path: "/etc/openstack-release"
is_container: "{{ ansible_virtualization_type in ['lxc', 'systemd-nspawn'] }}"
openstack_host_sysstat_enabled: true
openstack_host_sysstat_interval: 1
openstack_host_sysstat_statistics_hour: 23
# Set the package install state for distribution packages
# Options are 'present' and 'latest'
openstack_hosts_package_state: "latest"
## Enable/disable /etc/hosts file management
## You should make other arrangements for name resolution
## of OSA containers and hosts if disabling this
openstack_host_manage_hosts_file: true
## kernel modules for specific group hosts
openstack_host_specific_kernel_modules: []
# If you want to include some specific modules per group
# of hosts, override this with a group/host var, like below:
#openstack_host_specific_kernel_modules:
# - name: "ebtables"
# pattern: "CONFIG_BRIDGE_NF_EBTABLES"
## Where:
## :param name: name of the kernel module
## :param pattern: pattern to grep for in /boot/config-$kernel_version to check how module is configured inside kernel
## Our default overrides will be combined with your overrides.
# Overridable package list is composed of the old override
# named user_package_list and the standard defaults _package_list
openstack_hosts_package_list: "{{ _package_list + (user_package_list | default([])) }}"
# Overridable package repo is composed of the old override
# named user_external_repo_lists and the standard defaults _package_repos
openstack_hosts_package_repos: "{{ _package_repos + (user_external_repos_list | default([])) }}"
# Overridable package vendors is composed of the old override named
# user_external_vendors_lists and the standard defaults
# _package_vendors
openstack_hosts_package_vendors: "{{ (_package_vendors | default([])) + (user_external_vendors_list | default([])) }}"
# Overridable package repo gpg is composed of the old override
# named user_external_repo_keys_list and the standard defaults _package_repos_keys
openstack_hosts_package_repos_keys: "{{ _package_repos_keys + (user_external_repo_keys_list | default([])) }}"
# The following garbage collection values are set to better support lots of neutron networks/routers.
# Used for setting the net.ipv4/6.neigh.default.gc_thresh* values. This assumes that facts were
# gathered to obtain the total amount of memory available on a given host. If no facts are gathered
# the default set will be 1024 unless its defined by the user.
gc_val: "{{ ansible_memtotal_mb | default(1024) | bit_length_power_of_2 }}"
# The ste value has a Max allowable value of 8192 unless set by the user.
set_gc_val: "{{ gc_val if (gc_val | int <= 8192) else 8192 }}"
# Controls the shell search PATH environment variable dropped in
# /etc/environment
openstack_host_environment_path:
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
- /usr/local/games
# Set the maximum size of the connection tracking table.
openstack_host_nf_conntrack_max: 262144
# System control kernel tuning
openstack_kernel_options:
- { key: 'fs.inotify.max_user_watches', value: 1048576 }
- { key: 'net.ipv4.conf.all.rp_filter', value: 0 }
- { key: 'net.ipv4.conf.default.rp_filter', value: 0 }
- { key: 'net.ipv4.ip_forward', value: 1 }
- { key: 'net.netfilter.nf_conntrack_max', value: "{{ openstack_host_nf_conntrack_max }}" }
- { key: 'vm.dirty_background_ratio', value: 5 }
- { key: 'vm.dirty_ratio', value: 10 }
- { key: 'vm.swappiness', value: 5 }
- { key: 'net.bridge.bridge-nf-call-ip6tables', value: 1 }
- { key: 'net.bridge.bridge-nf-call-iptables', value: 1 }
- { key: 'net.bridge.bridge-nf-call-arptables', value: 1 }
- { key: 'net.ipv4.neigh.default.gc_thresh1', value: "{{ set_gc_val | int // 2 }}" }
- { key: 'net.ipv4.neigh.default.gc_thresh2', value: "{{ set_gc_val | int }}" }
- { key: 'net.ipv4.neigh.default.gc_thresh3', value: "{{ set_gc_val | int * 2 }}" }
- { key: 'net.ipv4.route.gc_thresh', value: "{{ set_gc_val | int * 2 }}" }
- { key: 'net.ipv4.neigh.default.gc_interval', value: 60 }
- { key: 'net.ipv4.neigh.default.gc_stale_time', value: 120 }
- { key: 'net.ipv6.neigh.default.gc_thresh1', value: "{{ set_gc_val | int // 2 }}" }
- { key: 'net.ipv6.neigh.default.gc_thresh2', value: "{{ set_gc_val | int }}" }
- { key: 'net.ipv6.neigh.default.gc_thresh3', value: "{{ set_gc_val | int * 2 }}" }
- { key: 'net.ipv6.route.gc_thresh', value: "{{ set_gc_val | int * 2 }}" }
- { key: 'net.ipv6.neigh.default.gc_interval', value: 60 }
- { key: 'net.ipv6.neigh.default.gc_stale_time', value: 120 }
- { key: 'net.ipv6.conf.lo.disable_ipv6', value: 0 }
- { key: 'fs.aio-max-nr', value: 131072 }
# Optional user defined list of sysctl options in the same dict item format as
# above.
openstack_user_kernel_options: []
# User defined list of extra packages to install on all hosts and containers
openstack_host_extra_distro_packages: []
# Overridable set of packages to install on all hosts and containers.
openstack_host_distro_packages: "{{ _openstack_host_distro_packages }}"
# User defined list of extra packages to install on the host
openstack_host_extra_metal_distro_packages: []
# Overridable set of packages to install on the host.
openstack_host_metal_distro_packages: "{{ _openstack_host_metal_distro_packages }}"
# Set the openstack domain name
openstack_domain: openstack.local
# Global environment variables should be empty by default
global_environment_variables: {}
# Set the default mode for the /etc/cron.d/sysstat file
openstack_host_sysstat_cron_mode: '0755'
## Default repositories data
# Set default mirror for CentOS repositories
# NOTE(mhayden): Ensure that the full path to the 'centos' directory is used.
openstack_hosts_centos_mirror_url: 'http://mirror.centos.org/centos'
openstack_hosts_rdo_mirror_url: 'https://trunk.rdoproject.org'
openstack_hosts_rdo_repo_url: "{{ openstack_hosts_rdo_mirror_url }}/centos7-train/current-passed-ci/"
openstack_hosts_rdo_deps_url: "{{ openstack_hosts_rdo_mirror_url }}/centos7-train/deps/latest/"
# Ubuntu cloud archive data
uca_repo: "{{ _uca_repo }}"
# Default opensuse mirrors URLs
opensuse_mirror: "http://download.opensuse.org"
opensuse_mirror_obs: "{{ opensuse_mirror }}"
# If mirrored to a different folder, we need to keep this as overridable.
opensuse_repo_oss_url: "{{ opensuse_mirror }}/distribution/leap/{{ ansible_distribution_version }}/repo/oss/"
opensuse_repo_update_url: "{{ opensuse_mirror }}/update/leap/{{ ansible_distribution_version }}/oss/"
opensuse_obs_cloud_repo_url: "{{ opensuse_mirror_obs }}/repositories/Cloud:/OpenStack:/Master/openSUSE_Leap_{{ ansible_distribution_version }}"
# Keep a history of systemd journals on disk after reboots
openstack_host_keep_journals: yes
# Enable/Disable the yum fastestmirror plugin
openstack_hosts_enable_yum_fastestmirror: yes
#user supplied list of CA certificates to copy to hosts from the deploy host
# example:
# - name: SnakeOilCorp.crt #the filename created on the target host (must be .crt on Ubuntu)
# src: /etc/ssl/certs/snake-oil-cert-latest.pem #the source file on the deploy host
openstack_host_ca_certificates: []
# target directory for user supplied CA certificates
openstack_host_ca_location: "{{ _openstack_host_ca_location }}"
Required variables¶
None
Example playbook¶
---
- name: Basic host setup
hosts: "hosts"
user: root
roles:
- { role: "openstack_hosts" }