[fuel] Refresh installer adapter, sync with pharos 95/42895/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sun, 24 Sep 2017 23:02:12 +0000 (01:02 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sun, 24 Sep 2017 23:02:12 +0000 (01:02 +0200)
Change-Id: Id8e184458fe6dfaec3127195cfb865cd9fdabb9f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
installers/fuel/pod_config.yml.j2

index 5e6eb5b..fe10c11 100644 (file)
@@ -1,96 +1,65 @@
+{% macro node_address(network, i, has_vip, count, node_name, addr_type='') %}
+{# has_vip should be numeric (0 or 1) #}
+    {%- if has_vip == 1 %}
+    {{ node_name }}_address: {{ network | ipaddr_index(i) }}
+    {%- endif -%}
+    {%- for j in range(has_vip, has_vip + count) %}
+    {{ node_name }}_node{{ '%02d' % loop.index }}_{{ addr_type }}address: {{ network | ipaddr_index(i + j) }}
+    {%- endfor -%}
+{% endmacro %}
+{#- TODO: Try to dynamically detect networks from PDF -#}
+{#- For now, we just provide some dummy default values -#}
+{%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] -%}
+{%- set netconfig = {
+    'admin':   { 'network': '192.168.11.0', 'vlan': '0'   },
+    'mgmt':    { 'network': '172.16.10.0',  'vlan': '300' },
+    'private': { 'network': '10.1.0.0',     'vlan': '302' },
+    'public':  { 'network': '172.30.10.0',  'vlan': '0'   },
+} -%}
+{%- if conf.net_config is defined -%}
+    {%- set netconfig = conf['net_config'] -%}
+    {%- if conf.net_config.public.dns is defined -%}
+        {%- set dns_public = conf['net_config']['public']['dns'] -%}
+    {%- endif -%}
+{%- endif -%}
 ---
 parameters:
   _param:
     # infra service addresses
-    opnfv_infra_config_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('100') }}
-    opnfv_infra_maas_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('3') }}
-    opnfv_infra_maas_node01_deploy_address: {{ conf['net_config']['admin']['network'] | ipaddr_index('3') }}
-    opnfv_infra_compute_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('141') }}
-    opnfv_infra_compute_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('142') }}
-    opnfv_infra_compute_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('143') }}
-    opnfv_infra_kvm_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('140') }}
-    opnfv_infra_kvm_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('141') }}
-    opnfv_infra_kvm_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('142') }}
-    opnfv_infra_kvm_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('143') }}
+    {{- node_address(netconfig['mgmt']['network'],    100, 1, 0, 'opnfv_infra_config') }}
+    {{- node_address(netconfig['mgmt']['network'],      3, 0, 1, 'opnfv_infra_maas') }}
+    {{- node_address(netconfig['admin']['network'],     3, 0, 1, 'opnfv_infra_maas', 'deploy_') }}
 
