[fuel] Skip baremetal cmp cfg if scenario lacks it
[pharos.git] / config / installers / fuel / pod_config.yml.j2
index 28c6188..7f53b59 100644 (file)
-{%- if conf.net_config is defined -%}
-    {%- set net_admin = conf['net_config']['admin']['network'] -%}
-    {%- set net_mgmt = conf['net_config']['mgmt']['network'] -%}
-    {%- set net_private = conf['net_config']['private']['network'] -%}
-    {%- set net_public = conf['net_config']['public']['network'] -%}
-    {%- set vlan_mgmt = conf['net_config']['mgmt']['vlan'] -%}
-    {%- set vlan_private = conf['net_config']['private']['vlan'] -%}
-    {%- if conf.net_config.public.dns is defined -%}
-        {%- set dns_public = conf['net_config']['public']['dns'] -%}
-    {%- endif -%}
-    {%- set pxe_interface = conf['net_config']['admin']['interface'] -%}
-    {%- if conf.net_config.public.gateway is defined -%}
-        {%- set net_public_gw = conf['net_config']['public']['gateway'] -%}
-    {%- endif -%}
-{%- else -%}
-    {%- set net_admin = '192.168.11.0' -%}
-    {%- set net_mgmt = '172.16.10.0' -%}
-    {%- set net_private = '10.1.0.0' -%}
-    {%- set net_public = '172.30.10.0' -%}
-    {%- set vlan_mgmt = '300' -%}
-    {%- set vlan_private = '1000' -%}
-    {%- set pxe_interface = 0 -%}
-{%- endif -%}
-
-{%- if dns_public is not defined -%}
-    {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] -%}
-{%- endif -%}
-{%- if net_public_gw is not defined -%}
-    {%- set net_public_gw =  net_public | ipaddr_index('1')  -%}
-{%- endif -%}
+##############################################################################
+# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+{%- import 'net_map.j2' as nm with context %}
 ---
+{%- if nm.cluster.has_baremetal_nodes %}
 parameters:
