[fuel] Add support to use public net netmask from IDF
[pharos.git] / config / installers / fuel / pod_config.yml.j2
1 ---
2 {%- if conf.idf is defined and conf.idf.fuel is defined -%}
3   {%- if conf.idf.net_config is defined -%}
4       {%- set net_admin = conf.idf.net_config.admin.network -%}
5       {%- set net_mgmt = conf.idf.net_config.mgmt.network -%}
6       {%- set net_private = conf.idf.net_config.private.network -%}
7       {%- set net_public = conf.idf.net_config.public.network -%}
8       {%- set net_public_mask = conf.idf.net_config.public.mask -%}
9       {%- set vlan_mgmt = conf.idf.net_config.mgmt.vlan -%}
10       {%- set vlan_private = conf.idf.net_config.private.vlan -%}
11       {%- if conf.idf.net_config.public.dns is defined -%}
12           {%- set dns_public = conf.idf.net_config.public.dns -%}
13       {%- endif -%}
14       {%- set pxe_interface = conf.idf.net_config.admin.interface -%}
15       {%- if conf.idf.net_config.public.gateway is defined -%}
16           {%- set net_public_gw = conf.idf.net_config.public.gateway -%}
17       {%- endif -%}
18   {%- else -%}
19       {%- set net_admin = '192.168.11.0' -%}
20       {%- set net_mgmt = '172.16.10.0' -%}
21       {%- set net_private = '10.1.0.0' -%}
22       {%- set net_public = '172.30.10.0' -%}
23       {%- set net_public_mask = '24' -%}
24       {%- set vlan_mgmt = '300' -%}
25       {%- set vlan_private = '1000' -%}
26       {%- set pxe_interface = 0 -%}
27   {%- endif -%}
28
29   {%- if dns_public is not defined -%}
30       {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] -%}
31   {%- endif -%}
32   {%- if net_public_gw is not defined -%}
33       {%- set net_public_gw =  net_public | ipaddr_index('1')  -%}
34   {%- endif -%}
35 parameters:
36   _param:
37
38     opnfv_jump_bridge_admin: {{ conf.idf.fuel.jumphost.bridges.admin }}
39     opnfv_jump_bridge_mgmt: {{ conf.idf.fuel.jumphost.bridges.mgmt }}
40     opnfv_jump_bridge_private: {{ conf.idf.fuel.jumphost.bridges.private }}
41     opnfv_jump_bridge_public: {{ conf.idf.fuel.jumphost.bridges.public }}
42
43     opnfv_infra_config_address: {{ net_mgmt | ipaddr_index(100) }}
44     opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index(3) }}
45     opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index(3) }}
46     opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index(140) }}
47     opnfv_infra_kvm_node01_address: {{ net_mgmt | ipaddr_index(141) }}
48     opnfv_infra_kvm_node02_address: {{ net_mgmt | ipaddr_index(142) }}
49     opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index(143) }}
50
51     opnfv_infra_maas_pxe_network_address: {{ net_admin }}
52     opnfv_infra_maas_pxe_address: {{ net_admin | ipaddr_index(3) }}
53     opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index(5) }}
54     opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index(250) }}
55
56     opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index(124) }}
57     opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index(125) }}
58     opnfv_openstack_gateway_node03_address: {{ net_mgmt | ipaddr_index(126) }}
59     opnfv_openstack_gateway_node01_tenant_address: {{ net_private | ipaddr_index(6) }}
60     opnfv_openstack_gateway_node02_tenant_address: {{ net_private | ipaddr_index(7) }}
61     opnfv_openstack_gateway_node03_tenant_address: {{ net_private | ipaddr_index(9) }}
62     opnfv_openstack_proxy_address: {{ net_public | ipaddr_index(103) }}
63     opnfv_openstack_proxy_node01_address: {{ net_public | ipaddr_index(104) }}
64     opnfv_openstack_proxy_node02_address: {{ net_public | ipaddr_index(105) }}
65     opnfv_openstack_proxy_node01_control_address: {{ net_mgmt | ipaddr_index(104) }}
66     opnfv_openstack_proxy_node02_control_address: {{ net_mgmt | ipaddr_index(105) }}
67     opnfv_openstack_control_address: {{ net_mgmt | ipaddr_index(10) }}
68     opnfv_openstack_control_node01_address: {{ net_mgmt | ipaddr_index(11) }}
69     opnfv_openstack_control_node02_address: {{ net_mgmt | ipaddr_index(12) }}
70     opnfv_openstack_control_node03_address: {{ net_mgmt | ipaddr_index(13) }}
71     opnfv_openstack_database_address: {{ net_mgmt | ipaddr_index(50) }}
72     opnfv_openstack_database_node01_address: {{ net_mgmt | ipaddr_index(51) }}
73     opnfv_openstack_database_node02_address: {{ net_mgmt | ipaddr_index(52) }}
74     opnfv_openstack_database_node03_address: {{ net_mgmt | ipaddr_index(53) }}
75     opnfv_openstack_message_queue_address: {{ net_mgmt | ipaddr_index(40) }}
76     opnfv_openstack_message_queue_node01_address: {{ net_mgmt | ipaddr_index(41) }}
77     opnfv_openstack_message_queue_node02_address: {{ net_mgmt | ipaddr_index(42) }}
78     opnfv_openstack_message_queue_node03_address: {{ net_mgmt | ipaddr_index(43) }}
79     opnfv_openstack_telemetry_address: {{ net_mgmt | ipaddr_index(75) }}
80     opnfv_openstack_telemetry_node01_address: {{ net_mgmt | ipaddr_index(76) }}
81     opnfv_openstack_telemetry_node02_address: {{ net_mgmt | ipaddr_index(77) }}
82     opnfv_openstack_telemetry_node03_address: {{ net_mgmt | ipaddr_index(78) }}
83     opnfv_openstack_compute_node01_single_address: {{ net_mgmt | ipaddr_index(101) }}
84     opnfv_openstack_compute_node02_single_address: {{ net_mgmt | ipaddr_index(102) }}
85     opnfv_openstack_compute_node03_single_address: {{ net_mgmt | ipaddr_index(103) }}
86     opnfv_openstack_compute_node01_control_address: {{ net_mgmt | ipaddr_index(101) }}
87     opnfv_openstack_compute_node02_control_address: {{ net_mgmt | ipaddr_index(102) }}
88     opnfv_openstack_compute_node03_control_address: {{ net_mgmt | ipaddr_index(103) }}
89     opnfv_openstack_compute_node01_tenant_address: {{ net_private | ipaddr_index(101) }}
90     opnfv_openstack_compute_node02_tenant_address: {{ net_private | ipaddr_index(102) }}
91     opnfv_openstack_compute_node03_tenant_address: {{ net_private | ipaddr_index(103) }}
92     opnfv_openstack_compute_node01_external_address: {{ net_public | ipaddr_index(101) }}
93     opnfv_openstack_compute_node02_external_address: {{ net_public | ipaddr_index(102) }}
94
95     opnfv_opendaylight_server_node01_single_address: {{ net_mgmt | ipaddr_index(111) }}
96
97     opnfv_net_public: {{ net_public }}/{{ net_public_mask }}
98     opnfv_net_public_mask: {{ net_public_mask | netmask }}
99     opnfv_net_public_gw: {{ net_public_gw }}
100     opnfv_net_public_pool_start: {{ net_public | ipaddr_index(80) }}
101     opnfv_net_public_pool_end: {{ net_public | ipaddr_index(100) }}
102     opnfv_name_servers: {{ dns_public }}
103     opnfv_dns_server01: '{{ dns_public[0] }}'
104
105     opnfv_net_mgmt_vlan: {{ vlan_mgmt }}
106     opnfv_net_tenant_vlan: {{ vlan_private }}
107
108     opnfv_maas_node01_architecture: '{{ conf.nodes.0.node.arch | dpkg_arch }}/generic'
109     opnfv_maas_node01_power_address: {{ conf.nodes.0.remote_management.address.rsplit('/')[0] }}
110     opnfv_maas_node01_power_type: {{ conf.nodes.0.remote_management.type }}
111     opnfv_maas_node01_power_user: {{ conf.nodes.0.remote_management.user }}
112     opnfv_maas_node01_power_password: {{ conf.nodes.0.remote_management.pass }}
113     opnfv_maas_node01_interface_mac: '{{ conf.nodes.0.interfaces[pxe_interface].mac_address }}'
114
115     opnfv_maas_node02_architecture: '{{ conf.nodes.1.node.arch | dpkg_arch }}/generic'
116     opnfv_maas_node02_power_address: {{ conf.nodes.1.remote_management.address.rsplit('/')[0] }}
117     opnfv_maas_node02_power_type: {{ conf.nodes.1.remote_management.type }}
118     opnfv_maas_node02_power_user: {{ conf.nodes.1.remote_management.user }}
119     opnfv_maas_node02_power_password: {{ conf.nodes.1.remote_management.pass }}
120     opnfv_maas_node02_interface_mac: '{{ conf.nodes.1.interfaces[pxe_interface].mac_address }}'
121
122     opnfv_maas_node03_architecture: '{{ conf.nodes.2.node.arch | dpkg_arch }}/generic'
123     opnfv_maas_node03_power_address: {{ conf.nodes.2.remote_management.address.rsplit('/')[0] }}
124     opnfv_maas_node03_power_type: {{ conf.nodes.2.remote_management.type }}
125     opnfv_maas_node03_power_user: {{ conf.nodes.2.remote_management.user }}
126     opnfv_maas_node03_power_password: {{ conf.nodes.2.remote_management.pass }}
127     opnfv_maas_node03_interface_mac: '{{ conf.nodes.2.interfaces[pxe_interface].mac_address }}'
128
129     opnfv_maas_node04_architecture: '{{ conf.nodes.3.node.arch | dpkg_arch }}/generic'
130     opnfv_maas_node04_power_address: {{ conf.nodes.3.remote_management.address.rsplit('/')[0] }}
131     opnfv_maas_node04_power_type: {{ conf.nodes.3.remote_management.type }}
132     opnfv_maas_node04_power_user: {{ conf.nodes.3.remote_management.user }}
133     opnfv_maas_node04_power_password: {{ conf.nodes.3.remote_management.pass }}
134     opnfv_maas_node04_interface_mac: '{{ conf.nodes.3.interfaces[pxe_interface].mac_address }}'
135
136     opnfv_maas_node05_architecture: '{{ conf.nodes.4.node.arch | dpkg_arch }}/generic'
137     opnfv_maas_node05_power_address: {{ conf.nodes.4.remote_management.address.rsplit('/')[0] }}
138     opnfv_maas_node05_power_type: {{ conf.nodes.4.remote_management.type }}
139     opnfv_maas_node05_power_user: {{ conf.nodes.4.remote_management.user }}
140     opnfv_maas_node05_power_password: {{ conf.nodes.4.remote_management.pass }}
141     opnfv_maas_node05_interface_mac: '{{ conf.nodes.4.interfaces[pxe_interface].mac_address }}'
142 {%- endif -%}