# BEGIN Autogenerated hosts
{% for host in groups['all'] %}
{% if hostvars[host].get('ansible_connection', '') == 'local' %}
{{ host }} ansible_connection=local
{% else %}

{{ host }}{% if 'ansible_host' in hostvars[host]
%} ansible_host={{ hostvars[host]['ansible_host'] }}{% endif %}
{% if 'private_v4' in hostvars[host]
%} private_v4={{ hostvars[host]['private_v4'] }}{% endif %}
{% if 'public_v4' in hostvars[host]
%} public_v4={{ hostvars[host]['public_v4'] }}{% endif %}
{% if 'ansible_user' in hostvars[host]
%} ansible_user={{ hostvars[host]['ansible_user'] }}{% endif %}
{% if 'ansible_private_key_file' in hostvars[host] and hostvars[host]['ansible_private_key_file']
%} ansible_private_key_file={{ hostvars[host]['ansible_private_key_file'] }}{% endif %}
{% if use_bastion|bool and 'ansible_ssh_extra_args' in hostvars[host]
%} ansible_ssh_extra_args={{ hostvars[host]['ansible_ssh_extra_args']|quote }}{% endif %} openshift_hostname={{ host }}

{% endif %}
{% endfor %}
# END autogenerated hosts

#[all:vars]
# For all group_vars, see ./group_vars/all.yml
[infra_hosts:vars]
openshift_node_labels={{ openshift_cluster_node_labels.infra | to_json | quote }}

[app:vars]
openshift_node_labels={{ openshift_cluster_node_labels.app | to_json | quote }}

# Create an OSEv3 group that contains the master, nodes, etcd, and lb groups.
# The lb group lets Ansible configure HAProxy as the load balancing solution.
# Comment lb out if your load balancer is pre-configured.
[cluster_hosts:children]
OSEv3
dns

[OSEv3:children]
nodes
etcd
lb
new_nodes

# Set variables common for all OSEv3 hosts
[OSEv3:vars]

# For OSEv3 normal group vars, see ./group_vars/OSEv3.yml

{% if cinder_registry_volume is defined and 'volume' in cinder_registry_volume %}
openshift_hosted_registry_storage_openstack_volumeID="{{ cinder_registry_volume.id }}"
openshift_hosted_registry_storage_volume_size="{{ cinder_registry_volume.volume.size }}Gi"
{% endif %}


# Host Groups

[masters:children]
masters.{{ stack_name }}

[etcd:children]
etcd.{{ stack_name }}
{% if 'etcd' not in groups or groups['etcd']|length == 0 %}masters.{{ stack_name }}{% endif %}

[nodes:children]
masters
infra.{{ stack_name }}
nodes.{{ stack_name }}

[infra_hosts:children]
infra.{{ stack_name }}

[app:children]
nodes.{{ stack_name }}

[dns:children]
dns.{{ stack_name }}

[lb:children]
lb.{{ stack_name }}

[new_nodes:children]

# Empty placeholders for all groups of the cluster nodes
[masters.{{ stack_name }}]
[etcd.{{ stack_name }}]
[infra.{{ stack_name }}]
[nodes.{{ stack_name }}]
[app.{{ stack_name }}]
[dns.{{ stack_name }}]
[lb.{{ stack_name }}]
[new_nodes.{{ stack_name }}]

# BEGIN Autogenerated groups
{% for group in groups %}
{% if group not in ['ungrouped', 'all'] %}
[{{ group }}]
{% for host in groups[group] %}
{{ host }}
{% endfor %}

{% endif %}
{% endfor %}
# END Autogenerated groups
