--- - set_fact: generate_vm_nodes: "{{vm_nodes is not defined}}" - name: Define vm_nodes if not already defined when: generate_vm_nodes block: - name: Generate vm_nodes for "{{num_masters}}" masters set_fact: vm_nodes: "{{vm_nodes|default([]) + [ {'name': ironic_prefix + 'master_%s'|format(item), 'flavor': 'master', 'virtualbmc_port': virtualbmc_base_port+item}]}}" loop: "{{ range(0, num_masters|int)|list }}" - name: Generate vm_nodes for "{{num_workers}}" workers set_fact: vm_nodes: "{{vm_nodes|default([]) + [ {'name': ironic_prefix + 'worker_%s'|format(item), 'flavor': 'worker', 'virtualbmc_port': virtualbmc_base_port+num_masters|int+item} ]}}" loop: "{{ range(0, num_workers|int)|list }}" # Describe our virtual networks. These networks will be attached to # the vm nodes in the order in which they are defined with the following caveats: # * The first bridge network defined will be used for pxe booting - set_fact: generate_networks: "{{networks is not defined}}" - name: Define networks when not already defined when: generate_networks block: - name: Generate dhcp entries on baremetal network for "{{num_masters}}" masters set_fact: dhcp_hosts: "{{dhcp_hosts|default([]) + [ {'name': 'master-%s'|format(item), 'ip': baremetal_network_cidr|nthhost(20+item)|string}]}}" loop: "{{ range(0, num_masters|int)|list }}" - name: Generate dhcp entries on baremetal network for "{{num_workers}}" workers set_fact: dhcp_hosts: "{{dhcp_hosts|default([]) + [ {'name': 'worker-%s'|format(item), 'ip': baremetal_network_cidr|nthhost(20+num_masters|int+item)|string} ]}}" loop: "{{ range(0, num_workers|int)|list }}" - name: Set fact for networks set_fact: networks: - name: provisioning bridge: provisioning forward_mode: bridge - name: baremetal bridge: baremetal forward_mode: "{% if manage_baremetal == 'y' %}nat{% else %}bridge{% endif %}" address: "{{ baremetal_network_cidr|nthhost(1) }}" netmask: "{{ baremetal_network_cidr|ipaddr('netmask') }}" dhcp_range: - "{{ baremetal_network_cidr|nthhost(20) }}" - "{{ baremetal_network_cidr|nthhost(60) }}" dhcp_hosts: "{{dhcp_hosts}}" nat_port_range: - 1024 - 65535 domain: "{{ cluster_domain }}" dns: hosts: "{{dns_extrahosts | default([])}}" forwarders: - domain: "apps.{{ cluster_domain }}" addr: "127.0.0.1"