openstack-ansible/tests/roles/bootstrap-host/defaults/main.yml
Kevin Carter 0aa1ce62e5
Checksum all traffic traveling though the bridges
In some cases when running an AIO a user may want to run test workloads
from within a VM though some of those workloads may fail due to
networking problems caused by invalid checksums. This change simply
changes the checksum rules from only port 22 to all ports on a provided
interface.

Closes-Bug: #1619730
Change-Id: I04479ff4fc58c51f369876ba5254bdab7b75fc03
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-29 16:42:36 -05:00

168 lines
6.7 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.
# Boolean option to implement OpenStack-Ansible configuration for an AIO
# Switch to no for a multi-node configuration
bootstrap_host_aio_config: yes
## Swap memory
# If there is no swap memory present, the bootstrap will create a loopback disk
# for the purpose of having swap memory available. Swap is required for some of
# the services deployed and is useful for AIO's built with less than 16GB memory.
# By default the swap size is set to 8GB unless the host memory is less than 8GB,
# in which case it is set to 4GB.
bootstrap_host_swap_size: "{% if ansible_memory_mb['real']['total'] < 8*1024 %}4{% else %}8{% endif %}"
## Loopback volumes
# Sparse loopback disks are used for 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 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
## Network configuration
# The AIO bootstrap configures bridges for use with the AIO deployment.
# By default, these bridges are configured to be independent of any physical
# interfaces, and they have their 'bridge_ports' set to 'none'. However,
# deployers can add a physical interface to 'bridge_ports' to connect the
# bridge to a real physical interface.
#
# A setting of 'none' keeps the bridges as independent from physical
# interfaces (the default).
#
# Setting the value to 'eth1' would mean that the bridge is directly connected
# to the eth1 device.
#
# See https://wiki.debian.org/BridgeNetworkConnections for more details.
bootstrap_host_bridge_mgmt_ports: none
bootstrap_host_bridge_vxlan_ports: none
bootstrap_host_bridge_storage_ports: none
bootstrap_host_bridge_vlan_ports: "br-vlan-veth"
# This enables the VXLAN encapsulation the traditional bridges
# (br-mgmt, br-vxlan, br-storage)
bootstrap_host_encapsulation_enabled: "{{ not bootstrap_host_aio_config | bool }}"
#
# 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
public_interface: eth0
encapsulation_interface: eth1
#
#Encapsulations
bootstrap_host_encapsulation_interfaces:
encap-mgmt:
id: 236
underlay_device: "{{ encapsulation_interface }}"
friendly_name: "Encapsulation of br-mgmt with VXLAN"
encap-vxlan:
id: 240
underlay_device: "{{ encapsulation_interface }}"
friendly_name: "Encapsulation of br-vxlan with VXLAN"
encap-storage:
id: 244
underlay_device: "{{ encapsulation_interface }}"
friendly_name: "Encapsulation of br-storage with VXLAN"
encap-vlan:
id: 248
underlay_device: "{{ encapsulation_interface }}"
friendly_name: "Encapsulation of br-vlan with VXLAN"
#
# Bridges
bootstrap_host_bridges_interfaces:
br-mgmt:
ports: "{{ bootstrap_host_encapsulation_enabled | bool | ternary ('encap-mgmt', bootstrap_host_bridge_mgmt_ports) }}"
ip_address_range: "{{ mgmt_range }}"
ip_netmask: "{{ netmask }}"
br-storage:
ports: "{{ bootstrap_host_encapsulation_enabled | bool | ternary ('encap-storage', bootstrap_host_bridge_storage_ports) }}"
ip_address_range: "{{ storage_range }}"
ip_netmask: "{{ netmask }}"
br-vxlan:
ports: "{{ bootstrap_host_encapsulation_enabled | bool | ternary ('encap-vxlan', bootstrap_host_bridge_vxlan_ports) }}"
ip_address_range: "{{ vxlan_range }}"
ip_netmask: "{{ netmask }}"
br-vlan:
mode: "{{ bridge_vlan_inet_mode | default('static') }}"
ports: "{{ bootstrap_host_encapsulation_enabled | bool | ternary ('encap-vlan', bootstrap_host_bridge_vlan_ports) }}"
ip_address_range: "{{ vlan_range }}"
ip_netmask: "{{ netmask }}"
state_change_scripts: "{{ bridge_vlan_state_change_scripts }}"
#
# Convenience scripts
bridge_vlan_state_change_scripts: |
pre-up ip link add br-vlan-veth type veth peer name eth12 || true
pre-up ip link set br-vlan-veth up
pre-up ip link set eth12 up
post-down ip link del br-vlan-veth || true
bridge_iptables_rules: |
# To ensure ssh checksum is correct
up /sbin/iptables -A POSTROUTING -t mangle -p tcp -o {{ public_interface }} -j CHECKSUM --checksum-fill
down /sbin/iptables -D POSTROUTING -t mangle -p tcp -o {{ public_interface }} -j CHECKSUM --checksum-fill
# To provide internet connectivity to instances
up /sbin/iptables -t nat -A POSTROUTING -o {{ public_interface }} -j MASQUERADE
down /sbin/iptables -t nat -D POSTROUTING -o {{ public_interface }} -j MASQUERADE
## 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.
#
# Specify the secondary disk device to use.
bootstrap_host_data_disk_device: null
#
# 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.
bootstrap_host_data_disk_min_size: 50
### Optional Settings ###
# Set the apt repository URL's configured for the host and containers.
# By default the configuration will be derived from the host.
#bootstrap_host_ubuntu_repo: http://archive.ubuntu.com/ubuntu/
#bootstrap_host_ubuntu_security_repo: http://archive.ubuntu.com/ubuntu/
# Set the components that will be included in the apt repository configuration
bootstrap_host_apt_components:
- main
- universe
# 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