Kevin Carter bc2e128143
make group membership blocks optional
Deployers sometime need the ability to opt out of specific deployment
groups. While a deployer can modify or extend the configuration
groups using conf.d files, until now they didn't have the ability
to remove groups when testing different scenarios. This change
simply adds conditionals to the openstack_user_config giving users
the ability to tailor the default user configuration options to
their needs.

Change-Id: I100ddf09faa072a999b72c4e46a1d3de6480d7e6
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2017-09-28 13:46:36 -05:00

226 lines
5.5 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"
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:
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] }}
{% endfor %}
infra_block: &infra_block
{% for host in groups['infra_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
{% endfor %}
loadbalancer_block: &loadbalancer_block
{% for host in groups['loadbalancer_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
{% endfor %}
log_block: &log_block
{% for host in groups['log_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
{% endfor %}
swift_block: &swift_block
{% for host in groups['swift_hosts'] %}
{{ hostvars[host]['server_hostname'] }}:
ip: {{ hostvars[host]['server_networks']['mgmt']['address'].split('/')[0] }}
{% 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 %}