Merge "add ericsson vpod PDF"
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Fri, 8 Jun 2018 16:53:50 +0000 (16:53 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 8 Jun 2018 16:53:50 +0000 (16:53 +0000)
18 files changed:
config/installers/fuel/net_macros.j2 [new file with mode: 0644]
config/installers/fuel/net_map.j2
config/installers/fuel/pod_config.yml.j2
config/pdf/idf-pod1.schema.yaml
config/utils/check-jinja2.sh
labs/arm/idf-pod5.yaml
labs/arm/idf-pod6.yaml
labs/arm/idf-pod7.yaml
labs/arm/idf-pod8.yaml [new file with mode: 0644]
labs/arm/idf-pod9.yaml [new file with mode: 0644]
labs/arm/pod8.yaml [new file with mode: 0644]
labs/arm/pod9.yaml [new file with mode: 0644]
labs/ericsson/idf-pod1.yaml
labs/ericsson/pod1.yaml
labs/lf/idf-pod2.yaml
labs/unh/idf-pod1.yaml [new file with mode: 0644]
labs/unh/pod1.yaml [new file with mode: 0644]
labs/zte/idf-pod1.yaml

diff --git a/config/installers/fuel/net_macros.j2 b/config/installers/fuel/net_macros.j2
new file mode 100644 (file)
index 0000000..b9693d1
--- /dev/null
@@ -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 -%}
index 880df20..a12159e 100644 (file)
@@ -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,
     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] %}
         '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 %}
index 3292b77..769e55d 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 %}
+{%- 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 %}
index 49e06e6..2bb880d 100644 (file)
@@ -56,6 +56,10 @@ definitions:
         network:
           type: 'object'
           properties:
+            ntp_strata_host1:
+              type: 'string'
+            ntp_strata_host2:
+              type: 'string'
             node:
               type: 'array'
               items:
index 16e5213..d42a2cd 100755 (executable)
@@ -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}"
index 50db0cf..a519131 100644 (file)
@@ -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
index 4d81fa0..395a7fb 100644 (file)
@@ -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
index 7745cda..463a1f7 100644 (file)
@@ -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 (file)
index 0000000..e946484
--- /dev/null
@@ -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 (file)
index 0000000..3b93079
--- /dev/null
@@ -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 (file)
index 0000000..00386d5
--- /dev/null
@@ -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 (file)
index 0000000..3669a34
--- /dev/null
@@ -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'
index 91227d6..26dd4f6 100644 (file)
@@ -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
index d8a5155..5059eab 100644 (file)
@@ -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
index f2ccef8..15f81e6 100644 (file)
@@ -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 (file)
index 0000000..c22e037
--- /dev/null
@@ -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 (file)
index 0000000..0932b58
--- /dev/null
@@ -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'
index 8a174c2..fd05e66 100644 (file)
@@ -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