4 generate_vm_nodes: "{{vm_nodes is not defined}}"
6 - name: Define vm_nodes if not already defined
7 when: generate_vm_nodes
9 - name: Generate vm_nodes for "{{num_masters}}" masters
11 vm_nodes: "{{vm_nodes|default([]) + [
12 {'name': ironic_prefix + 'master_%s'|format(item),
14 'virtualbmc_port': virtualbmc_base_port+item}]}}"
15 loop: "{{ range(0, num_masters|int)|list }}"
17 - name: Generate vm_nodes for "{{num_workers}}" workers
19 vm_nodes: "{{vm_nodes|default([]) + [
20 {'name': ironic_prefix + 'worker_%s'|format(item),
22 'virtualbmc_port': virtualbmc_base_port+num_masters|int+item} ]}}"
23 loop: "{{ range(0, num_workers|int)|list }}"
25 # Describe our virtual networks. These networks will be attached to
26 # the vm nodes in the order in which they are defined with the following caveats:
27 # * The first bridge network defined will be used for pxe booting
29 generate_networks: "{{networks is not defined}}"
30 - name: Define networks when not already defined
31 when: generate_networks
33 - name: Generate dhcp entries on baremetal network for "{{num_masters}}" masters
35 dhcp_hosts: "{{dhcp_hosts|default([]) + [
36 {'name': 'master-%s'|format(item),
37 'ip': baremetal_network_cidr|nthhost(20+item)|string}]}}"
38 loop: "{{ range(0, num_masters|int)|list }}"
40 - name: Generate dhcp entries on baremetal network for "{{num_workers}}" workers
42 dhcp_hosts: "{{dhcp_hosts|default([]) + [
43 {'name': 'worker-%s'|format(item),
44 'ip': baremetal_network_cidr|nthhost(20+num_masters|int+item)|string} ]}}"
45 loop: "{{ range(0, num_workers|int)|list }}"
47 - name: Set fact for networks
55 forward_mode: "{% if manage_baremetal == 'y' %}nat{% else %}bridge{% endif %}"
56 address: "{{ baremetal_network_cidr|nthhost(1) }}"
57 netmask: "{{ baremetal_network_cidr|ipaddr('netmask') }}"
59 - "{{ baremetal_network_cidr|nthhost(20) }}"
60 - "{{ baremetal_network_cidr|nthhost(60) }}"
61 dhcp_hosts: "{{dhcp_hosts}}"
65 domain: "{{ cluster_domain }}"
67 hosts: "{{dns_extrahosts | default([])}}"
69 - domain: "apps.{{ cluster_domain }}"