fuel: Switch to Ubuntu Bionic
[pharos.git] / config / installers / fuel / pod_config.yml.j2
index 1cf76d3..657bc2c 100644 (file)
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
-{%- set net = conf.idf.net_config %}
-{%- set net_admin = [net.admin.network, net.admin.mask] | join("/")  %}
-{%- set net_mgmt = [net.mgmt.network, net.mgmt.mask] | join("/")  %}
-{%- set net_private = [net.private.network, net.private.mask] | join("/")  %}
-{%- set net_public =  [net.public.network, net.public.mask] | join("/")  %}
-{%- set networks = [net_admin, net_mgmt, net_private, net_public] %}
-
-{%- set vlan_mgmt = net.mgmt.vlan %}
-{%- set vlan_private = net.private.vlan %}
-{%- set pxe_interface = net.admin.interface %}
-
-{%- if net.public.dns is defined %}
-    {%- set dns_public = net.public.dns %}
-{%- else %}
-    {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] %}
-{%- endif %}
-
-{%- if net.public.gateway is defined %}
-    {%- set net_public_gw = net.public.gateway %}
-{%- endif %}
-{%- if conf.idf.fuel.network.public_pool is defined %}
-    {%- set net_public_pool_start = conf.idf.fuel.network.public_pool.start_ip %}
-    {%- set net_public_pool_end = conf.idf.fuel.network.public_pool.end_ip %}
-{%- endif %}
-
-{%- if conf.idf.fuel.maas is defined %}
-    {%- set maas_timeout_comissioning = conf.idf.fuel.maas.timeout_comissioning %}
-    {%- set maas_timeout_deploying = conf.idf.fuel.maas.timeout_deploying %}
-{%- else %}
-    {%- set maas_timeout_comissioning = 10 %}
-    {%- set maas_timeout_deploying = 15 %}
-{%- endif %}
-
-{%- set cmp_nodes =  3 %}
-
-{%- set net_admin_hosts = [
-    'opnfv_infra_config_pxe_address',
-    'opnfv_infra_maas_node01_deploy_address',
-    'opnfv_infra_maas_pxe_start_address'] %}
-
-{%- set net_mgmt_hosts = [
-    'opnfv_infra_config_address',
-    'opnfv_infra_maas_node01_address',
-    'opnfv_openstack_proxy_control_address',
-    'opnfv_openstack_proxy_node01_control_address',
-    'opnfv_openstack_proxy_node02_control_address',
-    'opnfv_openstack_gateway_node01_address',
-    'opnfv_openstack_gateway_node02_address',
-    'opnfv_openstack_gateway_node03_address',
-    'opnfv_infra_kvm_address',
-    'opnfv_infra_kvm_node01_address',
-    'opnfv_infra_kvm_node02_address',
-    'opnfv_infra_kvm_node03_address',
-    'opnfv_openstack_database_address',
-    'opnfv_openstack_database_node01_address',
-    'opnfv_openstack_database_node02_address',
-    'opnfv_openstack_database_node03_address',
-    'opnfv_openstack_message_queue_address',
-    'opnfv_openstack_message_queue_node01_address',
-    'opnfv_openstack_message_queue_node02_address',
-    'opnfv_openstack_message_queue_node03_address',
-    'opnfv_openstack_telemetry_address',
-    'opnfv_openstack_telemetry_node01_address',
-    'opnfv_openstack_telemetry_node02_address',
-    'opnfv_openstack_telemetry_node03_address',
-    'opnfv_openstack_control_address',
-    'opnfv_openstack_control_node01_address',
-    'opnfv_openstack_control_node02_address',
-    'opnfv_openstack_control_node03_address',
-    'opnfv_opendaylight_server_node01_single_address',
-    'opnfv_stacklight_monitor_address',
-    'opnfv_stacklight_monitor_node01_address',
-    'opnfv_stacklight_monitor_node02_address',
-    'opnfv_stacklight_monitor_node03_address',
-    'opnfv_stacklight_log_address',
-    'opnfv_stacklight_log_node01_address',
-    'opnfv_stacklight_log_node02_address',
-    'opnfv_stacklight_log_node03_address',
-    'opnfv_stacklight_telemetry_address',
-    'opnfv_stacklight_telemetry_node01_address',
-    'opnfv_stacklight_telemetry_node02_address',
-    'opnfv_stacklight_telemetry_node03_address'] %}
-
-{%- set net_public_hosts = [
-    'opnfv_openstack_proxy_address',
-    'opnfv_openstack_proxy_node01_address',
-    'opnfv_openstack_proxy_node02_address',
-    'opnfv_openstack_gateway_node01_external_address',
-    'opnfv_openstack_gateway_node02_external_address',
-    'opnfv_openstack_gateway_node03_external_address',
-    'opnfv_openstack_control_node01_external_address',
-    'opnfv_openstack_control_node02_external_address',
-    'opnfv_openstack_control_node03_external_address'] %}
-
-{%- set net_private_hosts = [
-    'opnfv_openstack_gateway_node01_tenant_address',
-    'opnfv_openstack_gateway_node02_tenant_address',
-    'opnfv_openstack_gateway_node03_tenant_address'] %}
-
-{%- set hosts = {
-    net_admin: net_admin_hosts,
-    net_mgmt: net_mgmt_hosts,
-    net_private: net_private_hosts,
-    net_public: net_public_hosts } %}
-
-{%- set start_ip = {
-    net_admin: 1,
-    net_mgmt: 1,
-    net_private: 1,
-    net_public: 1 } %}
-
-{%- for nn, nd in net.items() %}
-  {%- if 'ip-range' in nd and 'network' in nd and 'mask' in nd %}
-    {%- set net_nd = [nd.network, nd.mask] | join('/')  %}
-    {%- if net_nd in start_ip %}
-      {%- set nd_start_ip = nd['ip-range'].split('-')[0] %}
-      {%- set nd_start = net_nd | ipnet_range_size(net_nd | ipnet_hostmin, nd_start_ip) %}
-      {%- do start_ip.update({net_nd: nd_start}) %}
-    {%- endif %}
-  {%- endif %}
-{%- endfor %}
-
-{%- set total_public_hosts = net_public_hosts | length + cmp_nodes  %}
-{%- if net_public_pool_start is not defined or net_public_pool_end is not defined %}
-    {%- set net_public_pool_start = net_public | ipnet_hostaddr(total_public_hosts + start_ip[net_public] +1) %}
-    {%- set net_public_pool_end = net_public | ipnet_hostmax -1  %}
-{%- endif %}
-
+{%- import 'net_map.j2' as nm with context %}
 ---