-    opnfv_openstack_gateway_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('124') }}
-    opnfv_openstack_gateway_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('125') }}
-    opnfv_openstack_gateway_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('126') }}
-    opnfv_openstack_gateway_node01_tenant_address: {{ conf['net_config']['private']['network'] | ipaddr_index('6') }}
-    opnfv_openstack_gateway_node02_tenant_address: {{ conf['net_config']['private']['network'] | ipaddr_index('7') }}
-    opnfv_openstack_gateway_node03_tenant_address: {{ conf['net_config']['private']['network'] | ipaddr_index('9') }}
-    opnfv_openstack_proxy_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('80') }}
-    opnfv_openstack_proxy_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('81') }}
-    opnfv_openstack_proxy_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('82') }}
-    opnfv_openstack_control_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('10') }}
-    opnfv_openstack_control_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('11') }}
-    opnfv_openstack_control_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('12') }}
-    opnfv_openstack_control_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('13') }}
-    opnfv_openstack_database_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('50') }}
-    opnfv_openstack_database_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('51') }}
-    opnfv_openstack_database_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('52') }}
-    opnfv_openstack_database_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('53') }}
-    opnfv_openstack_message_queue_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('40') }}
-    opnfv_openstack_message_queue_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('41') }}
-    opnfv_openstack_message_queue_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('42') }}
-    opnfv_openstack_message_queue_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('43') }}
-    opnfv_openstack_telemetry_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('75') }}
-    opnfv_openstack_telemetry_node01_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('76') }}
-    opnfv_openstack_telemetry_node02_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('77') }}
-    opnfv_openstack_telemetry_node03_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('78') }}
-    opnfv_openstack_compute_node01_single_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_single_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('102') }}
-    opnfv_openstack_compute_node03_single_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('103') }}
-    opnfv_openstack_compute_node01_control_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_control_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('102') }}
-    opnfv_openstack_compute_node03_control_address: {{ conf['net_config']['mgmt']['network'] | ipaddr_index('103') }}
-    opnfv_openstack_compute_node01_tenant_address: {{ conf['net_config']['private']['network'] | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_tenant_address: {{ conf['net_config']['private']['network'] | ipaddr_index('102') }}
-    opnfv_openstack_compute_node03_tenant_address: {{ conf['net_config']['private']['network'] | ipaddr_index('103') }}
-    opnfv_openstack_compute_node01_external_address: {{ conf['net_config']['public']['network'] | ipaddr_index('101') }}
-    opnfv_openstack_compute_node02_external_address: {{ conf['net_config']['public']['network'] | ipaddr_index('102') }}
+    {{- node_address(netconfig['mgmt']['network'],    141, 0, 3, 'opnfv_infra_compute') }}
+    {{- node_address(netconfig['mgmt']['network'],    140, 1, 3, 'opnfv_infra_kvm') }}
+    {{- node_address(netconfig['mgmt']['network'],    124, 0, 3, 'opnfv_openstack_gateway') }}
+    {{- node_address(netconfig['private']['network'],   6, 0, 3, 'opnfv_openstack_gateway', 'tenant_') }}
+    {{- node_address(netconfig['mgmt']['network'],     80, 1, 2, 'opnfv_openstack_proxy') }}
+    {{- node_address(netconfig['mgmt']['network'],     10, 1, 3, 'opnfv_openstack_control') }}
+    {{- node_address(netconfig['mgmt']['network'],     50, 1, 3, 'opnfv_openstack_database') }}
+    {{- node_address(netconfig['mgmt']['network'],     40, 1, 3, 'opnfv_openstack_message_queue') }}
+    {{- node_address(netconfig['mgmt']['network'],     75, 1, 3, 'opnfv_openstack_telemetry') }}
+    {{- node_address(netconfig['mgmt']['network'],    101, 0, 3, 'opnfv_openstack_compute', 'single_') }}
+    {{- node_address(netconfig['mgmt']['network'],    101, 0, 3, 'opnfv_openstack_compute', 'control_') }}
+    {{- node_address(netconfig['private']['network'], 101, 0, 3, 'opnfv_openstack_compute', 'tenant_') }}
+    {{- node_address(netconfig['public']['network'],  101, 0, 3, 'opnfv_openstack_compute', 'external_') }}
 
-{% if conf.net_config.public.dns is defined %}
-    opnfv_name_servers: {{ conf['net_config']['public']['dns'] }}
-    opnfv_dns_server01: '{{ conf['net_config']['public']['dns'][0] }}'
-{% else %}
-    opnfv_name_servers: '8.8.8.8'
-    opnfv_dns_server01: '8.8.8.8'
-{% endif %}
-    opnfv_net_mgmt_vlan: {{ conf['net_config']['mgmt']['vlan'] }}
-    opnfv_net_tenant_vlan: {{ conf['net_config']['private']['vlan'] }}
+    opnfv_name_servers: {{ dns_public }}
+    opnfv_dns_server01: '{{ dns_public[0] }}'
+    opnfv_net_mgmt_vlan: {{ netconfig['mgmt']['vlan'] }}
+    opnfv_net_tenant_vlan: {{ netconfig['private']['vlan'] }}
 
-    opnfv_maas_node01_architecture: '{{ conf['nodes'][0]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node01_power_address: {{ conf['nodes'][0]['remote_management']['address'] }}
-    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'][1] }}'
-
-    opnfv_maas_node02_architecture: '{{ conf['nodes'][1]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node02_power_address: {{ conf['nodes'][1]['remote_management']['address'] }}
-    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'][1] }}'
-
-    opnfv_maas_node03_architecture: '{{ conf['nodes'][2]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node03_power_address: {{ conf['nodes'][2]['remote_management']['address'] }}
-    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'][1] }}'
-
-    opnfv_maas_node04_architecture: '{{ conf['nodes'][3]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node04_power_address: {{ conf['nodes'][3]['remote_management']['address'] }}
-    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'][1] }}'
-
-    opnfv_maas_node05_architecture: '{{ conf['nodes'][4]['node']['arch'] | dpkg_arch }}/generic'
-    opnfv_maas_node05_power_address: {{ conf['nodes'][4]['remote_management']['address'] }}
-    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'][1] }}'
+{%- for idx in conf['nodes'] %}
+{% set node_idx = 'opnfv_maas_node%02d' % loop.index %}
+    # Node {{ '%02d' % loop.index }} specific configuration
+    {{ node_idx }}_architecture: '{{ idx['node']['arch'] | dpkg_arch }}/generic'
+    {{ node_idx }}_power_address: {{ idx['remote_management']['address'] }}
+    {{ node_idx }}_power_type: {{ idx['remote_management']['type'] }}
+    {{ node_idx }}_power_user: {{ idx['remote_management']['user'] }}
+    {{ node_idx }}_power_password: {{ idx['remote_management']['pass'] }}
+{%- if idx['interfaces'][1]['mac_address'] is defined %}
+    {{ node_idx }}_interface_mac: '{{ idx['interfaces'][1]['mac_address'] }}'
+{%- else %}
+    {{ node_idx }}_interface_mac: '{{ idx['interfaces'][1] }}'
+{%- endif %}
+{%- endfor %}