f856f3bfaf
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
238 lines
6.0 KiB
YAML
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 %}
|