+{%- if nm.cluster.has_baremetal_nodes %}
 parameters:
-  _param:
-
-    opnfv_maas_timeout_comissioning: {{ maas_timeout_comissioning }}
-    opnfv_maas_timeout_deploying: {{ maas_timeout_deploying }}
-
-    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 }}
-
-    opnfv_infra_maas_pxe_network_address: {{ net.admin.network }}
-    opnfv_infra_maas_pxe_end_address: {{ net_admin | ipnet_hostmax }}
-    opnfv_net_public: {{ net_public }}
-    opnfv_net_public_mask: {{ net_public | ipnet_netmask }}
-    opnfv_net_public_gw: {{ net_public_gw }}
-    opnfv_net_public_pool_start: {{ net_public_pool_start }}
-    opnfv_net_public_pool_end: {{ net_public_pool_end }}
-    opnfv_name_servers: {{ dns_public }}
-    opnfv_dns_server01: '{{ dns_public[0] }}'
-    opnfv_net_mgmt_vlan: {{ vlan_mgmt }}
-    opnfv_net_tenant_vlan: {{ vlan_private }}
-
-{%- for network in networks %}
-{%- for key in hosts[network] %}
-{%- set i = loop.index  + start_ip[network] %}
-    {{key}}: {{ network | ipnet_hostaddr(i) }}
-{%- endfor %}
-{%- endfor %}
-
-{%- for cmp in range(1, cmp_nodes +1) %}
-  {%- set n = '%02d' | format(cmp) %}
-    {%- set mgmt = net_mgmt_hosts | length + start_ip[net_mgmt] + loop.index %}
-    {%- set pub = net_public_hosts | length + start_ip[net_public] + loop.index %}
-    {%- set pri = net_private_hosts | length + start_ip[net_private] + loop.index %}
-    opnfv_openstack_compute_node{{n}}_single_address: {{ net_mgmt | ipnet_hostaddr(mgmt) }}
-    opnfv_openstack_compute_node{{n}}_control_address: {{ net_mgmt | ipnet_hostaddr(mgmt) }}
-    opnfv_openstack_compute_node{{n}}_tenant_address: {{ net_private | ipnet_hostaddr(pri) }}
-    opnfv_openstack_compute_node{{n}}_external_address: {{ net_public | ipnet_hostaddr(pub) }}
-{%- endfor %}
-
-{%- for node in conf.nodes %}
-  {%- set n = '%02d' | format(loop.index) %}
-    opnfv_maas_node{{n}}_architecture: '{{ node.node.arch | dpkg_arch }}/generic'
-    opnfv_maas_node{{n}}_power_address: {{ node.remote_management.address.rsplit('/')[0] }}
-    opnfv_maas_node{{n}}_power_type: {{ node.remote_management.type }}
-    opnfv_maas_node{{n}}_power_user: {{ node.remote_management.user }}
-    opnfv_maas_node{{n}}_power_password: {{ node.remote_management.pass }}
-    opnfv_maas_node{{n}}_interface_mac: '{{ node.interfaces[pxe_interface].mac_address }}'
-{%- endfor %}
+  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: bionic
+          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 %}