diff options
-rw-r--r-- | config/installers/fuel/net_macros.j2 | 36 | ||||
-rw-r--r-- | config/installers/fuel/net_map.j2 | 194 | ||||
-rw-r--r-- | config/installers/fuel/pod_config.yml.j2 | 194 | ||||
-rw-r--r-- | config/pdf/idf-pod1.schema.yaml | 4 | ||||
-rwxr-xr-x | config/utils/check-jinja2.sh | 3 | ||||
-rw-r--r-- | labs/arm/idf-pod5.yaml | 2 | ||||
-rw-r--r-- | labs/arm/idf-pod6.yaml | 2 | ||||
-rw-r--r-- | labs/arm/idf-pod7.yaml | 2 | ||||
-rw-r--r-- | labs/arm/idf-pod8.yaml | 112 | ||||
-rw-r--r-- | labs/arm/idf-pod9.yaml | 116 | ||||
-rw-r--r-- | labs/arm/pod8.yaml | 263 | ||||
-rw-r--r-- | labs/arm/pod9.yaml | 311 | ||||
-rw-r--r-- | labs/ericsson/idf-pod1.yaml | 2 | ||||
-rw-r--r-- | labs/ericsson/pod1.yaml | 2 | ||||
-rw-r--r-- | labs/lf/idf-pod2.yaml | 2 | ||||
-rw-r--r-- | labs/unh/idf-pod1.yaml | 82 | ||||
-rw-r--r-- | labs/unh/pod1.yaml | 268 | ||||
-rw-r--r-- | labs/zte/idf-pod1.yaml | 2 |
18 files changed, 1413 insertions, 184 deletions
diff --git a/config/installers/fuel/net_macros.j2 b/config/installers/fuel/net_macros.j2 new file mode 100644 index 00000000..b9693d11 --- /dev/null +++ b/config/installers/fuel/net_macros.j2 @@ -0,0 +1,36 @@ +############################################################################## +# 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 +############################################################################## +{%- macro linux_network_interfaces_nic(nics) -%} +{%- for nic in nics %} + {{ nic }}: + enabled: true + type: eth + proto: manual + mtu: ${_param:interface_mtu} + name: {{ nic }} + noifupdown: true +{%- endfor %} +{%- endmacro -%} + +{%- macro linux_network_interfaces_vlan(vlans) -%} +{%- for vlan in vlans %} + {%- if vlan | int > 0 %} + {{ vlans[vlan] }}.{{ vlan }}: + enabled: true + proto: manual + type: vlan + name: {{ vlans[vlan] }}.{{ vlan }} + use_interfaces: + - {{ vlans[vlan] }} + {%- endif %} +{%- endfor %} +{%- endmacro -%} + +{%- macro interface_str(nic, vlan = 0) -%} + {{ nic }}{% if vlan | int > 0 %}.{{ vlan }}{% endif %} +{%- endmacro -%} diff --git a/config/installers/fuel/net_map.j2 b/config/installers/fuel/net_map.j2 index 880df20f..a12159ea 100644 --- a/config/installers/fuel/net_map.j2 +++ b/config/installers/fuel/net_map.j2 @@ -5,7 +5,8 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -{#- NOTE: All same role (e.g. compute) roles will share the same mapping #} +{%- set net = conf.idf.net_config %} +{#- NOTE: All nodes sharing a role (e.g. compute) will use the same mapping #} {#- Until we support per-node configuration, we only collect data for the first node in each role. Currently, there's no role mapping in PDF/IDF, @@ -20,18 +21,18 @@ This can be worked around by tweaking the NIC definition order in PDF. The same observation applies to vlan tags, at least for now. #} -{#- Determine interface index for each network (plumbing vars) #} +{#- Determine interface index for each network #} {%- set idx_mcp = 0 %} {#- mcpcontrol network is hard set on first interface #} -{%- set idx_admin = conf.idf.net_config.admin.interface %} -{%- set idx_mgmt = conf.idf.net_config.mgmt.interface %} -{%- set idx_private = conf.idf.net_config.private.interface %} -{%- set idx_public = conf.idf.net_config.public.interface %} +{%- set idx_admin = net.admin.interface %} +{%- set idx_mgmt = net.mgmt.interface %} +{%- set idx_private = net.private.interface %} +{%- set idx_public = net.public.interface %} {#- VLAN for each network (only untagged 'admin' is supported by MaaS config!) #} -{%- set vlan_admin = conf.idf.net_config.admin.vlan %} -{%- set vlan_mgmt = conf.idf.net_config.mgmt.vlan %} -{%- set vlan_private = conf.idf.net_config.private.vlan %} -{%- set vlan_public = conf.idf.net_config.public.vlan %} +{%- set vlan_admin = net.admin.vlan %} +{%- set vlan_mgmt = net.mgmt.vlan %} +{%- set vlan_private = net.private.vlan %} +{%- set vlan_public = net.public.vlan %} {#- Physical interface OS name for each network (e.g. em1, enp1s0f1) #} {%- for role in [ctl01, cmp001] %} @@ -45,3 +46,176 @@ 'bus_private': node.busaddr[idx_private]}) %} {#- PCI addresses are only used on computes for DPDK on private net #} {%- endfor %} + +{%- 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] %} + +{%- 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 = conf.nodes | length - cmp001.idx %} + +{%- set net_admin_hosts = [ + 'opnfv_infra_config_pxe_admin_address', + 'opnfv_infra_maas_node01_deploy_address', + 'opnfv_openstack_proxy_node01_pxe_admin_address', + 'opnfv_openstack_proxy_node02_pxe_admin_address', + 'opnfv_openstack_gateway_node01_pxe_admin_address', + 'opnfv_openstack_gateway_node02_pxe_admin_address', + 'opnfv_openstack_gateway_node03_pxe_admin_address', + 'opnfv_infra_kvm_node01_pxe_admin_address', + 'opnfv_infra_kvm_node02_pxe_admin_address', + 'opnfv_infra_kvm_node03_pxe_admin_address', + 'opnfv_openstack_database_node01_pxe_admin_address', + 'opnfv_openstack_database_node02_pxe_admin_address', + 'opnfv_openstack_database_node03_pxe_admin_address', + 'opnfv_openstack_message_queue_node01_pxe_admin_address', + 'opnfv_openstack_message_queue_node02_pxe_admin_address', + 'opnfv_openstack_message_queue_node03_pxe_admin_address', + 'opnfv_openstack_telemetry_node01_pxe_admin_address', + 'opnfv_openstack_telemetry_node02_pxe_admin_address', + 'opnfv_openstack_telemetry_node03_pxe_admin_address', + 'opnfv_openstack_control_node01_pxe_admin_address', + 'opnfv_openstack_control_node02_pxe_admin_address', + 'opnfv_openstack_control_node03_pxe_admin_address', + 'opnfv_opendaylight_server_node01_pxe_admin_address', + 'opnfv_stacklight_monitor_node01_pxe_admin_address', + 'opnfv_stacklight_monitor_node02_pxe_admin_address', + 'opnfv_stacklight_monitor_node03_pxe_admin_address', + 'opnfv_stacklight_log_node01_pxe_admin_address', + 'opnfv_stacklight_log_node02_pxe_admin_address', + 'opnfv_stacklight_log_node03_pxe_admin_address', + 'opnfv_stacklight_telemetry_node01_pxe_admin_address', + 'opnfv_stacklight_telemetry_node02_pxe_admin_address', + 'opnfv_stacklight_telemetry_node03_pxe_admin_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_admin_hosts = net_admin_hosts | length + cmp_nodes %} +{%- set net_admin_pool_start = net_admin | ipnet_hostaddr(total_admin_hosts + start_ip[net_admin] +1) %} +{%- set net_admin_pool_end = net_admin | ipnet_hostmax %} +{#- PXE/admin gateway is mas01 when present / jumpserver via virsh otherwise #} +{%- set net_admin_gw = net_admin | ipnet_hostaddr(start_ip[net_admin] + net_admin_hosts.index('opnfv_infra_maas_node01_deploy_address') +1) %} + +{%- 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 %} + +{%- set cluster = { + 'has_virtual_nodes': False, + 'has_baremetal_nodes': False, + 'arch': [] } %} +{%- for node in conf.nodes %} + {%- if node.node.type == 'virtual' %} + {%- do cluster.update({'has_virtual_nodes': True}) %} + {%- else %} + {%- do cluster.update({'has_baremetal_nodes': True}) %} + {%- endif %} + {%- if node.node.arch not in cluster.arch %} + {%- do cluster.arch.append(node.node.arch) %} + {%- endif %} +{%- endfor %} diff --git a/config/installers/fuel/pod_config.yml.j2 b/config/installers/fuel/pod_config.yml.j2 index 3292b770..769e55db 100644 --- a/config/installers/fuel/pod_config.yml.j2 +++ b/config/installers/fuel/pod_config.yml.j2 @@ -5,182 +5,32 @@ # 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 %} +{%- import 'net_map.j2' as nm with context %} +--- +{%- if nm.cluster.has_baremetal_nodes %} +parameters: + maas: + region: + machines: +{%- for node in conf.nodes %} +{%- if node.node.type == 'baremetal' %} -{%- if net.public.dns is defined %} - {%- set dns_public = net.public.dns %} +{%- if loop.index > nm.cmp001.idx %} + {{ 'cmp%03d' | format(loop.index - nm.cmp001.idx) }}: {%- else %} - {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] %} + {{ 'kvm%02d' | format(loop.index) }}: {%- endif %} + interface: + mac: {{ node.interfaces[nm.idx_admin].mac_address }} + power_parameters: + power_address: {{ node.remote_management.address.rsplit('/')[0] }} + power_password: {{ 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 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 %} - ---- -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 | string | replace('-', ':') }}" - -{%- 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 %} diff --git a/config/pdf/idf-pod1.schema.yaml b/config/pdf/idf-pod1.schema.yaml index 49e06e69..2bb880d1 100644 --- a/config/pdf/idf-pod1.schema.yaml +++ b/config/pdf/idf-pod1.schema.yaml @@ -56,6 +56,10 @@ definitions: network: type: 'object' properties: + ntp_strata_host1: + type: 'string' + ntp_strata_host2: + type: 'string' node: type: 'array' items: diff --git a/config/utils/check-jinja2.sh b/config/utils/check-jinja2.sh index 16e52130..d42a2cde 100755 --- a/config/utils/check-jinja2.sh +++ b/config/utils/check-jinja2.sh @@ -51,7 +51,8 @@ while IFS= read -r lab_config; do continue fi while IFS= read -r jinja_template; do - pdf_gen_cmd="${GEN_CFG} -y ${lab_config} -j ${jinja_template}" + pdf_gen_cmd="${GEN_CFG} -y ${lab_config} -j ${jinja_template}" \ + "-i $(dirname "${jinja_template}")" if ${pdf_gen_cmd} > "${TMPF}"; then ((pdf_inst_pass+=1)) echo "[GENERATE] [OK] ${pdf_gen_cmd}" diff --git a/labs/arm/idf-pod5.yaml b/labs/arm/idf-pod5.yaml index 50db0cfe..a5191319 100644 --- a/labs/arm/idf-pod5.yaml +++ b/labs/arm/idf-pod5.yaml @@ -60,6 +60,8 @@ idf: timeout_comissioning: 10 timeout_deploying: 15 network: + ntp_strata_host1: 1.se.pool.ntp.org + ntp_strata_host2: 0.se.pool.ntp.org node: # Ordered-list, index should be in sync with node index in PDF - interfaces: &interfaces diff --git a/labs/arm/idf-pod6.yaml b/labs/arm/idf-pod6.yaml index 4d81fa0b..395a7fb3 100644 --- a/labs/arm/idf-pod6.yaml +++ b/labs/arm/idf-pod6.yaml @@ -58,6 +58,8 @@ idf: timeout_comissioning: 10 timeout_deploying: 15 network: + ntp_strata_host1: 1.se.pool.ntp.org + ntp_strata_host2: 0.se.pool.ntp.org node: # Ordered-list, index should be in sync with node index in PDF - interfaces: &interfaces diff --git a/labs/arm/idf-pod7.yaml b/labs/arm/idf-pod7.yaml index 7745cda4..463a1f7e 100644 --- a/labs/arm/idf-pod7.yaml +++ b/labs/arm/idf-pod7.yaml @@ -60,6 +60,8 @@ idf: timeout_comissioning: 10 timeout_deploying: 15 network: + ntp_strata_host1: 1.se.pool.ntp.org + ntp_strata_host2: 0.se.pool.ntp.org node: # Ordered-list, index should be in sync with node index in PDF - interfaces: &interfaces_a diff --git a/labs/arm/idf-pod8.yaml b/labs/arm/idf-pod8.yaml new file mode 100644 index 00000000..e9464846 --- /dev/null +++ b/labs/arm/idf-pod8.yaml @@ -0,0 +1,112 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +### ARM POD 8 installer descriptor file ### + +idf: + version: 0.1 + installer: ['apex', 'compass4nfv', 'daisy', 'fuel'] + net_config: + oob: + ip-range: 10.0.19.2-10.0.19.7 + vlan: native + admin: + interface: 0 + vlan: native + network: 192.168.11.0 + mask: 24 + mgmt: + interface: 1 + vlan: 2403 + network: 172.16.10.0 + ip-range: 172.16.10.10-172.16.10.254 # Some IPs are in use by lab infra + mask: 24 + storage: + interface: 1 + vlan: 2404 + network: 10.2.0.0 + mask: 24 + private: + interface: 2 + vlan: 2405-2420 + network: 10.1.0.0 + mask: 24 + public: + interface: 1 + vlan: native + network: 10.0.19.0 + ip-range: 10.0.19.100-10.0.19.253 # Some IPs are in use by lab infra + mask: 24 + gateway: 10.0.19.254 + dns: + - 8.8.8.8 + - 8.8.4.4 + fuel: + jumphost: + bridges: + admin: 'admin18_br0' + mgmt: 'mgmt18_br0' + private: ~ + public: 'public18_br0' + maas: + # MaaS timeouts (in minutes) + timeout_comissioning: 10 + timeout_deploying: 15 + network: + node: + # Ordered-list, index should be in sync with node index in PDF + - interfaces: &interfaces + # Ordered-list, index should be in sync with interface index in PDF + - 'enP5p144s0' + - 'enP2p1s0f1' + - 'enP2p1s0f2' + - 'enP2p1s0f3' + - 'enP2p1s0f4' + - 'enP2p1s0f5' + busaddr: &busaddr + # Bus-info reported by `ethtool -i ethX` + - '0005:90:00.0' + - '0002:01:00.1' + - '0002:01:00.2' + - '0002:01:00.3' + - '0002:01:00.4' + - '0002:01:00.5' + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + reclass: + node: + - compute_params: &compute_params + common: + nova_cpu_pinning: &nova_cpu_pinning_common "8-47" + compute_hugepages_size: 2M + compute_hugepages_count: 8192 + compute_hugepages_mount: /mnt/hugepages_2M + compute_kernel_isolcpu: *nova_cpu_pinning_common + dpdk: + nova_cpu_pinning: "12-47" + compute_hugepages_size: 2M + compute_hugepages_count: 8192 + compute_hugepages_mount: /mnt/hugepages_2M + compute_kernel_isolcpu: *nova_cpu_pinning_common + compute_dpdk_driver: vfio + compute_ovs_pmd_cpu_mask: "0x300" + compute_ovs_dpdk_socket_mem: "2048" + compute_ovs_dpdk_lcore_mask: "0xC00" + compute_ovs_memory_channels: "2" + dpdk0_driver: vfio-pci + dpdk0_n_rxq: 2 + - compute_params: *compute_params + - compute_params: *compute_params + - compute_params: *compute_params + - compute_params: *compute_params diff --git a/labs/arm/idf-pod9.yaml b/labs/arm/idf-pod9.yaml new file mode 100644 index 00000000..3b930793 --- /dev/null +++ b/labs/arm/idf-pod9.yaml @@ -0,0 +1,116 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +### ARM POD 9 installer descriptor file ### + +idf: + version: 0.1 + installer: ['apex', 'compass4nfv', 'daisy', 'fuel'] + net_config: + oob: + ip-range: 10.0.20.2-10.0.20.7 + vlan: native + admin: + interface: 0 + vlan: native + network: 192.168.11.0 + mask: 24 + mgmt: + interface: 1 + vlan: 2423 + network: 172.16.10.0 + ip-range: 172.16.10.10-172.16.10.254 # Some IPs are in use by lab infra + mask: 24 + storage: + interface: 1 + vlan: 2424 + network: 10.2.0.0 + mask: 24 + private: + interface: 2 + vlan: 2425-2440 + network: 10.1.0.0 + mask: 24 + public: + interface: 1 + vlan: native + network: 10.0.20.0 + ip-range: 10.0.20.100-10.0.20.253 # Some IPs are in use by lab infra + mask: 24 + gateway: 10.0.20.254 + dns: + - 8.8.8.8 + - 8.8.4.4 + fuel: + jumphost: + bridges: + admin: 'admin19_br0' + mgmt: 'mgmt19_br0' + private: ~ + public: 'public19_br0' + maas: + # MaaS timeouts (in minutes) + timeout_comissioning: 10 + timeout_deploying: 18 + network: + node: + # Ordered-list, index should be in sync with node index in PDF + - interfaces: &interfaces + # Ordered-list, index should be in sync with interface index in PDF + - 'enP9p144s0' + - 'enP2p1s0f1' + - 'enP2p1s0f2' + - 'enP2p1s0f3' + - 'enP2p1s0f4' + - 'enP2p1s0f5' + - 'enP6p1s0f1' + - 'enP6p1s0f2' + busaddr: &busaddr + # Bus-info reported by `ethtool -i ethX` + - '0009:90:00.0' + - '0002:01:00.1' + - '0002:01:00.2' + - '0002:01:00.3' + - '0002:01:00.4' + - '0002:01:00.5' + - '0006:01:00.1' + - '0006:01:00.2' + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + reclass: + node: + - compute_params: &compute_params + common: + nova_cpu_pinning: &nova_cpu_pinning_common "8-47" + compute_hugepages_size: 2M + compute_hugepages_count: 8192 + compute_hugepages_mount: /mnt/hugepages_2M + compute_kernel_isolcpu: *nova_cpu_pinning_common + dpdk: + nova_cpu_pinning: "12-47" + compute_hugepages_size: 2M + compute_hugepages_count: 8192 + compute_hugepages_mount: /mnt/hugepages_2M + compute_kernel_isolcpu: *nova_cpu_pinning_common + compute_dpdk_driver: vfio + compute_ovs_pmd_cpu_mask: "0x300" + compute_ovs_dpdk_socket_mem: "2048" + compute_ovs_dpdk_lcore_mask: "0xC00" + compute_ovs_memory_channels: "2" + dpdk0_driver: vfio-pci + dpdk0_n_rxq: 2 + - compute_params: *compute_params + - compute_params: *compute_params + - compute_params: *compute_params + - compute_params: *compute_params diff --git a/labs/arm/pod8.yaml b/labs/arm/pod8.yaml new file mode 100644 index 00000000..00386d58 --- /dev/null +++ b/labs/arm/pod8.yaml @@ -0,0 +1,263 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +### Enea ARM POD 8 descriptor file ### + +version: 1.0 +details: + pod_owner: ENEA AB + contact: dan.lilliehorn@enea.com + lab: ENEA lab + location: Stockholm, Sweden + type: production + link: https://wiki.opnfv.org/display/pharos/Enea+Hosting +############################################################################## +jumphost: + name: jenkins-slave-arm-pod8 + node: + type: baremetal + vendor: Cavium + model: ThunderX + arch: aarch64 + cpus: 1 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 48 + memory: 256G + disks: + ## /dev/sda + - name: disk1 + disk_capacity: 480G + disk_type: ssd + disk_interface: sata + disk_rotation: 0 + ## /dev/sdb + - name: disk2 + disk_capacity: 2T + disk_type: hdd + disk_interface: sata + disk_rotation: 7200 + os: ubuntu-16.04 + remote_params: &remote_params + type: ipmi + versions: + - 2.0 + user: ADMIN + pass: ADMIN + remote_management: + <<: *remote_params + address: 10.0.19.2 + mac_address: "1C:1B:0D:E7:49:E7" + interfaces: + - mac_address: "68:05:CA:62:44:BE" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:E7:49:DF" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:E7:49:E0" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:E7:49:E1" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:E7:49:E2" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:E7:49:E3" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' +############################################################################## +nodes: + - name: cn8890-35 + node: &nodeparams + type: baremetal + vendor: Cavium + model: ThunderX + arch: aarch64 + cpus: 1 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 48 + memory: 256G + disks: &disks + - name: disk1 + disk_capacity: 480G + disk_type: ssd + disk_interface: sata + disk_rotation: 0 + - name: disk2 + disk_capacity: 2T + disk_type: hdd + disk_interface: sata + disk_rotation: 7200 + remote_management: + <<: *remote_params + address: 10.0.19.3 + mac_address: "1C:1B:0D:E8:FB:7B" + interfaces: + - mac_address: "68:05:CA:7B:3A:36" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:E8:FB:73" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:E8:FB:74" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:E8:FB:75" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:E8:FB:76" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:E8:FB:77" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + ############################################################################ + - name: cn8890-36 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.19.4 + mac_address: "1C:1B:0D:EF:75:6A" + interfaces: + - mac_address: "68:05:CA:7B:3A:D5" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:EF:75:62" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:EF:75:63" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:EF:75:64" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:EF:75:65" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:EF:75:66" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + ############################################################################ + - name: cn8890-37 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.19.5 + mac_address: "1C:1B:0D:EF:74:DE" + interfaces: + - mac_address: "68:05:CA:62:44:96" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:EF:74:D6" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:EF:74:D7" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:EF:74:D8" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:EF:74:D9" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:EF:74:DA" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + ############################################################################ + - name: cn8890-38 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.19.6 + mac_address: "1C:1B:0D:EF:74:CA" + interfaces: + - mac_address: "68:05:CA:62:44:FB" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:EF:74:C2" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:EF:74:C3" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:EF:74:C4" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:EF:74:C5" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:EF:74:C6" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + ############################################################################ + - name: cn8890-39 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.19.7 + mac_address: "1C:1B:0D:EF:74:8E" + interfaces: + - mac_address: "68:05:CA:62:44:56" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:EF:74:86" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:EF:74:87" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:EF:74:88" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:EF:74:89" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:EF:74:8A" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' diff --git a/labs/arm/pod9.yaml b/labs/arm/pod9.yaml new file mode 100644 index 00000000..3669a34c --- /dev/null +++ b/labs/arm/pod9.yaml @@ -0,0 +1,311 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +### Enea ARM POD 9 descriptor file ### + +version: 1.0 +details: + pod_owner: ENEA AB + contact: dan.lilliehorn@enea.com + lab: ENEA lab + location: Stockholm, Sweden + type: production + link: https://wiki.opnfv.org/display/pharos/Enea+Hosting +############################################################################## +jumphost: + name: jenkins-slave-arm-pod8 + node: + type: baremetal + vendor: Cavium + model: ThunderX + arch: aarch64 + cpus: 2 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 48 + memory: 256G + disks: + ## /dev/sda + - name: disk1 + disk_capacity: 480G + disk_type: ssd + disk_interface: sata + disk_rotation: 0 + ## /dev/sdb + - name: disk2 + disk_capacity: 2T + disk_type: hdd + disk_interface: sata + disk_rotation: 7200 + os: ubuntu-16.04 + remote_params: &remote_params + type: ipmi + versions: + - 2.0 + user: ADMIN + pass: ADMIN + remote_management: + <<: *remote_params + address: 10.0.20.2 + mac_address: "1C:1B:0D:60:EB:F3" + interfaces: + - mac_address: "68:05:CA:7B:0B:BD" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:60:EB:EC" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:60:EB:ED" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:60:EB:EE" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:60:EB:EF" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:60:EB:F0" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + - mac_address: "1C:1B:0D:60:EB:F1" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic7' + - mac_address: "1C:1B:0D:60:EB:F2" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic8' +############################################################################## +nodes: + - name: cn8890-41 + node: &nodeparams + type: baremetal + vendor: Cavium + model: ThunderX + arch: aarch64 + cpus: 2 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 48 + memory: 256G + disks: &disks + - name: disk1 + disk_capacity: 480G + disk_type: ssd + disk_interface: sata + disk_rotation: 0 + - name: disk2 + disk_capacity: 2T + disk_type: hdd + disk_interface: sata + disk_rotation: 7200 + remote_management: + <<: *remote_params + address: 10.0.20.3 + mac_address: "40:8D:5C:E7:B1:FD" + interfaces: + - mac_address: "68:05:CA:7B:3B:F5" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "40:8D:5C:E7:B1:F6" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "40:8D:5C:E7:B1:F7" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "40:8D:5C:E7:B1:F8" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "40:8D:5C:E7:B1:F9" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "40:8D:5C:E7:B1:FA" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + - mac_address: "40:8D:5C:E7:B1:FB" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic7' + - mac_address: "40:8D:5C:E7:B1:FC" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic8' + ############################################################################ + - name: cn8890-42 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.20.4 + mac_address: "40:8D:5C:E7:B3:17" + interfaces: + - mac_address: "68:05:CA:7B:3C:4D" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "40:8D:5C:E7:B3:10" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "40:8D:5C:E7:B3:11" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "40:8D:5C:E7:B3:12" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "40:8D:5C:E7:B3:13" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "40:8D:5C:E7:B3:14" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + - mac_address: "40:8D:5C:E7:B3:15" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic7' + - mac_address: "40:8D:5C:E7:B3:16" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic8' + ############################################################################ + - name: cn8890-43 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.20.5 + mac_address: "40:8D:5C:E7:B2:AB" + interfaces: + - mac_address: "68:05:CA:7B:0B:C0" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "40:8D:5C:E7:B2:A4" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "40:8D:5C:E7:B2:A5" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "40:8D:5C:E7:B2:A6" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "40:8D:5C:E7:B2:A7" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "40:8D:5C:E7:B2:A8" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + - mac_address: "40:8D:5C:E7:B2:A9" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic7' + - mac_address: "40:8D:5C:E7:B2:AA" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic8' + ############################################################################ + - name: cn8890-44 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.20.6 + mac_address: "1C:1B:0D:60:EC:17" + interfaces: + - mac_address: "68:05:CA:7B:0D:A5" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "1C:1B:0D:60:EC:10" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "1C:1B:0D:60:EC:11" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "1C:1B:0D:60:EC:12" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "1C:1B:0D:60:EC:13" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "1C:1B:0D:60:EC:14" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + - mac_address: "1C:1B:0D:60:EC:15" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic7' + - mac_address: "1C:1B:0D:60:EC:16" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic8' + ############################################################################ + - name: cn8890-45 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.0.20.7 + mac_address: "40:8D:5C:E7:B3:20" + interfaces: + - mac_address: "68:05:CA:7B:3C:90" + speed: 1gb + features: '' + name: 'nic1' + - mac_address: "40:8D:5C:E7:B3:19" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic2' + - mac_address: "40:8D:5C:E7:B3:1A" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic3' + - mac_address: "40:8D:5C:E7:B3:1B" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic4' + - mac_address: "40:8D:5C:E7:B3:1C" + speed: 10gb + features: 'dpdk|sriov' + name: 'nic5' + - mac_address: "40:8D:5C:E7:B3:1D" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic6' + - mac_address: "40:8D:5C:E7:B3:1E" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic7' + - mac_address: "40:8D:5C:E7:B3:1F" + speed: 40gb + features: 'dpdk|sriov' + name: 'nic8' diff --git a/labs/ericsson/idf-pod1.yaml b/labs/ericsson/idf-pod1.yaml index 91227d60..26dd4f66 100644 --- a/labs/ericsson/idf-pod1.yaml +++ b/labs/ericsson/idf-pod1.yaml @@ -55,6 +55,8 @@ idf: private: ~ public: 'br-external' network: + ntp_strata_host1: 1.se.pool.ntp.org + ntp_strata_host2: 0.se.pool.ntp.org node: # Ordered-list, index should be in sync with node index in PDF - interfaces: &interfaces diff --git a/labs/ericsson/pod1.yaml b/labs/ericsson/pod1.yaml index d8a51556..5059eabf 100644 --- a/labs/ericsson/pod1.yaml +++ b/labs/ericsson/pod1.yaml @@ -210,7 +210,7 @@ nodes: remote_management: <<: *remoteparas address: 172.16.1.19/24 - mac_address: "9C:B6:54:8E:C7:F0" + mac_address: "FC:15:B4:12:97:64" interfaces: - name: 'nic1' speed: 10gb diff --git a/labs/lf/idf-pod2.yaml b/labs/lf/idf-pod2.yaml index f2ccef85..15f81e6e 100644 --- a/labs/lf/idf-pod2.yaml +++ b/labs/lf/idf-pod2.yaml @@ -56,6 +56,8 @@ idf: private: ~ public: ~ network: + ntp_strata_host1: 1.pool.ntp.org + ntp_strata_host2: 0.pool.ntp.org node: # Ordered-list, index should be in sync with node index in PDF - interfaces: &interfaces diff --git a/labs/unh/idf-pod1.yaml b/labs/unh/idf-pod1.yaml new file mode 100644 index 00000000..c22e037d --- /dev/null +++ b/labs/unh/idf-pod1.yaml @@ -0,0 +1,82 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +### UNH ARM POD installer descriptor file ### + +idf: + version: 0.1 + installer: ['apex', 'compass4nfv', 'daisy', 'fuel'] + net_config: + oob: + ip-range: 10.10.52.10-10.10.52.15 + vlan: native + admin: + interface: 0 + vlan: native + network: 10.10.53.0 + mask: 24 + mgmt: + interface: 0 + vlan: 55 + network: 172.16.10.0 + mask: 24 + storage: + interface: 0 + vlan: 56 + network: 10.2.0.0 + mask: 24 + private: + interface: 0 + vlan: 57 + network: 10.1.0.0 + mask: 24 + public: + interface: 0 + vlan: 50 + network: 10.10.50.0 + mask: 24 + gateway: 10.10.50.1 + dns: + - 8.8.8.8 + - 8.8.4.4 + fuel: + jumphost: + bridges: + admin: 'admin1_br0' + mgmt: 'mgmt1_br0' + private: '' + public: 'public1_br0' + maas: + # MaaS timeouts (in minutes) + timeout_comissioning: 10 + timeout_deploying: 15 + network: + node: + # Ordered list, index should be in sync with node index in PDF + - interfaces: &interfaces + # Ordered-list + - 'enP2p1s0f1' + - 'enP2p1s0f2' + - 'enP2p1s0f3' + - 'enP2p1s0f4' + - 'enP2p1s0f5' + busaddr: &busaddr + # Bus-info reported by `ethtool -i ethX` + - '0002:01:00.1' + - '0002:01:00.2' + - '0002:01:00.3' + - '0002:01:00.4' + - '0002:01:00.5' + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr + - interfaces: *interfaces + busaddr: *busaddr diff --git a/labs/unh/pod1.yaml b/labs/unh/pod1.yaml new file mode 100644 index 00000000..0932b58e --- /dev/null +++ b/labs/unh/pod1.yaml @@ -0,0 +1,268 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +### UNH ARM POD 1 descriptor file ### + +version: 1.0 +details: + pod_owner: University of New Hampshire + contact: lincoln.lavoie@iol.unh.edu + lab: UNH lab + location: New Hampshire, USA + type: development + link: https://wiki.opnfv.org/pages/viewpage.action?pageId=12389095 +############################################# +jumphost: + name: jump-unh-pod1 + node: + type: baremetal + vendor: cavium + model: thunderx + arch: aarch64 + cpus: 1 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 48 + memory: 64G + disks: + ## /dev/sda + - name: disk1 + disk_capacity: 447G + disk_type: ssd + disk_interface: sata + disk_rotation: 0 + os: ubuntu-16.04 + remote_params: &remote_params + type: ipmi + versions: + - 2.0 + user: admin + pass: password + remote_management: + <<: *remote_params + address: 10.10.52.12 + mac_address: "1c:1b:0d:e8:fb:8f" + interfaces: + ## enp2p1s0f1, not connected for now + - mac_address: "1c:1b:0d:e8:fb:87" + features: '' + name: 'nic1' + ## enp2p1s0f2, not connected for now + - mac_address: "1c:1b:0d:e8:fb:88" + speed: 10gb + features: '' + name: 'nic2' + ## enp2p1s0f3, not connected for now + - mac_address: "1c:1b:0d:e8:fb:89" + speed: 10gb + features: '' + name: 'nic3' + ## enp2p1s0f4, not connected for now + - mac_address: "1c:1b:0d:e8:fb:8a" + speed: 10gb + features: '' + name: 'nic4' + ## enp2p1s0f5, not connected for now + - mac_address: "1c:1b:0d:e8:fb:8b" + speed: 10gb + features: '' + name: 'nic5' +########################################## +nodes: + - name: small-cavium-2 + node: &nodeparams + type: baremetal + vendor: cavium + model: thunderx + arch: aarch64 + cpus: 1 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 48 + memory: 64G + disks: &disks + - name: 'disk1' + disk_capacity: 447G + disk_type: ssd + disk_interface: sata + disk_rotation: 0 + remote_management: + <<: *remote_params + address: 10.10.52.13 + mac_address: "1c:1b:0d:e7:49:f1" + interfaces: + ## enp2p1s0f1 + - mac_address: "1c:1b:0d:e7:49:e9" + speed: 10gb + features: '' + name: 'nic1' + ## enp2p1s0f2 + - mac_address: "1c:1b:0d:e7:49:ea" + speed: 10gb + features: '' + name: 'nic2' + ## enp2p1s0f3 + - mac_address: "1c:1b:0d:e7:49:eb" + features: '' + name: 'nic3' + ## enp2p1s0f4 + - mac_address: "1c:1b:0d:e7:49:ec" + features: '' + name: 'nic4' + ## enp2p1s0f5 + - mac_address: "1c:1b:0d:e7:49:ed" + features: '' + name: 'nic5' + ########################################## + - name: small-cavium-3 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.10.52.14 + mac_address: "1c:1b:0d:e8:fb:2b" + interfaces: + ## enp2p1s0f1 + - mac_address: "1c:1b:0d:e8:fb:23" + speed: 10gb + features: '' + name: 'nic1' + ## enp2p1s0f2 + - mac_address: "1c:1b:0d:e8:fb:24" + speed: 10gb + features: '' + name: 'nic2' + ## enp2p1s0f3 + - mac_address: "1c:1b:0d:e8:fb:25" + features: '' + name: 'nic3' + ## enp2p1s0f4 + - mac_address: "1c:1b:0d:e8:fb:26" + features: '' + name: 'nic4' + ## enp2p1s0f5 + - mac_address: "1c:1b:0d:e8:fb:27" + features: '' + name: 'nic5' + ########################################## + - name: small-cavium-4 + node: *nodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.10.52.15 + mac_address: "1c:1b:0d:e8:fb:99" + interfaces: + ## enp2p1s0f1 + - mac_address: "1c:1b:0d:e8:fb:91" + speed: 10gb + features: '' + name: 'nic1' + ## enp2p1s0f2 + - mac_address: "1c:1b:0d:e8:fb:92" + speed: 10gb + features: '' + name: 'nic2' + ## enp2p1s0f3 + - mac_address: "1c:1b:0d:e8:fb:93" + features: '' + name: 'nic3' + ## enp2p1s0f4 + - mac_address: "1c:1b:0d:e8:fb:94" + features: '' + name: 'nic4' + ## enp2p1s0f5 + - mac_address: "1c:1b:0d:e8:fb:95" + features: '' + name: 'nic5' + ################################################# + - name: big-cavium-1 + node: &bignodeparams + type: baremetal + vendor: cavium + model: thunderx + arch: aarch64 + cpus: 2 + cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 + cores: 96 + memory: 128G + disks: *disks + remote_management: + <<: *remote_params + address: 10.10.52.10 + mac_address: "40:8d:5c:e0:9f:cb" + interfaces: + ## enp2p1s0f1 + - mac_address: "40:8d:5c:e0:9f:c4" + speed: 10gb + features: '' + name: 'nic1' + ## enp6p1s0f1 + - mac_address: "40:8d:5c:e0:9f:c9" + speed: 40gb + features: '' + name: 'nic2' + ## enp2p1s0f2 + - mac_address: "40:8d:5c:e0:9f:c5" + features: '' + name: 'nic3' + ## enp2p1s0f3 + - mac_address: "40:8d:5c:e0:9f:c6" + features: '' + name: 'nic4' + ## enp2p1s0f4 + - mac_address: "40:8d:5c:e0:9f:c7" + features: '' + name: 'nic5' + ## enp2p1s0f5 + - mac_address: "40:8d:5c:e0:9f:c8" + speed: 40gb + features: '' + name: 'nic6' + ## enp6p1s0f2 + - mac_address: "40:8d:5c:e0:9f:ca" + features: '' + name: 'nic7' + ########################################## + - name: big-cavium-2 + node: *bignodeparams + disks: *disks + remote_management: + <<: *remote_params + address: 10.10.52.11 + mac_address: "40:8d:5c:e0:9f:e6" + interfaces: + ## enp2p1s0f1 + - mac_address: "40:8d:5c:e0:9f:df" + speed: 10gb + features: '' + name: 'nic1' + ## enp6p1s0f1 + - mac_address: "40:8d:5c:e0:9f:e4" + speed: 40gb + features: '' + name: 'nic2' + ## enp2p1s0f2 + - mac_address: "40:8d:5c:e0:9f:e0" + features: '' + name: 'nic3' + ## enp2p1s0f3 + - mac_address: "40:8d:5c:e0:9f:e1" + features: '' + name: 'nic4' + ## enp2p1s0f4 + - mac_address: "40:8d:5c:e0:9f:e2" + features: '' + name: 'nic5' + ## enp2p1s0f5 + - mac_address: "40:8d:5c:e0:9f:e3" + speed: 40gb + features: '' + name: 'nic6' + ## enp6p1s0f2 + - mac_address: "40:8d:5c:e0:9f:e5" + features: '' + name: 'nic7' diff --git a/labs/zte/idf-pod1.yaml b/labs/zte/idf-pod1.yaml index 8a174c2a..fd05e662 100644 --- a/labs/zte/idf-pod1.yaml +++ b/labs/zte/idf-pod1.yaml @@ -52,6 +52,8 @@ idf: private: ~ public: 'br-external' network: + ntp_strata_host1: 1.pool.ntp.org + ntp_strata_host2: 0.pool.ntp.org node: # Ordered-list, index should be in sync with node index in PDF - interfaces: &interfaces |