openstack-ansible-ops/multi-node-aio/playbooks/osa/openstack_user_config.yml
d34dh0r53 f856f3bfaf Fix MNAIO Flat Networking
In order to get flat networking working correctly we need to create
a new veth pair that neutron can use on the host machines.  Neutron can
take the veth end of this pair for the brq bridge while the other end
remains in br-flat allowing communication back to the VM.  This also
expands the DHCP range for the veth pairs and changes the
host_bind_override to use the new veth.

Change-Id: I9cd161599ba659890142143d4718420d680d7dca
2018-05-17 14:21:21 -05:00

238 lines
6.0 KiB
YAML

---
cidr_networks:
container: 10.0.236.0/22
tunnel: 10.0.240.0/22
storage: 10.0.244.0/22
flat: 10.0.248.0/22
used_ips:
- "10.0.236.0,10.0.236.200"
- "10.0.240.0,10.0.240.200"
- "10.0.244.0,10.0.244.200"
- "10.0.248.0,10.0.248.200"
global_overrides:
internal_lb_vip_address: "{{ internal_lb_vip_address | default(hostvars[groups['loadbalancer_hosts'][0]]['server_networks']['mgmt']['address'].split('/')[0]) }}"
external_lb_vip_address: "{{ external_lb_vip_address | default(hostvars[groups['loadbalancer_hosts'][0]]['server_vm_fixed_addr']) }}"
tunnel_bridge: "br-vxlan"
management_bridge: "br-mgmt"
provider_networks:
- network:
container_bridge: "br-mgmt"
container_type: "veth"
container_interface: "eth1"
ip_from_q: "container"
type: "raw"
group_binds:
- all_containers
- hosts
is_container_address: true
is_ssh_address: true
- network:
container_bridge: "br-vxlan"
container_type: "veth"
container_interface: "eth10"
ip_from_q: "tunnel"
type: "vxlan"
range: "1:1000"
net_name: "vxlan"
group_binds:
- neutron_linuxbridge_agent
- network:
container_bridge: "br-flat"
container_type: "veth"
container_interface: "eth12"
host_bind_override: "veth2"
type: "flat"
net_name: "flat"
group_binds:
- neutron_linuxbridge_agent
- utility_all
- network:
container_bridge: "br-vlan"
container_type: "veth"
container_interface: "eth11"
type: "vlan"
range: "1:1"
net_name: "vlan"
group_binds:
- neutron_linuxbridge_agent
- network:
container_bridge: "br-storage"
container_type: "veth"
container_interface: "eth2"
ip_from_q: "storage"
type: "raw"
group_binds:
- glance_api
- cinder_api
- cinder_volume
- nova_compute
- swift_proxy
swift:
part_power: 8
storage_network: 'br-storage'
replication_network: 'br-storage'
drives:
- name: disk1
- name: disk2
- name: disk3
mount_point: /srv
storage_policies:
- policy:
name: default
index: 0
default: True
###
### Anchors
###
cinder_block: &cinder_block
{% for host in groups['cinder_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
container_vars:
container_tech: "{{ default_container_tech }}"
cinder_backends:
limit_container_types: cinder_volume
lvm:
volume_group: cinder-volumes
volume_driver: cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name: LVM_iSCSI
iscsi_ip_address: {{ hostvars[host]['server_networks']['storage']['address'].split('/')[0] }}
{% endfor %}
compute_block: &compute_block
{% for host in groups['compute_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
container_vars:
container_tech: "{{ default_container_tech }}"
{% endfor %}
infra_block: &infra_block
{% for host in groups['infra_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
container_vars:
container_tech: "{{ default_container_tech }}"
{% endfor %}
loadbalancer_block: &loadbalancer_block
{% for host in groups['loadbalancer_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
container_vars:
container_tech: "{{ default_container_tech }}"
{% endfor %}
log_block: &log_block
{% for host in groups['log_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
container_vars:
container_tech: "{{ default_container_tech }}"
{% endfor %}
swift_block: &swift_block
{% for host in groups['swift_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
container_vars:
container_tech: "{{ default_container_tech }}"
{% endfor %}
###
### Infrastructure
###
{% if osa_enable_infra | bool %}
# galera, memcache, rabbitmq, utility
shared-infra_hosts: *infra_block
# repository (apt cache, python packages, etc)
repo-infra_hosts: *infra_block
# rsyslog server
log_hosts: *log_block
# load balancer
haproxy_hosts: *loadbalancer_block
# Legacy infra hosts
os-infra_hosts: *infra_block
{% endif %}
###
### OpenStack
###
{% if osa_enable_identity | bool %}
# keystone
identity_hosts: *infra_block
{% endif %}
{% if osa_enable_block_storage | bool %}
# cinder api services
storage-infra_hosts: *infra_block
# cinder storage host (LVM-backed)
storage_hosts: *cinder_block
{% endif %}
{% if osa_enable_image | bool %}
# glance
image_hosts: *infra_block
{% endif %}
{% if osa_enable_compute | bool %}
# nova api, conductor, etc services
compute-infra_hosts: *infra_block
# nova hypervisors
compute_hosts: *compute_block
{% endif %}
{% if osa_enable_orchestration | bool %}
# heat
orchestration_hosts: *infra_block
{% endif %}
{% if osa_enable_dashboard | bool %}
# horizon
dashboard_hosts: *infra_block
{% endif %}
{% if osa_enable_network | bool %}
# neutron server, agents (L3, etc)
network_hosts: *infra_block
{% endif %}
{% if osa_enable_meter | bool %}
# ceilometer (telemetry data collection)
metering-infra_hosts: *infra_block
# aodh (telemetry alarm service)
metering-alarm_hosts: *infra_block
# gnocchi (telemetry metrics storage)
metrics_hosts: *infra_block
# ceilometer compute agent (telemetry data collection)
metering-compute_hosts: *compute_block
{% endif %}
{% if osa_enable_object_storage | bool %}
# swift storage hosts
swift_hosts: *swift_block
# swift infra hosts
swift-proxy_hosts: *infra_block
{% endif %}