-  _param:
-
-{%- if conf.idf is defined %}
-    opnfv_jump_bridge_admin: {{ conf['idf']['fuel']['jumphost']['bridges']['admin'] }}
-    opnfv_jump_bridge_mgmt: {{ conf['idf']['fuel']['jumphost']['bridges']['mgmt'] }}
-    opnfv_jump_bridge_private: {{ conf['idf']['fuel']['jumphost']['bridges']['private'] }}
-    opnfv_jump_bridge_public: {{ conf['idf']['fuel']['jumphost']['bridges']['public'] }}
+  maas:
+    region:
+      machines:
+      {%- set ctl_roles = 3 if 'virtual' not in conf else conf.virtual.nodes.control | length %}
+      {%- set has_cmp = True if 'virtual' not in conf else 'compute' in conf.virtual.nodes %}
+      {%- for node in conf.nodes %}
+      {%- if (node.node.type == 'baremetal' and (
+             (has_cmp 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:
+            power_address: {{ node.remote_management.address.rsplit('/')[0] }}
+            power_pass: {{ node.remote_management.pass }}
+            power_type: {{ node.remote_management.type }}
+            power_user: {{ node.remote_management.user }}
+          architecture: {{ node.node.arch | dpkg_arch }}/generic
+          distro_series: xenial
+          hwe_kernel: ${_param:hwe_kernel}
+          {%- 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 %}
-
-    opnfv_infra_config_address: {{ net_mgmt | ipaddr_index('100') }}
-    opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index('3') }}
-    opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index('3') }}
-    opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index('140') }}
-    opnfv_infra_kvm_node01_address: {{ net_mgmt | ipaddr_index('141') }}
-    opnfv_infra_kvm_node02_address: {{ net_mgmt | ipaddr_index('142') }}
-    opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index('143') }}
-
-    opnfv_infra_maas_pxe_network_address: {{ net_admin }}
-    opnfv_infra_maas_pxe_address: {{ net_admin | ipaddr_index('3') }}
-    opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index('5') }}
-    opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index('250') }}
-
-    opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index('124') }}
-    opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index('125') }}
-    opnfv_openstack_gateway_node03_address: {{ net_mgmt | ipaddr_index('126') }}
-    opnfv_openstack_gateway_node01_tenant_address: {{ net_private | ipaddr_index('6') }}
-    opnfv_openstack_gateway_node02_tenant_address: {{ net_private | ipaddr_index('7') }}
-    opnfv_openstack_gateway_node03_tenant_address: {{ net_private | ipaddr_index('9') }}
-    opnfv_openstack_proxy_address: {{ net_public | ipaddr_index('103') }}
-    opnfv_openstack_proxy_node01_address: {{ net_public | ipaddr_index('104') }}
-    opnfv_openstack_proxy_node02_address: {{ net_public | ipaddr_index('105') }}
-    opnfv_openstack_proxy_node01_control_address: {{ net_mgmt | ipaddr_index('104') }}
-    opnfv_openstack_proxy_node02_control_address: {{ net_mgmt | ipaddr_index('105') }}
-    opnfv_openstack_control_address: {{ net_mgmt | ipaddr_index('10') }}
-    opnfv_openstack_control_node01_address: {{ net_mgmt | ipaddr_index('11') }}
-    opnfv_openstack_control_node02_address: {{ net_mgmt | ipaddr_index('12') }}
-    opnfv_openstack_control_node03_address: {{ net_mgmt | ipaddr_index('13') }}
-    opnfv_openstack_database_address: {{ net_mgmt | ipaddr_index('50') }}
-    opnfv_openstack_database_node01_address: {{ net_mgmt | ipaddr_index('51') }}
-    opnfv_openstack_database_node02_address: {{ net_mgmt | ipaddr_index('52') }}
-    opnfv_openstack_database_node03_address: {{ net_mgmt | ipaddr_index('53') }}
-    opnfv_openstack_message_queue_address: {{ net_mgmt | ipaddr_index('40') }}
-    opnfv_openstack_message_queue_node01_address: {{ net_mgmt | ipaddr_index('41') }}
-    opnfv_openstack_message_queue_node02_address: {{ net_mgmt | ipaddr_index('42') }}
-    opnfv_openstack_message_queue_node03_address: {{ net_mgmt | ipaddr_index('43') }}
-    opnfv_openstack_telemetry_address: {{ net_mgmt | ipaddr_index('75') }}
-    opnfv_openstack_telemetry_node01_address: {{ net_mgmt | ipaddr_index('76') }}
-    opnfv_openstack_telemetry_node02_address: {{ net_mgmt | ipaddr_index('77') }}
-    opnfv_openstack_telemetry_node03_address: {{ net_mgmt | ipaddr_index('78') }}
-    opnfv_openstack_compute_node01_single_address: {{ net_mgmt | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_single_address: {{ net_mgmt | ipaddr_index('102') }}
-    opnfv_openstack_compute_node03_single_address: {{ net_mgmt | ipaddr_index('103') }}
-    opnfv_openstack_compute_node01_control_address: {{ net_mgmt | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_control_address: {{ net_mgmt | ipaddr_index('102') }}
-    opnfv_openstack_compute_node03_control_address: {{ net_mgmt | ipaddr_index('103') }}
-    opnfv_openstack_compute_node01_tenant_address: {{ net_private | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_tenant_address: {{ net_private | ipaddr_index('102') }}
-    opnfv_openstack_compute_node03_tenant_address: {{ net_private | ipaddr_index('103') }}
-    opnfv_openstack_compute_node01_external_address: {{ net_public | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_external_address: {{ net_public | ipaddr_index('102') }}
-
-    opnfv_opendaylight_server_node01_single_address: {{ net_mgmt | ipaddr_index('111') }}
-
-    opnfv_net_public_gw: {{ net_public_gw }}
-    opnfv_name_servers: {{ dns_public }}
-    opnfv_dns_server01: '{{ dns_public[0] }}'
-
-    opnfv_net_mgmt_vlan: {{ vlan_mgmt }}
-    opnfv_net_tenant_vlan: {{ vlan_private }}
-
-    opnfv_maas_node01_architecture: '{{ conf['nodes'][0]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node01_power_address: {{ conf['nodes'][0]['remote_management']['address'].rsplit('/')[0]}}
-    opnfv_maas_node01_power_type: {{ conf['nodes'][0]['remote_management']['type'] }}
-    opnfv_maas_node01_power_user: {{ conf['nodes'][0]['remote_management']['user'] }}
-    opnfv_maas_node01_power_password: {{ conf['nodes'][0]['remote_management']['pass'] }}
-    opnfv_maas_node01_interface_mac: '{{ conf['nodes'][0]['interfaces'][pxe_interface]['mac_address'] }}'
-
-    opnfv_maas_node02_architecture: '{{ conf['nodes'][1]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node02_power_address: {{ conf['nodes'][1]['remote_management']['address'].rsplit('/')[0] }}
-    opnfv_maas_node02_power_type: {{ conf['nodes'][1]['remote_management']['type'] }}
-    opnfv_maas_node02_power_user: {{ conf['nodes'][1]['remote_management']['user'] }}
-    opnfv_maas_node02_power_password: {{ conf['nodes'][1]['remote_management']['pass'] }}
-    opnfv_maas_node02_interface_mac: '{{ conf['nodes'][1]['interfaces'][pxe_interface]['mac_address'] }}'
-
-    opnfv_maas_node03_architecture: '{{ conf['nodes'][2]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node03_power_address: {{ conf['nodes'][2]['remote_management']['address'].rsplit('/')[0] }}
-    opnfv_maas_node03_power_type: {{ conf['nodes'][2]['remote_management']['type'] }}
-    opnfv_maas_node03_power_user: {{ conf['nodes'][2]['remote_management']['user'] }}
-    opnfv_maas_node03_power_password: {{ conf['nodes'][2]['remote_management']['pass'] }}
-    opnfv_maas_node03_interface_mac: '{{ conf['nodes'][2]['interfaces'][pxe_interface]['mac_address'] }}'
-
-    opnfv_maas_node04_architecture: '{{ conf['nodes'][3]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node04_power_address: {{ conf['nodes'][3]['remote_management']['address'].rsplit('/')[0] }}
-    opnfv_maas_node04_power_type: {{ conf['nodes'][3]['remote_management']['type'] }}
-    opnfv_maas_node04_power_user: {{ conf['nodes'][3]['remote_management']['user'] }}
-    opnfv_maas_node04_power_password: {{ conf['nodes'][3]['remote_management']['pass'] }}
-    opnfv_maas_node04_interface_mac: '{{ conf['nodes'][3]['interfaces'][pxe_interface]['mac_address'] }}'
-
-    opnfv_maas_node05_architecture: '{{ conf['nodes'][4]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node05_power_address: {{ conf['nodes'][4]['remote_management']['address'].rsplit('/')[0] }}
-    opnfv_maas_node05_power_type: {{ conf['nodes'][4]['remote_management']['type'] }}
-    opnfv_maas_node05_power_user: {{ conf['nodes'][4]['remote_management']['user'] }}
-    opnfv_maas_node05_power_password: {{ conf['nodes'][4]['remote_management']['pass'] }}
-    opnfv_maas_node05_interface_mac: '{{ conf['nodes'][4]['interfaces'][pxe_interface]['mac_address'] }}'