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 {%- set net_admin = conf.idf.net_config.admin.network %}
9 {%- set net_mgmt = conf.idf.net_config.mgmt.network %}
10 {%- set net_private = conf.idf.net_config.private.network %}
11 {%- set net_public = conf.idf.net_config.public.network %}
12 {%- set net_public_mask = conf.idf.net_config.public.mask %}
13 {%- set vlan_mgmt = conf.idf.net_config.mgmt.vlan %}
14 {%- set vlan_private = conf.idf.net_config.private.vlan %}
15 {%- if conf.idf.net_config.public.dns is defined %}
16 {%- set dns_public = conf.idf.net_config.public.dns %}
18 {%- set pxe_interface = conf.idf.net_config.admin.interface %}
19 {%- if conf.idf.net_config.public.gateway is defined %}
20 {%- set net_public_gw = conf.idf.net_config.public.gateway %}
22 {%- if conf.idf.fuel.network.public_pool is defined %}
23 {%- set net_public_pool_start = conf.idf.fuel.network.public_pool.start_ip %}
24 {%- set net_public_pool_end = conf.idf.fuel.network.public_pool.end_ip %}
27 {%- if dns_public is not defined %}
28 {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] %}
30 {%- if net_public_gw is not defined %}
31 {%- set net_public_gw = net_public | ipaddr_index('1') %}
33 {%- if net_public_pool_start is not defined or net_public_pool_end is not defined %}
34 {%- set net_public_pool_start = net_public | ipaddr_index('80') %}
35 {%- set net_public_pool_end = net_public | ipaddr_index('100') %}
41 opnfv_jump_bridge_admin: {{ conf.idf.fuel.jumphost.bridges.admin }}
42 opnfv_jump_bridge_mgmt: {{ conf.idf.fuel.jumphost.bridges.mgmt }}
43 opnfv_jump_bridge_private: {{ conf.idf.fuel.jumphost.bridges.private }}
44 opnfv_jump_bridge_public: {{ conf.idf.fuel.jumphost.bridges.public }}
46 opnfv_infra_config_address: {{ net_mgmt | ipaddr_index(100) }}
47 opnfv_infra_config_pxe_address: {{ net_admin | ipaddr_index(2) }}
48 opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index(3) }}
49 opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index(3) }}
50 opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index(140) }}
51 opnfv_infra_kvm_node01_address: {{ net_mgmt | ipaddr_index(141) }}
52 opnfv_infra_kvm_node02_address: {{ net_mgmt | ipaddr_index(142) }}
53 opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index(143) }}
55 opnfv_infra_maas_pxe_network_address: {{ net_admin }}
56 opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index(4) }}
57 opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index(100) }}
59 opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index(124) }}
60 opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index(125) }}
61 opnfv_openstack_gateway_node03_address: {{ net_mgmt | ipaddr_index(126) }}
62 opnfv_openstack_gateway_node01_tenant_address: {{ net_private | ipaddr_index(124) }}
63 opnfv_openstack_gateway_node02_tenant_address: {{ net_private | ipaddr_index(125) }}
64 opnfv_openstack_gateway_node03_tenant_address: {{ net_private | ipaddr_index(126) }}
65 opnfv_openstack_gateway_node01_external_address: {{ net_public | ipaddr_index(124) }}
66 opnfv_openstack_gateway_node02_external_address: {{ net_public | ipaddr_index(125) }}
67 opnfv_openstack_gateway_node03_external_address: {{ net_public | ipaddr_index(126) }}
68 opnfv_openstack_proxy_address: {{ net_public | ipaddr_index(103) }}
69 opnfv_openstack_proxy_node01_address: {{ net_public | ipaddr_index(104) }}
70 opnfv_openstack_proxy_node02_address: {{ net_public | ipaddr_index(105) }}
71 opnfv_openstack_proxy_control_address: {{ net_mgmt | ipaddr_index(103) }}
72 opnfv_openstack_proxy_node01_control_address: {{ net_mgmt | ipaddr_index(104) }}
73 opnfv_openstack_proxy_node02_control_address: {{ net_mgmt | ipaddr_index(105) }}
74 opnfv_openstack_control_address: {{ net_mgmt | ipaddr_index(10) }}
75 opnfv_openstack_control_node01_address: {{ net_mgmt | ipaddr_index(11) }}
76 opnfv_openstack_control_node02_address: {{ net_mgmt | ipaddr_index(12) }}
77 opnfv_openstack_control_node03_address: {{ net_mgmt | ipaddr_index(13) }}
78 opnfv_openstack_control_node01_external_address: {{ net_public | ipaddr_index(11) }}
79 opnfv_openstack_control_node02_external_address: {{ net_public | ipaddr_index(12) }}
80 opnfv_openstack_control_node03_external_address: {{ net_public | ipaddr_index(13) }}
81 opnfv_openstack_database_address: {{ net_mgmt | ipaddr_index(50) }}
82 opnfv_openstack_database_node01_address: {{ net_mgmt | ipaddr_index(51) }}
83 opnfv_openstack_database_node02_address: {{ net_mgmt | ipaddr_index(52) }}
84 opnfv_openstack_database_node03_address: {{ net_mgmt | ipaddr_index(53) }}
85 opnfv_openstack_message_queue_address: {{ net_mgmt | ipaddr_index(40) }}
86 opnfv_openstack_message_queue_node01_address: {{ net_mgmt | ipaddr_index(41) }}
87 opnfv_openstack_message_queue_node02_address: {{ net_mgmt | ipaddr_index(42) }}
88 opnfv_openstack_message_queue_node03_address: {{ net_mgmt | ipaddr_index(43) }}
89 opnfv_openstack_telemetry_address: {{ net_mgmt | ipaddr_index(75) }}
90 opnfv_openstack_telemetry_node01_address: {{ net_mgmt | ipaddr_index(76) }}
91 opnfv_openstack_telemetry_node02_address: {{ net_mgmt | ipaddr_index(77) }}
92 opnfv_openstack_telemetry_node03_address: {{ net_mgmt | ipaddr_index(78) }}
93 opnfv_openstack_compute_node01_single_address: {{ net_mgmt | ipaddr_index(101) }}
94 opnfv_openstack_compute_node02_single_address: {{ net_mgmt | ipaddr_index(102) }}
95 opnfv_openstack_compute_node03_single_address: {{ net_mgmt | ipaddr_index(103) }}
96 opnfv_openstack_compute_node01_control_address: {{ net_mgmt | ipaddr_index(101) }}
97 opnfv_openstack_compute_node02_control_address: {{ net_mgmt | ipaddr_index(102) }}
98 opnfv_openstack_compute_node03_control_address: {{ net_mgmt | ipaddr_index(103) }}
99 opnfv_openstack_compute_node01_tenant_address: {{ net_private | ipaddr_index(101) }}
100 opnfv_openstack_compute_node02_tenant_address: {{ net_private | ipaddr_index(102) }}
101 opnfv_openstack_compute_node03_tenant_address: {{ net_private | ipaddr_index(103) }}
102 opnfv_openstack_compute_node01_external_address: {{ net_public | ipaddr_index(101) }}
103 opnfv_openstack_compute_node02_external_address: {{ net_public | ipaddr_index(102) }}
105 opnfv_opendaylight_server_node01_single_address: {{ net_mgmt | ipaddr_index(111) }}
107 opnfv_net_public: {{ net_public }}/{{ net_public_mask }}
108 opnfv_net_public_mask: {{ net_public_mask | netmask }}
109 opnfv_net_public_gw: {{ net_public_gw }}
110 opnfv_net_public_pool_start: {{ net_public_pool_start }}
111 opnfv_net_public_pool_end: {{ net_public_pool_end }}
112 opnfv_name_servers: {{ dns_public }}
113 opnfv_dns_server01: '{{ dns_public[0] }}'
115 opnfv_net_mgmt_vlan: {{ vlan_mgmt }}
116 opnfv_net_tenant_vlan: {{ vlan_private }}
118 opnfv_maas_node01_architecture: '{{ conf.nodes.0.node.arch | dpkg_arch }}/generic'
119 opnfv_maas_node01_power_address: {{ conf.nodes.0.remote_management.address.rsplit('/')[0] }}
120 opnfv_maas_node01_power_type: {{ conf.nodes.0.remote_management.type }}
121 opnfv_maas_node01_power_user: {{ conf.nodes.0.remote_management.user }}
122 opnfv_maas_node01_power_password: {{ conf.nodes.0.remote_management.pass }}
123 opnfv_maas_node01_interface_mac: '{{ conf.nodes.0.interfaces[pxe_interface].mac_address }}'
125 opnfv_maas_node02_architecture: '{{ conf.nodes.1.node.arch | dpkg_arch }}/generic'
126 opnfv_maas_node02_power_address: {{ conf.nodes.1.remote_management.address.rsplit('/')[0] }}
127 opnfv_maas_node02_power_type: {{ conf.nodes.1.remote_management.type }}
128 opnfv_maas_node02_power_user: {{ conf.nodes.1.remote_management.user }}
129 opnfv_maas_node02_power_password: {{ conf.nodes.1.remote_management.pass }}
130 opnfv_maas_node02_interface_mac: '{{ conf.nodes.1.interfaces[pxe_interface].mac_address }}'
132 opnfv_maas_node03_architecture: '{{ conf.nodes.2.node.arch | dpkg_arch }}/generic'
133 opnfv_maas_node03_power_address: {{ conf.nodes.2.remote_management.address.rsplit('/')[0] }}
134 opnfv_maas_node03_power_type: {{ conf.nodes.2.remote_management.type }}
135 opnfv_maas_node03_power_user: {{ conf.nodes.2.remote_management.user }}
136 opnfv_maas_node03_power_password: {{ conf.nodes.2.remote_management.pass }}
137 opnfv_maas_node03_interface_mac: '{{ conf.nodes.2.interfaces[pxe_interface].mac_address }}'
139 opnfv_maas_node04_architecture: '{{ conf.nodes.3.node.arch | dpkg_arch }}/generic'
140 opnfv_maas_node04_power_address: {{ conf.nodes.3.remote_management.address.rsplit('/')[0] }}
141 opnfv_maas_node04_power_type: {{ conf.nodes.3.remote_management.type }}
142 opnfv_maas_node04_power_user: {{ conf.nodes.3.remote_management.user }}
143 opnfv_maas_node04_power_password: {{ conf.nodes.3.remote_management.pass }}
144 opnfv_maas_node04_interface_mac: '{{ conf.nodes.3.interfaces[pxe_interface].mac_address }}'
146 opnfv_maas_node05_architecture: '{{ conf.nodes.4.node.arch | dpkg_arch }}/generic'
147 opnfv_maas_node05_power_address: {{ conf.nodes.4.remote_management.address.rsplit('/')[0] }}
148 opnfv_maas_node05_power_type: {{ conf.nodes.4.remote_management.type }}
149 opnfv_maas_node05_power_user: {{ conf.nodes.4.remote_management.user }}
150 opnfv_maas_node05_power_password: {{ conf.nodes.4.remote_management.pass }}
151 opnfv_maas_node05_interface_mac: '{{ conf.nodes.4.interfaces[pxe_interface].mac_address }}'