maas:
region:
machines:
-{%- for node in conf.nodes %}
-{%- if node.node.type == 'baremetal' %}
-
-{%- if loop.index > nm.cmp001.idx %}
- {{ 'cmp%03d' | format(loop.index - nm.cmp001.idx) }}:
-{%- else %}
- {{ 'kvm%02d' | format(loop.index) }}:
-{%- endif %}
+ {%- set ctl_roles = 3 if 'virtual' not in conf else conf.virtual.nodes.control | length %}
+ {%- for node in conf.nodes %}
+ {%- if (node.node.type == 'baremetal' and (
+ loop.index > nm.cmp001.idx or loop.index0 < ctl_roles)) %}
+ {%- if loop.index > nm.cmp001.idx %}
+ cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}:
+ {%- elif 'virtual' not in conf %} {#- strictly for Pharos verify job #}
+ kvm{{ '%02d' | format(loop.index) }}:
+ {%- else %}
+ {{ conf.virtual.nodes.control[loop.index0] }}:
+ {%- endif %}
interface:
mac: {{ node.interfaces[nm.idx_admin].mac_address }}
power_parameters:
architecture: {{ node.node.arch | dpkg_arch }}/generic
distro_series: xenial
hwe_kernel: ${_param:hwe_kernel}
-
-{%- endif %}
-{%- endfor %}
+ {%- if loop.index > nm.cmp001.idx %}
+ disk_layout:
+ type: lvm
+ root_device: sda
+ volume_group: vgroot
+ volume_name: lvroot
+ volume_size: 100
+ {%- endif %}
+ {%- endif %}
+ {%- endfor %}
{%- endif %}