edb63eece67098baf2fed9c17a4b35fc2d74cf9e
[pharos.git] / config / installers / fuel / pod_config.yml.j2
1 ##############################################################################
2 # Copyright (c) 2018 Mirantis Inc., Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 {%- import 'net_map.j2' as nm with context %}
9 ---
10 {%- if nm.cluster.has_baremetal_nodes %}
11 parameters:
12   maas:
13     region:
14       machines:
15       {%- set ctl_roles = 3 if 'virtual' not in conf else conf.virtual.nodes.control | length %}
16       {%- for node in conf.nodes %}
17       {%- if (node.node.type == 'baremetal' and (
18               loop.index > nm.cmp001.idx or loop.index0 < ctl_roles)) %}
19         {%- if loop.index > nm.cmp001.idx %}
20         cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}:
21         {%- elif 'virtual' not in conf %} {#- strictly for Pharos verify job #}
22         kvm{{ '%02d' | format(loop.index) }}:
23         {%- else %}
24         {{ conf.virtual.nodes.control[loop.index0] }}:
25         {%- endif %}
26           interface:
27             mac: {{ node.interfaces[nm.idx_admin].mac_address }}
28           power_parameters:
29             power_address: {{ node.remote_management.address.rsplit('/')[0] }}
30             power_pass: {{ node.remote_management.pass }}
31             power_type: {{ node.remote_management.type }}
32             power_user: {{ node.remote_management.user }}
33           architecture: {{ node.node.arch | dpkg_arch }}/generic
34           distro_series: xenial
35           hwe_kernel: ${_param:hwe_kernel}
36           {%- if loop.index > nm.cmp001.idx %}
37           disk_layout:
38             type: lvm
39             root_device: sda
40             volume_group: vgroot
41             volume_name: lvroot
42             volume_size: 100
43           {%- endif %}
44       {%- endif %}
45       {%- endfor %}
46 {%- endif %}