summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INFO8
-rw-r--r--config/installers/apex/pod_config.yaml.j238
-rw-r--r--config/installers/compass4nfv/network.yml.j26
-rw-r--r--config/installers/compass4nfv/network_ocl.yml.j26
-rw-r--r--config/installers/compass4nfv/network_onos.yml.j26
-rw-r--r--config/installers/compass4nfv/network_openo.yml.j26
-rw-r--r--config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j220
-rw-r--r--config/installers/compass4nfv/os-nosdn-openo-ha.yml.j220
-rw-r--r--config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j222
-rw-r--r--config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j220
-rw-r--r--config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j220
-rw-r--r--config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j220
-rw-r--r--config/installers/compass4nfv/os-onos-nofeature-ha.yml.j220
-rw-r--r--config/installers/compass4nfv/os-onos-sfc-ha.yml.j220
-rw-r--r--config/installers/daisy/network-dpdk.yaml.j2109
-rw-r--r--config/installers/daisy/network.yaml.j226
-rw-r--r--config/installers/daisy/pod_config.yaml.j235
-rw-r--r--config/installers/fuel/net_macros.j236
-rw-r--r--config/installers/fuel/net_map.j2221
-rw-r--r--config/installers/fuel/pod_config.yml.j2178
-rw-r--r--config/installers/joid/pod_config.yaml.j2257
-rw-r--r--config/pdf/idf-pod1.schema.yaml229
-rw-r--r--config/pdf/pod1.encrypted.yaml19
-rw-r--r--config/pdf/pod1.schema.yaml245
-rw-r--r--config/pdf/pod1.yaml21
-rw-r--r--config/utils/README.eyaml.rst2
-rwxr-xr-xconfig/utils/check-jinja2.sh65
-rwxr-xr-xconfig/utils/check-schema.sh51
-rw-r--r--config/utils/config.example.yaml2
-rw-r--r--config/utils/gen_config_lib.py224
-rwxr-xr-xconfig/utils/generate_config.py96
-rwxr-xr-xconfig/utils/validate_schema.py46
-rw-r--r--docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-FDIO.pngbin0 -> 51232 bytes
-rw-r--r--docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-OVS.pngbin0 -> 50055 bytes
-rw-r--r--docs/release/scenario-lifecycle/ODL Generic Scenarios Evolution.pngbin0 -> 95014 bytes
-rw-r--r--docs/release/scenario-lifecycle/create-sdf.pngbin0 -> 402973 bytes
-rw-r--r--docs/release/scenario-lifecycle/creating-scenarios.rst104
-rw-r--r--docs/release/scenario-lifecycle/current-status.rst75
-rw-r--r--docs/release/scenario-lifecycle/deployment-options.rst128
-rw-r--r--docs/release/scenario-lifecycle/feature-compatibility-nosdn.pngbin0 -> 24694 bytes
-rw-r--r--docs/release/scenario-lifecycle/feature-compatibility-odl.pngbin0 -> 32124 bytes
-rw-r--r--docs/release/scenario-lifecycle/generic-scenarios.rst53
-rw-r--r--docs/release/scenario-lifecycle/index.rst24
-rw-r--r--docs/release/scenario-lifecycle/mano-scenarios.rst31
-rw-r--r--docs/release/scenario-lifecycle/parent-child-relations.rst62
-rw-r--r--docs/release/scenario-lifecycle/parent-child.pngbin0 -> 26454 bytes
-rw-r--r--docs/release/scenario-lifecycle/pdf-and-sdf.pngbin0 -> 189523 bytes
-rw-r--r--docs/release/scenario-lifecycle/scenario-descriptor-files.rst228
-rw-r--r--docs/release/scenario-lifecycle/scenario-overview.rst166
-rw-r--r--docs/release/scenario-lifecycle/scenario-tree+idea.pngbin0 -> 128763 bytes
-rw-r--r--docs/release/scenario-lifecycle/scenario-tree-danube.pngbin0 -> 80299 bytes
-rw-r--r--docs/release/scenario-lifecycle/scenario-tree.pngbin0 -> 81067 bytes
-rw-r--r--docs/release/scenario-lifecycle/sibling.pngbin0 -> 32538 bytes
-rw-r--r--docs/release/scenario-lifecycle/specific-scenarios.rst34
-rw-r--r--docs/release/scenario-lifecycle/workflows.rst70
-rw-r--r--labs/arm/idf-pod5.yaml75
-rw-r--r--labs/arm/idf-pod6.yaml161
-rw-r--r--labs/arm/idf-pod7.yaml136
-rw-r--r--labs/arm/idf-pod8.yaml113
-rw-r--r--labs/arm/idf-pod9.yaml117
-rw-r--r--labs/arm/idf-virtual2.yaml83
-rw-r--r--labs/arm/pod5.yaml90
-rw-r--r--labs/arm/pod6.yaml111
-rw-r--r--labs/arm/pod7.yaml241
-rw-r--r--labs/arm/pod8.yaml263
-rw-r--r--labs/arm/pod9.yaml311
-rw-r--r--labs/arm/virtual2.yaml137
-rw-r--r--labs/bii/idf-pod1.yaml75
-rw-r--r--labs/bii/pod1.yaml322
-rw-r--r--labs/ericsson/idf-pod1.yaml44
-rw-r--r--labs/ericsson/idf-pod2.yaml132
-rw-r--r--labs/ericsson/idf-virtual-pod1bl01.yaml104
-rw-r--r--labs/ericsson/idf-virtual1.yaml104
-rw-r--r--labs/ericsson/idf-virtual2.yaml104
-rw-r--r--labs/ericsson/idf-virtual3.yaml104
-rw-r--r--labs/ericsson/idf-virtual4.yaml104
-rw-r--r--labs/ericsson/idf-virtual5.yaml104
-rw-r--r--labs/ericsson/pod1.yaml131
-rw-r--r--labs/ericsson/pod2.yaml213
-rw-r--r--labs/ericsson/virtual-pod1bl01.yaml160
-rw-r--r--labs/ericsson/virtual1.yaml160
-rw-r--r--labs/ericsson/virtual2.yaml160
-rw-r--r--labs/ericsson/virtual3.yaml160
-rw-r--r--labs/ericsson/virtual4.yaml160
-rw-r--r--labs/ericsson/virtual5.yaml153
-rw-r--r--labs/huawei/idf-pod1.yaml45
-rw-r--r--labs/huawei/pod1.yaml193
-rw-r--r--labs/intel/idf-pod18.yaml50
-rw-r--r--labs/intel/pod18.yaml103
-rw-r--r--labs/lf/idf-pod2.yaml32
-rw-r--r--labs/lf/idf-pod4.yaml148
-rw-r--r--labs/lf/idf-pod5.yaml44
-rw-r--r--labs/lf/pod2.yaml81
-rw-r--r--labs/lf/pod4.yaml203
-rw-r--r--labs/lf/pod5.yaml87
-rw-r--r--labs/nokia/idf-pod1.yaml12
-rw-r--r--labs/nokia/pod1.yaml244
-rw-r--r--labs/ool/idf-pod1.yaml66
-rw-r--r--labs/ool/pod1.yaml204
-rw-r--r--labs/unh/idf-pod1.yaml113
-rw-r--r--labs/unh/pod1.yaml268
-rw-r--r--labs/zte/idf-pod1.yaml43
-rw-r--r--labs/zte/idf-pod2.yaml38
-rw-r--r--labs/zte/idf-pod3.yaml38
-rw-r--r--labs/zte/idf-pod9.yaml72
-rw-r--r--labs/zte/pod1.yaml79
-rw-r--r--labs/zte/pod2.yaml80
-rw-r--r--labs/zte/pod3.yaml73
-rw-r--r--labs/zte/pod9.yaml143
-rw-r--r--scenarios/README1
-rw-r--r--scenarios/examples/sdf-fdio-example.yaml134
-rw-r--r--scenarios/examples/sdf-mano-example.yaml128
-rw-r--r--scenarios/templates/sdf-template.yaml303
113 files changed, 9078 insertions, 1348 deletions
diff --git a/INFO b/INFO
index 8299eea8..2ebe872e 100644
--- a/INFO
+++ b/INFO
@@ -2,8 +2,8 @@ Project: Testbed infrastructure (Pharos)
Project Creation Date: January 8, 2015
Project Category: Integration & Testing
Lifecycle State: Mature
-Primary Contact: Jack Morgan (jack.morgan@intel.com)
-Project Lead: Jack Morgan (jack.morgan@intel.com)
+Primary Contact: Julien Zhang (zhang.jun3g@zte.com.cn)
+Project Lead: Julien Zhang (zhang.jun3g@zte.com.cn)
Jira Project Name: Testbed infrastructure project
Jira Project Prefix: PHAROS
Mailing list tag: [pharos]
@@ -17,15 +17,13 @@ Aric Gardner <agardner@linuxfoundation.org>
Fatih Degirmenci <fatih.degirmenci@ericsson.com>
Guillermo Herrero <guillermo.herrero@enea.com>
Jack Morgan <jack.morgan@intel.com>
-Jose Lausuch <jalausuch@suse.com>
Julien Zhang <zhang.jun3g@zte.com.cn>
-Morgan Richomme <morgan.richomme@orange.com>
Parker Berberian <pberberian@iol.unh.edu>
Trevor Bramwell <tbramwell@linuxfoundation.org>
Trevor Cooper <trevor.cooper@intel.com>
-Wenjing Chu <wenjing.chu@huawei.com>
Link to TSC approval of the project: http://meetbot.opnfv.org/meetings/opnfv-meeting/
Link(s) to approval of additional committers:
http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-May/010567.html
+https://lists.opnfv.org/pipermail/opnfv-tsc/2018-February/004105.html
Via email, RT Ticket: 23593
diff --git a/config/installers/apex/pod_config.yaml.j2 b/config/installers/apex/pod_config.yaml.j2
index abb3ddb8..d4db9ef7 100644
--- a/config/installers/apex/pod_config.yaml.j2
+++ b/config/installers/apex/pod_config.yaml.j2
@@ -1,10 +1,18 @@
+##############################################################################
+# Copyright (c) 2018 Red Hat Inc. 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
+##############################################################################
+---
nodes:
node1:
mac_address: "{{ conf['nodes'][0]['remote_management']['mac_address'] }}"
ipmi_ip: {{ conf['nodes'][0]['remote_management']['address'] }}
- ipmi_user: {{ conf['jumphost']['remote_params']['user'] }}
- ipmi_pass: {{ conf['jumphost']['remote_params']['pass'] }}
- pm_type: "pxe_{{ conf['jumphost']['remote_params']['type'] }}tool"
+ ipmi_user: {{ conf['nodes'][0]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][0]['remote_management']['pass'] }}
+ pm_type: "pxe_{{ conf['nodes'][0]['remote_management']['type'] }}tool"
cpus: {{ conf['nodes'][0]['node']['cpus'] }}
memory: {{ conf['nodes'][0]['node']['memory'] }}
disk: 40
@@ -14,9 +22,9 @@ nodes:
node2:
mac_address: "{{ conf['nodes'][1]['remote_management']['mac_address'] }}"
ipmi_ip: {{ conf['nodes'][1]['remote_management']['address'] }}
- ipmi_user: {{ conf['jumphost']['remote_params']['user'] }}
- ipmi_pass: {{ conf['jumphost']['remote_params']['pass'] }}
- pm_type: "pxe_{{ conf['jumphost']['remote_params']['type'] }}tool"
+ ipmi_user: {{ conf['nodes'][1]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][1]['remote_management']['pass'] }}
+ pm_type: "pxe_{{ conf['nodes'][1]['remote_management']['type'] }}tool"
cpus: {{ conf['nodes'][1]['node']['cpus'] }}
memory: {{ conf['nodes'][1]['node']['memory'] }}
disk: 40
@@ -26,9 +34,9 @@ nodes:
node3:
mac_address: "{{ conf['nodes'][2]['remote_management']['mac_address'] }}"
ipmi_ip: {{ conf['nodes'][2]['remote_management']['address'] }}
- ipmi_user: {{ conf['jumphost']['remote_params']['user'] }}
- ipmi_pass: {{ conf['jumphost']['remote_params']['pass'] }}
- pm_type: "pxe_{{ conf['jumphost']['remote_params']['type'] }}tool"
+ ipmi_user: {{ conf['nodes'][2]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][2]['remote_management']['pass'] }}
+ pm_type: "pxe_{{ conf['nodes'][2]['remote_management']['type'] }}tool"
cpus: {{ conf['nodes'][2]['node']['cpus'] }}
memory: {{ conf['nodes'][2]['node']['memory'] }}
disk: 40
@@ -38,9 +46,9 @@ nodes:
node4:
mac_address: "{{ conf['nodes'][3]['remote_management']['mac_address'] }}"
ipmi_ip: {{ conf['nodes'][3]['remote_management']['address'] }}
- ipmi_user: {{ conf['jumphost']['remote_params']['user'] }}
- ipmi_pass: {{ conf['jumphost']['remote_params']['pass'] }}
- pm_type: "pxe_{{ conf['jumphost']['remote_params']['type'] }}tool"
+ ipmi_user: {{ conf['nodes'][3]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][3]['remote_management']['pass'] }}
+ pm_type: "pxe_{{ conf['nodes'][3]['remote_management']['type'] }}tool"
cpus: {{ conf['nodes'][3]['node']['cpus'] }}
memory: {{ conf['nodes'][3]['node']['memory'] }}
disk: 40
@@ -50,9 +58,9 @@ nodes:
node5:
mac_address: "{{ conf['nodes'][4]['remote_management']['mac_address'] }}"
ipmi_ip: {{ conf['nodes'][4]['remote_management']['address'] }}
- ipmi_user: {{ conf['jumphost']['remote_params']['user'] }}
- ipmi_pass: {{ conf['jumphost']['remote_params']['pass'] }}
- pm_type: "pxe_{{ conf['jumphost']['remote_params']['type'] }}tool"
+ ipmi_user: {{ conf['nodes'][4]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][4]['remote_management']['pass'] }}
+ pm_type: "pxe_{{ conf['nodes'][4]['remote_management']['type'] }}tool"
cpus: {{ conf['nodes'][4]['node']['cpus'] }}
memory: {{ conf['nodes'][4]['node']['memory'] }}
disk: 40
diff --git a/config/installers/compass4nfv/network.yml.j2 b/config/installers/compass4nfv/network.yml.j2
index 2ede0831..b84c201b 100644
--- a/config/installers/compass4nfv/network.yml.j2
+++ b/config/installers/compass4nfv/network.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -23,7 +23,7 @@ provider_net_mappings:
sys_intf_mappings:
- name: mgmt
interface: eth3
- vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit
+ vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit
type: vlan
role:
- controller
@@ -32,7 +32,7 @@ sys_intf_mappings:
- name: storage
interface: eth2
vlan_tag: 804
- type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} #not a good fit
+ type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit
role:
- controller
- compute
diff --git a/config/installers/compass4nfv/network_ocl.yml.j2 b/config/installers/compass4nfv/network_ocl.yml.j2
index 68144b62..949b491d 100644
--- a/config/installers/compass4nfv/network_ocl.yml.j2
+++ b/config/installers/compass4nfv/network_ocl.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -23,7 +23,7 @@ provider_net_mappings:
sys_intf_mappings:
- name: mgmt
interface: eth3
- vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit
+ vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit
type: vlan
role:
- controller
@@ -31,7 +31,7 @@ sys_intf_mappings:
- name: storage
interface: eth2
- vlan_tag: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }}
+ vlan_tag: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit
type: vlan
role:
- controller
diff --git a/config/installers/compass4nfv/network_onos.yml.j2 b/config/installers/compass4nfv/network_onos.yml.j2
index 017560b9..7213e77f 100644
--- a/config/installers/compass4nfv/network_onos.yml.j2
+++ b/config/installers/compass4nfv/network_onos.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -23,7 +23,7 @@ provider_net_mappings:
sys_intf_mappings:
- name: mgmt
interface: eth3
- vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit
+ vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit
type: vlan
role:
- controller
@@ -31,7 +31,7 @@ sys_intf_mappings:
- name: storage
interface: eth2
- vlan_tag: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} #not a good fit
+ vlan_tag: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit
type: vlan
role:
- controller
diff --git a/config/installers/compass4nfv/network_openo.yml.j2 b/config/installers/compass4nfv/network_openo.yml.j2
index a8dc016a..9e3c6f09 100644
--- a/config/installers/compass4nfv/network_openo.yml.j2
+++ b/config/installers/compass4nfv/network_openo.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -23,7 +23,7 @@ provider_net_mappings:
sys_intf_mappings:
- name: mgmt
interface: eth3
- vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} #not a good fit
+ vlan_tag: {{ conf['nodes'][0]['interfaces'][2]['vlan'] }} # not a good fit
type: vlan
role:
- controller
@@ -32,7 +32,7 @@ sys_intf_mappings:
- name: storage
interface: eth2
vlan_tag: 804
- type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} #not a good fit
+ type: {{ conf['nodes'][0]['interfaces'][1]['vlan'] }} # not a good fit
role:
- controller
- compute
diff --git a/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2
index 38b7e260..3e536620 100644
--- a/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2
+++ b/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -10,15 +10,15 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -31,7 +31,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -43,7 +43,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -55,7 +55,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -66,7 +66,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2 b/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2
index 88823b7a..374f42a8 100644
--- a/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2
+++ b/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -10,11 +10,11 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
deploy_options:
orchestrator:
@@ -26,7 +26,7 @@ deploy_options:
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -39,7 +39,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -51,7 +51,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -63,7 +63,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -74,7 +74,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2
index 57c6ad89..34063b36 100644
--- a/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2
+++ b/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -10,15 +10,15 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -32,7 +32,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -43,7 +43,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -54,7 +54,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -65,12 +65,12 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
- eth3: '{{ conf['nodes'][4]['interfaces'][2]['mac_address'] }}'
ipmiIp: {{ conf['nodes'][4]['remote_management']['address'] }}
- roles:
+ roles:
- compute
- ceph-osd
diff --git a/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2 b/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2
index 7b348028..249c3052 100644
--- a/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2
+++ b/config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -9,15 +9,15 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -31,7 +31,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -44,7 +44,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -57,7 +57,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -68,7 +68,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2
index 9690b1fb..884bb23a 100644
--- a/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2
+++ b/config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -10,15 +10,15 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -32,7 +32,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -45,7 +45,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -58,7 +58,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -69,7 +69,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2
index dfb4d29d..cb36a970 100644
--- a/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2
+++ b/config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -9,17 +9,17 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
odl_l3_agent: "Enable"
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -33,7 +33,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -46,7 +46,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -59,7 +59,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -70,7 +70,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2
index 042bb2ff..241cfd32 100644
--- a/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2
+++ b/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -9,15 +9,15 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -31,7 +31,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -44,7 +44,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -57,7 +57,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -68,7 +68,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2 b/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2
index 746ca361..dba5fe18 100644
--- a/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2
+++ b/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others.
+# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -9,17 +9,17 @@
---
TYPE: baremetal
FLAVOR: cluster
-POWER_TOOL: '{{ conf['jumphost']['remote_params']['type'] }}tool' #expects string ipmitool
+POWER_TOOL: '{{ conf['jumphost']['remote_management']['type'] }}tool' # expects string ipmitool
-ipmiUser: {{ conf['jumphost']['remote_params']['user'] }}
-ipmiPass: {{ conf['jumphost']['remote_params']['pass'] }}
-ipmiVer: '{{ conf['jumphost']['remote_params']['versions'][0] }}'
+ipmiUser: {{ conf['jumphost']['remote_management']['user'] }}
+ipmiPass: {{ conf['jumphost']['remote_management']['pass'] }}
+ipmiVer: '{{ conf['jumphost']['remote_management']['versions'][0] }}'
onos_sfc: "Enable"
hosts:
- name: {{ conf['nodes'][0]['name'] }}
- mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][0]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}'
@@ -33,7 +33,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][1]['name'] }}
- mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][1]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}'
@@ -46,7 +46,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][2]['name'] }}
- mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][2]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}'
@@ -59,7 +59,7 @@ hosts:
- ceph-mon
- name: {{ conf['nodes'][3]['name'] }}
- mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][3]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}'
@@ -70,7 +70,7 @@ hosts:
- ceph-osd
- name: {{ conf['nodes'][4]['name'] }}
- mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' #is this the ipmi mac address?
+ mac: '{{ conf['nodes'][4]['remote_management']['mac_address'] }}' # this is the ipmi mac address
interfaces:
- eth1: '{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}'
- eth2: '{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}'
diff --git a/config/installers/daisy/network-dpdk.yaml.j2 b/config/installers/daisy/network-dpdk.yaml.j2
deleted file mode 100644
index ccd7c8c5..00000000
--- a/config/installers/daisy/network-dpdk.yaml.j2
+++ /dev/null
@@ -1,109 +0,0 @@
-##############################################################################
-# Copyright (c) 2017 ZTE Corporation 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
-##############################################################################
-
-##############################################################################
-# Description
-# MANAGEMENT: used for management
-# STORAGE: used for storage access
-# EXTERNAL: tenant public/floating IP associated network
-# PUBLICAPI: used for horizon access, openstack API access
-# TENANT: used for tenant access, vlan and VxLan supported, default VxLan
-# HEARTBEAT: used for heartbeat, requires a dedicated interface
-##############################################################################
-
----
-
-network-config-metadata:
- title: 'Deployment Adapter for baremetal POD'
- version: '0.1'
- created: 'Nov 22 2017'
- comment: 'For Daisy initial'
-
-{%- set mapping = {'HEARTBEAT': 'admin',
- 'MANAGEMENT': 'mgmt',
- 'PUBLICAPI': 'mgmt',
- 'STORAGE': 'storage',
- 'TENANT': 'public',
- 'EXTERNAL': 'public'} -%}
-
-{%- if "idf" in conf and ("daisy" in conf["idf"] or "fuel" in conf["idf"]) -%}
- {%- if "daisy" in conf["idf"] -%}
- {%- set installer = "daisy" -%}
- {%- else -%}
- {%- set installer = "fuel" -%}
- {%- endif %}
-
-networks:
-
- {%- set nodes_num = conf['nodes'] | length -%}
- {%- set networks = {} -%}
- {%- for key in mapping -%}
- {%- set net_data = conf['net_config'][mapping[key]] -%}
- {%- set interface = net_data['interface'] -%}
- {%- set interface_name = conf.idf[installer].network.node[0].interfaces[interface] -%}
- {%- set bus_addr = conf.idf[installer].network.node[0].busaddr[interface] -%}
- {%- set vlan = net_data['vlan'] -%}
- {%- if vlan == "native" or vlan == None -%}
- {%- set vlan = "null" -%}
- {%- endif -%}
- {%- set network = net_data['network'] -%}
- {%- set ips = network.split(".") -%}
- {%- set mask = net_data['mask'] -%}
- {%- if 'ip-range' in net_data -%}
- {%- set ip_range = net_data['ip-range'] -%}
- {%- set (start, end) = ip_range.split("-") -%}
- {%- else -%}
- {%- set start = ".".join([ips[0], ips[1], ips[2], "10"]) -%}
- {%- set end = ".".join([ips[0], ips[1], ips[2], "200"]) -%}
- {%- endif -%}
- {%- set vip = start.split(".")[3] | int -%}
- {%- set vip = vip + nodes_num + 10 - (vip + nodes_num) % 10 -%}
- {%- set vip = ".".join([ips[0], ips[1], ips[2], vip | string]) -%}
-
- {%- if 'gateway' in net_data -%}
- {%- set gateway = net_data.gateway -%}
- {%- else -%}
- {%- set gateway = ".".join([ips[0], ips[1], ips[2], "1"]) -%}
- {%- endif -%}
-
- {%- set networks = networks.update({key: {'interface_name': interface_name,
- 'bus_addr': bus_addr,
- 'vlan': vlan,
- 'network': network,
- 'mask': mask,
- 'start': start,
- 'end': end,
- 'vip': vip,
- 'gateway': gateway
- }
- }) %}
-
- - cidr: '{{ network }}/{{ mask }}'
- gateway: '{{ gateway }}'
- ip_ranges:
- - 'start': '{{ start }}'
- 'end': '{{ end }}'
- vlan_id: {{ vlan }}
- name: '{{ key }}'
- {%- if key == 'EXTERNAL' %}
- network_name: 'admin_external'
- mapping: 'physnet1'
- {%- endif -%}
- {%- endfor %}
-
-interfaces:
- {%- for key in mapping %}
- - name: '{{ key }}'
- interface: '{{ networks[key].interface_name }}'
- {%- endfor %}
-
-internal_vip: '{{ networks['MANAGEMENT'].vip }}'
-public_vip: '{{ networks['PUBLICAPI'].vip }}'
-
-{%- endif %}
diff --git a/config/installers/daisy/network.yaml.j2 b/config/installers/daisy/network.yaml.j2
index 914df461..b9f586dc 100644
--- a/config/installers/daisy/network.yaml.j2
+++ b/config/installers/daisy/network.yaml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 ZTE Corporation and others.
+# Copyright (c) 2018 ZTE Corporation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -44,7 +44,7 @@ networks:
{%- set nodes_num = conf['nodes'] | length -%}
{%- set networks = {} -%}
{%- for key in mapping -%}
- {%- set net_data = conf['net_config'][mapping[key]] -%}
+ {%- set net_data = conf.idf.net_config[mapping[key]] -%}
{%- set interface = net_data['interface'] -%}
{%- set interface_name = conf.idf[installer].network.node[0].interfaces[interface] -%}
{%- set bus_addr = conf.idf[installer].network.node[0].busaddr[interface] -%}
@@ -72,17 +72,17 @@ networks:
{%- set gateway = ".".join([ips[0], ips[1], ips[2], "1"]) -%}
{%- endif -%}
- {%- set networks = networks.update({key: {'interface_name': interface_name,
- 'bus_addr': bus_addr,
- 'vlan': vlan,
- 'network': network,
- 'mask': mask,
- 'start': start,
- 'end': end,
- 'vip': vip,
- 'gateway': gateway
- }
- }) %}
+ {%- do networks.update({key: {'interface_name': interface_name,
+ 'bus_addr': bus_addr,
+ 'vlan': vlan,
+ 'network': network,
+ 'mask': mask,
+ 'start': start,
+ 'end': end,
+ 'vip': vip,
+ 'gateway': gateway
+ }
+ }) %}
- cidr: '{{ network }}/{{ mask }}'
gateway: '{{ gateway }}'
diff --git a/config/installers/daisy/pod_config.yaml.j2 b/config/installers/daisy/pod_config.yaml.j2
index 776d2ecf..b7e621c4 100644
--- a/config/installers/daisy/pod_config.yaml.j2
+++ b/config/installers/daisy/pod_config.yaml.j2
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 ZTE Corporation and others.
+# Copyright (c) 2018 ZTE Corporation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -9,8 +9,10 @@
---
-adapter: {{ conf['jumphost']['remote_params']['type'] }}
+adapter: {{ conf['jumphost']['remote_management']['type'] }}
hosts:
+ {%- set nodes_num = conf['nodes'] | length -%}
+ {%- if nodes_num == 5 %}
- name: 'controller01'
roles:
- 'CONTROLLER_LB'
@@ -51,12 +53,39 @@ hosts:
ipmi_pass: {{ conf['nodes'][4]['remote_management']['pass'] }}
mac_addresses:{% for nic in conf['nodes'][4]['interfaces'] %}
- {{ nic['mac_address'] }}{% endfor %}
+ {%- endif %}
+ {%- if nodes_num == 3 %}
+ - name: 'controller01'
+ roles:
+ - 'CONTROLLER_LB'
+ ipmi_ip: {{ conf['nodes'][0]['remote_management']['address'] }}
+ ipmi_user: {{ conf['nodes'][0]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][0]['remote_management']['pass'] }}
+ mac_addresses:{% for nic in conf['nodes'][0]['interfaces'] %}
+ - {{ nic['mac_address'] }}{% endfor %}
+ - name: 'computer01'
+ roles:
+ - 'COMPUTER'
+ ipmi_ip: {{ conf['nodes'][1]['remote_management']['address'] }}
+ ipmi_user: {{ conf['nodes'][1]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][1]['remote_management']['pass'] }}
+ mac_addresses:{% for nic in conf['nodes'][1]['interfaces'] %}
+ - {{ nic['mac_address'] }}{% endfor %}
+ - name: 'computer02'
+ roles:
+ - 'COMPUTER'
+ ipmi_ip: {{ conf['nodes'][2]['remote_management']['address'] }}
+ ipmi_user: {{ conf['nodes'][2]['remote_management']['user'] }}
+ ipmi_pass: {{ conf['nodes'][2]['remote_management']['pass'] }}
+ mac_addresses:{% for nic in conf['nodes'][2]['interfaces'] %}
+ - {{ nic['mac_address'] }}{% endfor %}
+ {%- endif %}
disks:
daisy: 50
daisy_passwd: 'r00tme'
{% if 'fixed_ips' in conf['jumphost'] -%}
daisy_gateway: {{ conf['jumphost']['fixed_ips']['admin'] }}
{%- else -%}
-daisy_gateway: {{ conf['jumphost']['interfaces'][0]['address'][0] }}
+daisy_gateway: {{ conf['jumphost']['interfaces'][0]['address'] }}
{%- endif %}
ceph_disk_name: '/dev/sdb'
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
new file mode 100644
index 00000000..a12159ea
--- /dev/null
+++ b/config/installers/fuel/net_map.j2
@@ -0,0 +1,221 @@
+##############################################################################
+# 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
+##############################################################################
+{%- 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,
+ so we default to controller = first node in PDF, compute = 4th #}
+
+{#- ctl maps to MCP kvm on baremetal, ctl + gtw etc. on virtual #}
+{%- set ctl01 = {'idx': 0} %}
+{%- set cmp001 = {'idx': 3} %}
+
+{#- net_config v1.0 only supports global network-to-interface-index mapping,
+ which is incovenient for PODs with different computes (e.g. less NICs).
+ 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 #}
+{%- set idx_mcp = 0 %} {#- mcpcontrol network is hard set on first 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 = 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] %}
+ {%- set node = conf.idf.fuel.network.node[role.idx] %}
+ {%- do role.update({
+ 'nic_mcp': node.interfaces[idx_mcp],
+ 'nic_admin': node.interfaces[idx_admin],
+ 'nic_mgmt': node.interfaces[idx_mgmt],
+ 'nic_private': node.interfaces[idx_private],
+ 'nic_public': node.interfaces[idx_public],
+ '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 06836e9f..ad406891 100644
--- a/config/installers/fuel/pod_config.yml.j2
+++ b/config/installers/fuel/pod_config.yml.j2
@@ -1,136 +1,46 @@
-{%- if conf.idf.fuel is defined -%}
- {%- if conf.net_config is defined -%}
- {%- set net_admin = conf.net_config.admin.network -%}
- {%- set net_mgmt = conf.net_config.mgmt.network -%}
- {%- set net_private = conf.net_config.private.network -%}
- {%- set net_public = conf.net_config.public.network -%}
- {%- set vlan_mgmt = conf.net_config.mgmt.vlan -%}
- {%- set vlan_private = conf.net_config.private.vlan -%}
- {%- if conf.net_config.public.dns is defined -%}
- {%- set dns_public = conf.net_config.public.dns -%}
- {%- endif -%}
- {%- set pxe_interface = conf.net_config.admin.interface -%}
- {%- if conf.net_config.public.gateway is defined -%}
- {%- set net_public_gw = conf.net_config.public.gateway -%}
- {%- endif -%}
- {%- else -%}
- {%- set net_admin = '192.168.11.0' -%}
- {%- set net_mgmt = '172.16.10.0' -%}
- {%- set net_private = '10.1.0.0' -%}
- {%- set net_public = '172.30.10.0' -%}
- {%- set vlan_mgmt = '300' -%}
- {%- set vlan_private = '1000' -%}
- {%- set pxe_interface = 0 -%}
- {%- endif -%}
-
- {%- if dns_public is not defined -%}
- {%- set dns_public = [ '8.8.8.8', '8.8.4.4' ] -%}
- {%- endif -%}
- {%- if net_public_gw is not defined -%}
- {%- set net_public_gw = net_public | ipaddr_index('1') -%}
- {%- endif -%}
+##############################################################################
+# 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
+##############################################################################
+{%- import 'net_map.j2' as nm with context %}
---
+{%- if nm.cluster.has_baremetal_nodes %}
parameters:
- _param:
-
- 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_config_address: {{ net_mgmt | ipaddr_index(100) }}
- opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index(3) }}
- opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index(3) }}
- opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index(140) }}
- opnfv_infra_kvm_node01_address: {{ net_mgmt | ipaddr_index(141) }}
- opnfv_infra_kvm_node02_address: {{ net_mgmt | ipaddr_index(142) }}
- opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index(143) }}
-
- opnfv_infra_maas_pxe_network_address: {{ net_admin }}
- opnfv_infra_maas_pxe_address: {{ net_admin | ipaddr_index(3) }}
- opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index(5) }}
- opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index(250) }}
-
- opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index(124) }}
- opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index(125) }}
- opnfv_openstack_gateway_node03_address: {{ net_mgmt | ipaddr_index(126) }}
- opnfv_openstack_gateway_node01_tenant_address: {{ net_private | ipaddr_index(6) }}
- opnfv_openstack_gateway_node02_tenant_address: {{ net_private | ipaddr_index(7) }}
- opnfv_openstack_gateway_node03_tenant_address: {{ net_private | ipaddr_index(9) }}
- opnfv_openstack_proxy_address: {{ net_public | ipaddr_index(103) }}
- opnfv_openstack_proxy_node01_address: {{ net_public | ipaddr_index(104) }}
- opnfv_openstack_proxy_node02_address: {{ net_public | ipaddr_index(105) }}
- opnfv_openstack_proxy_node01_control_address: {{ net_mgmt | ipaddr_index(104) }}
- opnfv_openstack_proxy_node02_control_address: {{ net_mgmt | ipaddr_index(105) }}
- opnfv_openstack_control_address: {{ net_mgmt | ipaddr_index(10) }}
- opnfv_openstack_control_node01_address: {{ net_mgmt | ipaddr_index(11) }}
- opnfv_openstack_control_node02_address: {{ net_mgmt | ipaddr_index(12) }}
- opnfv_openstack_control_node03_address: {{ net_mgmt | ipaddr_index(13) }}
- opnfv_openstack_database_address: {{ net_mgmt | ipaddr_index(50) }}
- opnfv_openstack_database_node01_address: {{ net_mgmt | ipaddr_index(51) }}
- opnfv_openstack_database_node02_address: {{ net_mgmt | ipaddr_index(52) }}
- opnfv_openstack_database_node03_address: {{ net_mgmt | ipaddr_index(53) }}
- opnfv_openstack_message_queue_address: {{ net_mgmt | ipaddr_index(40) }}
- opnfv_openstack_message_queue_node01_address: {{ net_mgmt | ipaddr_index(41) }}
- opnfv_openstack_message_queue_node02_address: {{ net_mgmt | ipaddr_index(42) }}
- opnfv_openstack_message_queue_node03_address: {{ net_mgmt | ipaddr_index(43) }}
- opnfv_openstack_telemetry_address: {{ net_mgmt | ipaddr_index(75) }}
- opnfv_openstack_telemetry_node01_address: {{ net_mgmt | ipaddr_index(76) }}
- opnfv_openstack_telemetry_node02_address: {{ net_mgmt | ipaddr_index(77) }}
- opnfv_openstack_telemetry_node03_address: {{ net_mgmt | ipaddr_index(78) }}
- opnfv_openstack_compute_node01_single_address: {{ net_mgmt | ipaddr_index(101) }}
- opnfv_openstack_compute_node02_single_address: {{ net_mgmt | ipaddr_index(102) }}
- opnfv_openstack_compute_node03_single_address: {{ net_mgmt | ipaddr_index(103) }}
- opnfv_openstack_compute_node01_control_address: {{ net_mgmt | ipaddr_index(101) }}
- opnfv_openstack_compute_node02_control_address: {{ net_mgmt | ipaddr_index(102) }}
- opnfv_openstack_compute_node03_control_address: {{ net_mgmt | ipaddr_index(103) }}
- opnfv_openstack_compute_node01_tenant_address: {{ net_private | ipaddr_index(101) }}
- opnfv_openstack_compute_node02_tenant_address: {{ net_private | ipaddr_index(102) }}
- opnfv_openstack_compute_node03_tenant_address: {{ net_private | ipaddr_index(103) }}
- opnfv_openstack_compute_node01_external_address: {{ net_public | ipaddr_index(101) }}
- opnfv_openstack_compute_node02_external_address: {{ net_public | ipaddr_index(102) }}
-
- opnfv_opendaylight_server_node01_single_address: {{ net_mgmt | ipaddr_index(111) }}
-
- opnfv_net_public_gw: {{ net_public_gw }}
- opnfv_name_servers: {{ dns_public }}
- opnfv_dns_server01: '{{ dns_public[0] }}'
-
- opnfv_net_mgmt_vlan: {{ vlan_mgmt }}
- opnfv_net_tenant_vlan: {{ vlan_private }}
-
- opnfv_maas_node01_architecture: '{{ conf.nodes.0.node.arch | dpkg_arch }}/generic'
- opnfv_maas_node01_power_address: {{ conf.nodes.0.remote_management.address.rsplit('/')[0] }}
- opnfv_maas_node01_power_type: {{ conf.nodes.0.remote_management.type }}
- opnfv_maas_node01_power_user: {{ conf.nodes.0.remote_management.user }}
- opnfv_maas_node01_power_password: {{ conf.nodes.0.remote_management.pass }}
- opnfv_maas_node01_interface_mac: '{{ conf.nodes.0.interfaces[pxe_interface].mac_address }}'
-
- opnfv_maas_node02_architecture: '{{ conf.nodes.1.node.arch | dpkg_arch }}/generic'
- opnfv_maas_node02_power_address: {{ conf.nodes.1.remote_management.address.rsplit('/')[0] }}
- opnfv_maas_node02_power_type: {{ conf.nodes.1.remote_management.type }}
- opnfv_maas_node02_power_user: {{ conf.nodes.1.remote_management.user }}
- opnfv_maas_node02_power_password: {{ conf.nodes.1.remote_management.pass }}
- opnfv_maas_node02_interface_mac: '{{ conf.nodes.1.interfaces[pxe_interface].mac_address }}'
-
- opnfv_maas_node03_architecture: '{{ conf.nodes.2.node.arch | dpkg_arch }}/generic'
- opnfv_maas_node03_power_address: {{ conf.nodes.2.remote_management.address.rsplit('/')[0] }}
- opnfv_maas_node03_power_type: {{ conf.nodes.2.remote_management.type }}
- opnfv_maas_node03_power_user: {{ conf.nodes.2.remote_management.user }}
- opnfv_maas_node03_power_password: {{ conf.nodes.2.remote_management.pass }}
- opnfv_maas_node03_interface_mac: '{{ conf.nodes.2.interfaces[pxe_interface].mac_address }}'
-
- opnfv_maas_node04_architecture: '{{ conf.nodes.3.node.arch | dpkg_arch }}/generic'
- opnfv_maas_node04_power_address: {{ conf.nodes.3.remote_management.address.rsplit('/')[0] }}
- opnfv_maas_node04_power_type: {{ conf.nodes.3.remote_management.type }}
- opnfv_maas_node04_power_user: {{ conf.nodes.3.remote_management.user }}
- opnfv_maas_node04_power_password: {{ conf.nodes.3.remote_management.pass }}
- opnfv_maas_node04_interface_mac: '{{ conf.nodes.3.interfaces[pxe_interface].mac_address }}'
-
- opnfv_maas_node05_architecture: '{{ conf.nodes.4.node.arch | dpkg_arch }}/generic'
- opnfv_maas_node05_power_address: {{ conf.nodes.4.remote_management.address.rsplit('/')[0] }}
- opnfv_maas_node05_power_type: {{ conf.nodes.4.remote_management.type }}
- opnfv_maas_node05_power_user: {{ conf.nodes.4.remote_management.user }}
- opnfv_maas_node05_power_password: {{ conf.nodes.4.remote_management.pass }}
- opnfv_maas_node05_interface_mac: '{{ conf.nodes.4.interfaces[pxe_interface].mac_address }}'
-{%- endif -%}
+ maas:
+ region:
+ machines:
+ {%- set ctl_roles = 3 if 'virtual' not in conf else conf.virtual.nodes.control | length %}
+ {%- for node in conf.nodes %}
+ {%- if (node.node.type == 'baremetal' and (
+ loop.index > nm.cmp001.idx or loop.index0 < ctl_roles)) %}
+ {%- if loop.index > nm.cmp001.idx %}
+ cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}:
+ {%- elif 'virtual' not in conf %} {#- strictly for Pharos verify job #}
+ kvm{{ '%02d' | format(loop.index) }}:
+ {%- else %}
+ {{ conf.virtual.nodes.control[loop.index0] }}:
+ {%- endif %}
+ interface:
+ mac: {{ node.interfaces[nm.idx_admin].mac_address }}
+ power_parameters:
+ power_address: {{ node.remote_management.address.rsplit('/')[0] }}
+ power_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 loop.index > nm.cmp001.idx %}
+ disk_layout:
+ type: lvm
+ root_device: sda
+ volume_group: vgroot
+ volume_name: lvroot
+ volume_size: 100
+ {%- endif %}
+ {%- endif %}
+ {%- endfor %}
+{%- endif %}
diff --git a/config/installers/joid/pod_config.yaml.j2 b/config/installers/joid/pod_config.yaml.j2
index 4bb49d56..1ba966d9 100644
--- a/config/installers/joid/pod_config.yaml.j2
+++ b/config/installers/joid/pod_config.yaml.j2
@@ -1,167 +1,172 @@
+##############################################################################
+# Copyright (c) 2018 Canonical Ltd. 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
+##############################################################################
+{%- set net_config = conf.idf.net_config %}
---
lab:
location: intel
racks:
- - rack: pod5
+ - rack: pod18
nodes:
- - name: {{ conf['nodes'][0]['name'] }}
- architecture: {{ conf['nodes'][0]['node']['arch'] }}
+ - name: {{ conf.nodes[0].name }}
+ architecture: {{ conf.nodes[0].node.arch }}
roles: [network, control]
nics:
- - ifname: {{ conf['nodes'][0]['interfaces'][0]['name'] }}
+ - ifname: {{ conf.nodes[0].interfaces[1].name }}{% if conf.nodes[0].interfaces[1].vlan | int > 0 %}.{{conf.nodes[0].interfaces[1].vlan}}{% endif %}
+ spaces: [admin]
+ mac: ["{{ conf.nodes[0].interfaces[1].mac_address }}"]
+ - ifname: {{ conf.nodes[0].interfaces[2].name }}{% if conf.nodes[0].interfaces[2].vlan | int > 0 %}.{{conf.nodes[0].interfaces[2].vlan}}{% endif %}
spaces: [data]
- mac: ["{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][0]['interfaces'][0]['name'] }}.{{ conf['nodes'][0]['interfaces'][0]['vlan'] }}
+ mac: ["{{ conf.nodes[0].interfaces[2].mac_address }}"]
+ - ifname: {{ conf.nodes[0].interfaces[0].name }}{% if conf.nodes[0].interfaces[0].vlan | int > 0 %}.{{conf.nodes[0].interfaces[0].vlan}}{% endif %}
spaces: [floating]
- mac: ["{{ conf['nodes'][0]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][0]['interfaces'][1]['name'] }}.{{ conf['nodes'][0]['interfaces'][1]['vlan'] }}
+ mac: ["{{ conf.nodes[0].interfaces[0].mac_address }}"]
+ - ifname: {{ conf.nodes[0].interfaces[3].name }}{% if conf.nodes[0].interfaces[3].vlan | int > 0 %}.{{conf.nodes[0].interfaces[3].vlan}}{% endif %}
spaces: [public]
- mac: ["{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][0]['interfaces'][1]['name'] }}
+ mac: ["{{ conf.nodes[0].interfaces[3].mac_address }}"]
+ - ifname: {{ conf.nodes[0].interfaces[3].name }}
spaces: [storage]
- mac: ["{{ conf['nodes'][0]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][0]['interfaces'][2]['name'] }}
- spaces: [admin]
- mac: ["{{ conf['nodes'][0]['interfaces'][2]['mac_address'] }}"]
+ mac: ["{{ conf.nodes[0].interfaces[3].mac_address }}"]
power:
- type: {{ conf['jumphost']['remote_params']['type'] }}
- address: {{ conf['nodes'][0]['remote_management']['address'] }}
- user: {{ conf['jumphost']['remote_params']['user'] }}
- pass: {{ conf['jumphost']['remote_params']['pass'] }}
- - name: {{ conf['nodes'][1]['name'] }}
- architecture: {{ conf['nodes'][1]['node']['arch'] }}
+ type: {{ conf.nodes[0].remote_management.type }}
+ address: {{ conf.nodes[0].remote_management.address }}
+ user: {{ conf.nodes[0].remote_management.user }}
+ pass: {{ conf.nodes[0].remote_management.pass }}
+ - name: {{ conf.nodes[1].name }}
+ architecture: {{ conf.nodes[1].node.arch }}
roles: [compute, control, storage]
nics:
- - ifname: {{ conf['nodes'][1]['interfaces'][0]['name'] }}
+ - ifname: {{ conf.nodes[1].interfaces[1].name }}{% if conf.nodes[1].interfaces[1].vlan | int > 0 %}.{{conf.nodes[1].interfaces[1].vlan}}{% endif %}
+ spaces: [admin]
+ mac: ["{{ conf.nodes[1].interfaces[1].mac_address }}"]
+ - ifname: {{ conf.nodes[1].interfaces[2].name }}{% if conf.nodes[1].interfaces[2].vlan | int > 0 %}.{{conf.nodes[1].interfaces[2].vlan}}{% endif %}
spaces: [data]
- mac: ["{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][1]['interfaces'][0]['name'] }}.{{ conf['nodes'][1]['interfaces'][0]['vlan'] }}
+ mac: ["{{ conf.nodes[1].interfaces[2].mac_address }}"]
+ - ifname: {{ conf.nodes[1].interfaces[0].name }}{% if conf.nodes[1].interfaces[0].vlan | int > 0 %}.{{conf.nodes[1].interfaces[0].vlan}}{% endif %}
spaces: [floating]
- mac: ["{{ conf['nodes'][1]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][1]['interfaces'][1]['name'] }}.{{ conf['nodes'][1]['interfaces'][1]['vlan'] }}
+ mac: ["{{ conf.nodes[1].interfaces[0].mac_address }}"]
+ - ifname: {{ conf.nodes[1].interfaces[3].name }}{% if conf.nodes[1].interfaces[3].vlan | int > 0 %}.{{conf.nodes[1].interfaces[3].vlan}}{% endif %}
spaces: [public]
- mac: ["{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][1]['interfaces'][1]['name'] }}
+ mac: ["{{ conf.nodes[1].interfaces[3].mac_address }}"]
+ - ifname: {{ conf.nodes[1].interfaces[3].name }}
spaces: [storage]
- mac: ["{{ conf['nodes'][1]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][1]['interfaces'][2]['name'] }}
- spaces: [admin]
- mac: ["{{ conf['nodes'][1]['interfaces'][2]['mac_address'] }}"]
+ mac: ["{{ conf.nodes[1].interfaces[3].mac_address }}"]
power:
- type: {{ conf['jumphost']['remote_params']['type'] }}
- address: {{ conf['nodes'][1]['remote_management']['address'] }}
- user: {{ conf['jumphost']['remote_params']['user'] }}
- pass: {{ conf['jumphost']['remote_params']['pass'] }}
- - name: {{ conf['nodes'][2]['name'] }}
- architecture: {{ conf['nodes'][2]['node']['arch'] }}
+ type: {{ conf.nodes[1].remote_management.type }}
+ address: {{ conf.nodes[1].remote_management.address }}
+ user: {{ conf.nodes[1].remote_management.user }}
+ pass: {{ conf.nodes[1].remote_management.pass }}
+ - name: {{ conf.nodes[2].name }}
+ architecture: {{ conf.nodes[2].node.arch }}
roles: [compute, control, storage]
nics:
- - ifname: {{ conf['nodes'][2]['interfaces'][0]['name'] }}
- spaces: [data]
- mac: ["{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][2]['interfaces'][0]['name'] }}.{{ conf['nodes'][2]['interfaces'][0]['vlan'] }}
+ - ifname: {{ conf.nodes[2].interfaces[1].name }}{% if conf.nodes[2].interfaces[1].vlan | int > 0 %}.{{conf.nodes[2].interfaces[1].vlan}}{% endif %}
+ spaces: [admin]
+ mac: ["{{ conf.nodes[2].interfaces[1].mac_address }}"]
+ - ifname: {{ conf.nodes[2].interfaces[2].name }}{% if conf.nodes[2].interfaces[2].vlan | int > 0 %}.{{conf.nodes[2].interfaces[2].vlan}}{% endif %}
spaces: [floating]
- mac: ["{{ conf['nodes'][2]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][2]['interfaces'][1]['name'] }}.{{ conf['nodes'][2]['interfaces'][1]['vlan'] }}
+ mac: ["{{ conf.nodes[2].interfaces[2].mac_address }}"]
+ - ifname: {{ conf.nodes[2].interfaces[0].name }}{% if conf.nodes[2].interfaces[0].vlan | int > 0 %}.{{conf.nodes[2].interfaces[0].vlan}}{% endif %}
spaces: [public]
- mac: ["{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][2]['interfaces'][1]['name'] }}
+ mac: ["{{ conf.nodes[2].interfaces[0].mac_address }}"]
+ - ifname: {{ conf.nodes[2].interfaces[3].name }}{% if conf.nodes[2].interfaces[3].vlan | int > 0 %}.{{conf.nodes[2].interfaces[3].vlan}}{% endif %}
+ spaces: [storage]
+ mac: ["{{ conf.nodes[2].interfaces[3].mac_address }}"]
+ - ifname: {{ conf.nodes[2].interfaces[3].name }}
spaces: [storage]
- mac: ["{{ conf['nodes'][2]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][2]['interfaces'][2]['name'] }}
+ mac: ["{{ conf.nodes[2].interfaces[3].mac_address }}"]
power:
- type: {{ conf['jumphost']['remote_params']['type'] }}
- address: {{ conf['nodes'][2]['remote_management']['address'] }}
- user: {{ conf['jumphost']['remote_params']['user'] }}
- pass: {{ conf['jumphost']['remote_params']['pass'] }}
- - name: {{ conf['nodes'][3]['name'] }}
- architecture: {{ conf['nodes'][3]['node']['arch'] }}
+ type: {{ conf.nodes[2].remote_management.type }}
+ address: {{ conf.nodes[2].remote_management.address }}
+ user: {{ conf.nodes[2].remote_management.user }}
+ pass: {{ conf.nodes[2].remote_management.pass }}
+ - name: {{ conf.nodes[3].name }}
+ architecture: {{ conf.nodes[3].node.arch }}
roles: [compute, storage]
nics:
- - ifname: {{ conf['nodes'][3]['interfaces'][0]['name'] }}
+ - ifname: {{ conf.nodes[3].interfaces[1].name }}{% if conf.nodes[3].interfaces[1].vlan | int > 0 %}.{{conf.nodes[3].interfaces[1].vlan}}{% endif %}
+ spaces: [admin]
+ mac: ["{{ conf.nodes[3].interfaces[1].mac_address }}"]
+ - ifname: {{ conf.nodes[3].interfaces[2].name }}{% if conf.nodes[3].interfaces[2].vlan | int > 0 %}.{{conf.nodes[3].interfaces[2].vlan}}{% endif %}
spaces: [data]
- mac: ["{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][3]['interfaces'][0]['name'] }}.{{ conf['nodes'][3]['interfaces'][0]['vlan'] }}
+ mac: ["{{ conf.nodes[3].interfaces[2].mac_address }}"]
+ - ifname: {{ conf.nodes[3].interfaces[0].name }}{% if conf.nodes[3].interfaces[0].vlan | int > 0 %}.{{conf.nodes[3].interfaces[0].vlan}}{% endif %}
spaces: [floating]
- mac: ["{{ conf['nodes'][3]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][3]['interfaces'][1]['name'] }}.{{ conf['nodes'][3]['interfaces'][1]['vlan'] }}
+ mac: ["{{ conf.nodes[3].interfaces[0].mac_address }}"]
+ - ifname: {{ conf.nodes[3].interfaces[3].name }}{% if conf.nodes[3].interfaces[3].vlan | int > 0 %}.{{conf.nodes[3].interfaces[3].vlan}}{% endif %}
spaces: [public]
- mac: ["{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][3]['interfaces'][1]['name'] }}
+ mac: ["{{ conf.nodes[3].interfaces[3].mac_address }}"]
+ - ifname: {{ conf.nodes[3].interfaces[3].name }}
spaces: [storage]
- mac: ["{{ conf['nodes'][3]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][3]['interfaces'][2]['name'] }}
+ mac: ["{{ conf.nodes[3].interfaces[3].mac_address }}"]
power:
- type: ipmi
- address: {{ conf['nodes'][3]['remote_management']['address'] }}
- user: {{ conf['jumphost']['remote_params']['user'] }}
- pass: {{ conf['jumphost']['remote_params']['pass'] }}
- - name: {{ conf['nodes'][4]['name'] }}
- architecture: {{ conf['nodes'][4]['node']['arch'] }}
+ type: {{ conf.nodes[3].remote_management.type }}
+ address: {{ conf.nodes[3].remote_management.address }}
+ user: {{ conf.nodes[3].remote_management.user }}
+ pass: {{ conf.nodes[3].remote_management.pass }}
+ - name: {{ conf.nodes[4].name }}
+ architecture: {{ conf.nodes[4].node.arch }}
roles: [compute, storage]
nics:
- - ifname: {{ conf['nodes'][4]['interfaces'][0]['name'] }}
+ - ifname: {{ conf.nodes[4].interfaces[1].name }}{% if conf.nodes[4].interfaces[1].vlan | int > 0 %}.{{conf.nodes[4].interfaces[1].vlan}}{% endif %}
+ spaces: [admin]
+ mac: ["{{ conf.nodes[4].interfaces[1].mac_address }}"]
+ - ifname: {{ conf.nodes[4].interfaces[2].name }}{% if conf.nodes[4].interfaces[2].vlan | int > 0 %}.{{conf.nodes[4].interfaces[2].vlan}}{% endif %}
spaces: [data]
- mac: ["{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][4]['interfaces'][0]['name'] }}.{{ conf['nodes'][4]['interfaces'][0]['vlan'] }}
+ mac: ["{{ conf.nodes[4].interfaces[2].mac_address }}"]
+ - ifname: {{ conf.nodes[4].interfaces[0].name }}{% if conf.nodes[4].interfaces[0].vlan | int > 0 %}.{{conf.nodes[4].interfaces[0].vlan}}{% endif %}
spaces: [floating]
- mac: ["{{ conf['nodes'][4]['interfaces'][0]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][4]['interfaces'][1]['name'] }}.{{ conf['nodes'][4]['interfaces'][1]['vlan'] }}
+ mac: ["{{ conf.nodes[4].interfaces[0].mac_address }}"]
+ - ifname: {{ conf.nodes[4].interfaces[3].name }}{% if conf.nodes[4].interfaces[3].vlan | int > 0 %}.{{conf.nodes[4].interfaces[3].vlan}}{% endif %}
spaces: [public]
- mac: ["{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][4]['interfaces'][1]['name'] }}
+ mac: ["{{ conf.nodes[4].interfaces[3].mac_address }}"]
+ - ifname: {{ conf.nodes[1].interfaces[2].name }}
spaces: [storage]
- mac: ["{{ conf['nodes'][4]['interfaces'][1]['mac_address'] }}"]
- - ifname: {{ conf['nodes'][1]['interfaces'][2]['name'] }}
+ mac: ["{{ conf.nodes[4].interfaces[3].mac_address }}"]
power:
- type: {{ conf['jumphost']['remote_params']['type'] }}
- address: {{ conf['nodes'][4]['remote_management']['address'] }}
- user: {{ conf['jumphost']['remote_params']['user'] }}
- pass: {{ conf['jumphost']['remote_params']['pass'] }}
+ type: {{ conf.nodes[4].remote_management.type }}
+ address: {{ conf.nodes[4].remote_management.address }}
+ user: {{ conf.nodes[4].remote_management.user }}
+ pass: {{ conf.nodes[4].remote_management.pass }}
floating-ip-range: 10.5.15.6,10.5.15.250,10.5.15.1,10.5.15.0/24
- ext-port: "ens785f0.505"
- dns: 8.8.8.8
+ ext-port: "nic1"
+ dns: {{ net_config.public.dns[0] }}
osdomainname:
-opnfv:
- release: c
- distro: trusty
- type: nonha
- openstack: liberty
- sdncontroller:
- - type: nosdn
- storage:
- - type: ceph
- disk: /dev/sdb
- feature: odl_l2
- spaces:
- - type: admin
- bridge: brAdm
- cidr: 10.5.1.0/24
- gateway: 10.5.1.1
- vlan:
- - type: data
- bridge: brData
- cidr: 10.5.12.0/24
- gateway:
- vlan:
- - type: storage
- bridge: brStor
- cidr: 10.5.13.0/24
- gateway:
- vlan:
- - type: public
- bridge: brMgmt
- cidr: 10.5.14.0/24
- gateway:
- vlan: 504
- - type: floating
- bridge: brPublic
- cidr: 10.5.15.0/24
- gateway:
- vlan: 505
- - type: external
- bridge: brExt
- cidr:
- gateway:
- ipaddress: 10.2.117.92
- vlan:
+ opnfv:
+ release: f
+ distro: xenial
+ type: noha
+ openstack: pike
+ sdncontroller:
+ - type: nosdn
+ storage:
+ - type: ceph
+ disk: /dev/sdb
+ feature: odl_l2
+ spaces:
+ - type: admin # admin
+ bridge: {{ net_config.admin.bridge }} # admin bridge
+ cidr: {{ net_config.admin.network }}/{{ net_config.admin.mask }}
+ gateway: {{ net_config.admin.gateway }} # admin gateway
+ vlan:
+ - type: data # mgmt
+ cidr: {{ net_config.mgmt.network }}/{{ net_config.mgmt.mask }}
+ gateway:
+ vlan:
+ - type: storage # storage
+ cidr: {{ net_config.storage.network }}/{{ net_config.storage.mask }}
+ gateway:
+ vlan:
+ - type: floating # private
+ bridge: {{ net_config.private.bridge }} # private bridge
+ cidr: {{ net_config.private.network }}/{{ net_config.private.mask }}
+ gateway:
+ vlan:
+ - type: public # public
+ cidr: {{ net_config.public.network }}/{{ net_config.public.mask }}
+ gateway: {{ net_config.public.gateway }}
+ vlan: {% if net_config.public.vlan | int > 0 %}{{ net_config.public.vlan }}{% endif %} # public vlan
diff --git a/config/pdf/idf-pod1.schema.yaml b/config/pdf/idf-pod1.schema.yaml
new file mode 100644
index 00000000..a1108a00
--- /dev/null
+++ b/config/pdf/idf-pod1.schema.yaml
@@ -0,0 +1,229 @@
+##############################################################################
+# 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
+##############################################################################
+---
+$schema: 'http://json-schema.org/schema#'
+$id: 'https://github.com/opnfv/pharos/blob/master/config/pdf/pod1.yaml'
+
+definitions:
+ net_config:
+ v0.1:
+ # NOTE: I hope this is going away soon, so I won't model it yet
+ type: 'object'
+ compass:
+ v0.1:
+ type: 'object'
+ # NOTE: To be properly modeled by Compass4NFV maintainers
+ daisy:
+ v0.1:
+ type: 'object'
+ # NOTE: To be properly modeled by Daisy maintainers
+ fuel:
+ v0.1:
+ type: 'object'
+ properties:
+ jumphost:
+ type: 'object'
+ properties:
+ bridges:
+ type: 'object'
+ properties:
+ admin:
+ type: ['string', 'null']
+ mgmt:
+ type: ['string', 'null']
+ private:
+ type: ['string', 'null']
+ public:
+ type: ['string', 'null']
+ required: ['admin', 'mgmt', 'private', 'public']
+ additionalProperties: false
+ trunks:
+ type: 'object'
+ properties:
+ mgmt:
+ type: 'boolean'
+ required: ['mgmt']
+ additionalProperties: false
+ required: ['bridges']
+ additionalProperties: false
+ maas:
+ type: 'object'
+ properties:
+ timeout_comissioning:
+ type: 'number'
+ timeout_deploying:
+ type: 'number'
+ required: ['timeout_comissioning', 'timeout_deploying']
+ additionalProperties: false
+ network:
+ type: 'object'
+ properties:
+ ntp_strata_host1:
+ type: 'string'
+ ntp_strata_host2:
+ type: 'string'
+ node:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ interfaces:
+ type: 'array'
+ items:
+ type: ['string', 'null']
+ busaddr:
+ type: 'array'
+ items:
+ type: ['string', 'null']
+ required: ['interfaces', 'busaddr']
+ additionalProperties: false
+ required: ['node']
+ additionalProperties: false
+ reclass: # Optional
+ type: 'object'
+ properties:
+ node:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ compute_params:
+ type: 'object'
+ properties:
+ common: # Optional
+ type: 'object'
+ properties: &compute_params_common_properties
+ nova_cpu_pinning: # Optional
+ type: 'string'
+ compute_hugepages_size:
+ type: 'string'
+ enum: ['2M', '1G']
+ compute_hugepages_count:
+ type: 'number'
+ compute_hugepages_mount:
+ type: 'string'
+ compute_kernel_isolcpu: # Optional
+ type: 'string'
+ compute_ovs_pmd_cpu_mask: # Optional
+ type: ['string', 'number']
+ compute_ovs_memory_channels: # Optional
+ type: ['string', 'number']
+ required: ['compute_hugepages_size', 'compute_hugepages_count',
+ 'compute_hugepages_mount']
+ additionalProperties: false
+ dpdk: # Optional
+ type: 'object'
+ properties:
+ <<: *compute_params_common_properties
+ compute_dpdk_driver:
+ type: 'string'
+ compute_ovs_dpdk_socket_mem:
+ type: ['string', 'number']
+ compute_ovs_dpdk_lcore_mask:
+ type: ['string', 'number']
+ dpdk0_driver:
+ type: 'string'
+ dpdk0_n_rxq:
+ type: 'number'
+ required: ['compute_dpdk_driver', 'dpdk0_driver', 'dpdk0_n_rxq',
+ 'compute_ovs_dpdk_socket_mem',
+ 'compute_ovs_dpdk_lcore_mask']
+ additionalProperties: false
+ additionalProperties: false
+ required: ['compute_params']
+ additionalProperties: false
+ required: ['node']
+ additionalProperties: false
+ required: ['jumphost', 'network']
+ additionalProperties: false
+ osa:
+ v0.1:
+ type: 'object'
+ properties:
+ nodes_roles:
+ type: 'object'
+ groups:
+ type: 'object'
+ hostnames:
+ type: 'object'
+ network:
+ type: 'object'
+ required: ['nodes_roles', 'groups', 'hostnames', 'network']
+ additionalProperties: false
+ kubespray:
+ v0.1:
+ type: ['object', 'null']
+ # NOTE: To be properly modeled by XCI maintainers
+
+##############################################################################
+# Top-level structure:
+# - define all possible top-level and second-level keys, without enforcing a
+# schema for second-level, just so we can disallow additional properties;
+# - require 'version' and allow dynamically generated 'version_x.y' key;
+properties:
+ idf:
+ properties:
+ # version_x.y keys are auto-added by `validate_schema.py` based on 'version'
+ version_0.1:
+ type: 'boolean'
+ version:
+ type: 'number'
+ enum: [0.1]
+ installer:
+ type: 'array'
+ items:
+ type: 'string'
+ enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa', 'kubespray']
+ net_config:
+ type: 'object'
+ compass:
+ type: 'object'
+ daisy:
+ type: 'object'
+ fuel:
+ type: 'object'
+ osa:
+ type: ['object', 'null']
+ kubespray:
+ type: ['object', 'null']
+ required: ['version']
+ additionalProperties: false
+ ############################################################################
+ # Schema versioning
+ # - based on dynamically added 'version_x.y', require additional IDF blocks
+ # and validate them against the proper schema version;
+ dependencies:
+ version_0.1:
+ properties:
+ net_config:
+ $ref: '#/definitions/net_config/v0.1'
+ compass:
+ $ref: '#/definitions/compass/v0.1'
+ daisy:
+ $ref: '#/definitions/daisy/v0.1'
+ fuel:
+ $ref: '#/definitions/fuel/v0.1'
+ osa:
+ $ref: '#/definitions/osa/v0.1'
+ kubespray:
+ $ref: '#/definitions/kubespray/v0.1'
+ fuel:
+ required: ['net_config']
+ daisy:
+ required: ['net_config']
+ osa:
+ required: ['net_config']
+ kubespray:
+ required: ['net_config']
+ xci:
+ type: 'object'
+ # NOTE: To be properly modeled by XCI maintainers
+
+# Do not allow any properties not defined here. This lets us catch typos.
+additionalProperties: false
+required: ['idf']
diff --git a/config/pdf/pod1.encrypted.yaml b/config/pdf/pod1.encrypted.yaml
index 8693647d..c2512632 100644
--- a/config/pdf/pod1.encrypted.yaml
+++ b/config/pdf/pod1.encrypted.yaml
@@ -1,6 +1,15 @@
+##############################################################################
+# Copyright (c) 2018 Intel Corporation, 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
+##############################################################################
---
### POD descriptor file ###
+version: 1.0
+
details:
pod_owner: Lab Owner
contact: email@address.com
@@ -32,7 +41,7 @@ jumphost:
# several disk types possible
disk_type: {hdd|ssd|cdrom|tape}
# several interface types possible
- disk_interface: {sata|sas|ssd|nvme}
+ disk_interface: {sata|sas|ssd|nvme|scsi|iscsi}
# define rotation speed of disk
disk_rotation: {5400|7200|10000|15000}
# second disk
@@ -45,7 +54,8 @@ jumphost:
os: ubuntu-14.04
remote_params: &remote_params
# hardware management tool
- type: {ipmi|amt}
+ type: {ipmi|amt|libvirt}
+ # array of supported versions, mandatory for all but 'libvirt'
versions:
- 1.0
- 2.0
@@ -73,18 +83,19 @@ jumphost:
remote_management:
<<: *remote_params
address: 10.4.7.3/24
+ # MAC address is mandatory for all BMC types but 'libvirt'
mac_address: "10:23:45:67:89:AC"
# physical interface list
interfaces:
# first interface
- - nic: {nic#number}
+ - name: {nic#number}
# ip address of nic
address: 192.168.100.1
mac_address: "10:23:45:67:89:AC"
# vlan tag, may have multiple tags
vlan: {native|1-4095}
# second interface
- - nic: 'nic2'
+ - name: 'nic2'
address: 10.20.0.1/24
mac_address: "10:23:45:67:89:5B"
nodes:
diff --git a/config/pdf/pod1.schema.yaml b/config/pdf/pod1.schema.yaml
new file mode 100644
index 00000000..33b2d8c3
--- /dev/null
+++ b/config/pdf/pod1.schema.yaml
@@ -0,0 +1,245 @@
+##############################################################################
+# 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
+##############################################################################
+---
+$schema: 'http://json-schema.org/schema#'
+$id: 'https://github.com/opnfv/pharos/blob/master/config/pdf/pod1.yaml'
+
+definitions:
+ ############################################################################
+ # Low-level, general purpose definitions, unversioned
+ ip_address:
+ type: 'string' # NOTE: we don't validate this is a valid addr (yet)
+ mac_address:
+ type: 'string'
+ pattern: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
+ ############################################################################
+ # Mid-level definitions, common schema for jumpserver & cluster nodes
+ node:
+ v1.0:
+ type: 'object'
+ properties:
+ type:
+ type: 'string'
+ enum: ['baremetal', 'virtual']
+ vendor:
+ type: 'string'
+ model:
+ type: 'string'
+ arch:
+ type: 'string'
+ enum: ['aarch64', 'x86_64']
+ cpus:
+ type: 'number'
+ cpu_cflags:
+ type: 'string'
+ cores:
+ type: 'number'
+ memory:
+ type: 'string'
+ pattern: '^[1-9]\d*[MGT]B?$'
+ required: ['type', 'vendor', 'model', 'arch', 'cpus', 'cpu_cflags', 'cores', 'memory']
+ additionalProperties: false
+ disks:
+ v1.0:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ name:
+ type: 'string'
+ pattern: '^disk[0-9]+$'
+ disk_capacity:
+ type: 'string'
+ pattern: '^[1-9][\d\.]*[MGT]B?$'
+ disk_type:
+ type: 'string'
+ enum: ['hdd', 'ssd', 'cdrom', 'tape']
+ disk_interface:
+ type: 'string'
+ enum: ['sata', 'sas', 'ssd', 'nvme', 'scsi', 'iscsi']
+ disk_rotation:
+ type: 'number'
+ enum: [0, 5400, 7200, 10000, 15000]
+ required: ['name', 'disk_capacity', 'disk_type', 'disk_interface', 'disk_rotation']
+ additionalProperties: false
+ remote_management:
+ v1.0:
+ properties:
+ user:
+ type: 'string'
+ pass:
+ type: 'string'
+ type:
+ type: 'string'
+ versions:
+ type: 'array'
+ address:
+ type: 'string'
+ mac_address:
+ type: 'string'
+ # These subsections are best validated separately for baremetal/virtual
+ oneOf:
+ - type: 'object'
+ properties:
+ type:
+ type: 'string'
+ enum: ['ipmi', 'amt']
+ versions:
+ type: 'array'
+ items:
+ type: 'number'
+ enum: [1.0, 2.0]
+ address:
+ $ref: '#/definitions/ip_address'
+ mac_address:
+ $ref: '#/definitions/mac_address'
+ required: ['type', 'versions', 'address', 'mac_address']
+ - type: 'object'
+ properties:
+ type:
+ type: 'string'
+ enum: ['libvirt']
+ address:
+ type: 'string' # Loose validation of libvirt URI for now
+ required: ['type', 'address']
+ required: ['user', 'pass']
+ additionalProperties: false
+ interfaces:
+ v1.0:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ name:
+ type: 'string'
+ pattern: '^nic[0-9]+$'
+ mac_address:
+ $ref: '#/definitions/mac_address'
+ # Optional
+ address:
+ $ref: '#/definitions/ip_address'
+ # Optional
+ vlan:
+ oneOf:
+ - type: 'string'
+ pattern: '^(native|[1-9][0-9]{0,3})(\|(native|[1-9][0-9]{0,3}))*$'
+ - type: 'integer'
+ mininum: 1
+ maximum: 4095
+ # Optional
+ speed:
+ type: 'string'
+ enum: ['1gb', '10gb', '25gb', '40gb']
+ # FIXME: mandatory for nodes?
+ # Optional
+ features:
+ type: ['string', 'null']
+ pattern: '^((dpdk|sriov)\|?)*$'
+ # FIXME: mandatory for nodes?
+ required: ['name', 'mac_address']
+ additionalProperties: false
+ ############################################################################
+ # Top-level PDF blocks, versioned
+ details:
+ v1.0:
+ type: 'object'
+ properties:
+ type:
+ type: 'string'
+ enum: ['production', 'development']
+ pod_owner:
+ type: 'string'
+ contact:
+ type: 'string'
+ pattern: '^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+[,; ]*)+$'
+ lab:
+ type: 'string'
+ location:
+ type: 'string'
+ link:
+ type: 'string'
+ required: ['type', 'pod_owner', 'contact', 'lab', 'location', 'link']
+ additionalProperties: false
+ jumphost:
+ v1.0:
+ type: 'object'
+ properties:
+ name:
+ type: 'string'
+ node:
+ $ref: '#/definitions/node/v1.0'
+ disks:
+ $ref: '#/definitions/disks/v1.0'
+ os:
+ type: 'string'
+ remote_params: # Optional YAML anchor, contents will be validated below
+ type: 'object'
+ remote_management:
+ $ref: '#/definitions/remote_management/v1.0'
+ interfaces:
+ $ref: '#/definitions/interfaces/v1.0'
+ required: ['name', 'node', 'disks', 'os', 'remote_management', 'interfaces']
+ additionalProperties: false
+ nodes:
+ v1.0:
+ type: 'array'
+ items:
+ type: 'object'
+ properties:
+ name:
+ type: 'string'
+ node:
+ $ref: '#/definitions/node/v1.0'
+ disks:
+ $ref: '#/definitions/disks/v1.0'
+ os:
+ type: 'string'
+ remote_params: # Optional YAML anchor, contents will be validated after inject
+ type: 'object'
+ remote_management:
+ $ref: '#/definitions/remote_management/v1.0'
+ interfaces:
+ $ref: '#/definitions/interfaces/v1.0'
+ required: ['name', 'node', 'disks', 'remote_management', 'interfaces']
+ additionalProperties: false
+
+##############################################################################
+# Top-level structure:
+# - define all possible top-level keys, without enforcing a schema for them,
+# just so we can disallow additional properties;
+# - require 'version' and allow dynamically generated 'version_x.y' key;
+properties:
+ # version_x.y keys are auto-added by `validate_schema.py` based on 'version'
+ version_1.0:
+ type: 'boolean'
+ version:
+ type: 'number'
+ enum: [1.0]
+ details:
+ type: 'object'
+ jumphost:
+ type: 'object'
+ nodes:
+ type: 'array'
+required: ['version']
+additionalProperties: false
+
+##############################################################################
+# Schema versioning
+# - based on dynamically added 'version_x.y', require additional PDF blocks
+# and validate them against the proper schema version;
+dependencies:
+ version_1.0:
+ properties:
+ details:
+ $ref: '#/definitions/details/v1.0'
+ jumphost:
+ $ref: '#/definitions/jumphost/v1.0'
+ nodes:
+ $ref: '#/definitions/nodes/v1.0'
+ required: ['details', 'jumphost', 'nodes']
diff --git a/config/pdf/pod1.yaml b/config/pdf/pod1.yaml
index d9028c23..4ea751ec 100644
--- a/config/pdf/pod1.yaml
+++ b/config/pdf/pod1.yaml
@@ -1,6 +1,15 @@
+##############################################################################
+# Copyright (c) 2018 Intel Corporation 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
+##############################################################################
---
### POD descriptor file ###
+version: 1.0
+
details:
pod_owner: Lab Owner
contact: email@address.com
@@ -32,9 +41,9 @@ jumphost:
# several disk types possible
disk_type: {hdd|ssd|cdrom|tape}
# several interface types possible
- disk_interface: {sata|sas|ssd|nvme}
+ disk_interface: {sata|sas|ssd|nvme|scsi|iscsi}
# define rotation speed of disk
- disk_rotation: {5400|7200|10000|15000}
+ disk_rotation: {0|5400|7200|10000|15000}
# second disk
- name: 'disk2'
disk_capacity: 2048G
@@ -45,7 +54,8 @@ jumphost:
os: ubuntu-14.04
remote_params: &remote_params
# hardware management tool
- type: {ipmi|amt}
+ type: {ipmi|amt|libvirt}
+ # array of supported versions, mandatory for all but 'libvirt'
versions:
- 1.0
- 2.0
@@ -54,18 +64,19 @@ jumphost:
remote_management:
<<: *remote_params
address: 10.4.7.3/24
+ # MAC address is mandatory for all BMC types but 'libvirt'
mac_address: "10:23:45:67:89:AC"
# physical interface list
interfaces:
# first interface
- - nic: {nic#number}
+ - name: {nic#number}
# ip address of nic
address: 192.168.100.1
mac_address: "10:23:45:67:89:AC"
# vlan tag, may have multiple tags
vlan: {native|1-4095}
# second interface
- - nic: 'nic2'
+ - name: 'nic2'
address: 10.20.0.1/24
mac_address: "10:23:45:67:89:5B"
nodes:
diff --git a/config/utils/README.eyaml.rst b/config/utils/README.eyaml.rst
index 0031d9d8..1f584261 100644
--- a/config/utils/README.eyaml.rst
+++ b/config/utils/README.eyaml.rst
@@ -1,6 +1,6 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
-.. (c) 2017 OPNFV and others.
+.. (c) 2018 OPNFV and others.
Use eyaml to decrypt secret values
==================================
diff --git a/config/utils/check-jinja2.sh b/config/utils/check-jinja2.sh
index 2953ff6a..1fcdb9a2 100755
--- a/config/utils/check-jinja2.sh
+++ b/config/utils/check-jinja2.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# SPDX-license-identifier: Apache-2.0
##############################################################################
-# Copyright (c) 2016 Linux Foundation and others.
+# Copyright (c) 2018 Linux Foundation 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
@@ -12,50 +12,75 @@ set +x
set +o errexit
export PATH=$PATH:/usr/local/bin/
-GEN_CFG='./config/utils/generate_config.py'
-INSTALLER_ADAPTERS='./config/installers/*'
+# Optional filtering of test matrix: per-lab, per-pod, per-installer
+# e.g. To check zte-pod{2,3} against all installer adapters:
+# ./config/utils/check-jinja2.sh zte 'pod(2|3)'
+FILTER_LAB=${1:-*} # e.g. 'zte' (glob)
+FILTER_POD=${2:-(pod|virtual)[[:digit:]]+} # e.g. 'pod1' (regex)
+FILTER_IA=${3:-*} # e.g. 'fuel' (glob)
+
+GEN_CFG='python ./config/utils/generate_config.py'
+INSTALLER_ADAPTERS="./config/installers/${FILTER_IA}"
TMPF='/tmp/out.yml' # should be outside Jenkins WS to prevent data leakage
RC=0
+echo "Using $(yamllint --version)"
+
# Build a table header, using ';' as column sep
-SUMMARY='PDF Verify Matrix;YAML Lint;'
-for adapter in ${INSTALLER_ADAPTERS}; do
+for adapter in 'PDF Verify Matrix' ${INSTALLER_ADAPTERS}; do
SUMMARY+="$(basename "${adapter}");"
done
# Iterate all PDFs, check with each installer adapter, log results
+# shellcheck disable=SC2086
while IFS= read -r lab_config; do
- valid_yaml='OK'
- echo -e "\n\nyamllint -s ${lab_config}"
- if ! yamllint -s "${lab_config}"; then valid_yaml='FAIL'; fi
- SUMMARY+="\n${lab_config#labs/};${valid_yaml};"
+ SUMMARY+="\n${lab_config#labs/};"
+ idf_config="$(dirname "${lab_config}")/idf-$(basename "${lab_config}")"
+ idf_installer=$(grep 'installer:' "${idf_config}" 2>/dev/null || echo)
+ echo "###################### ${lab_config} ######################"
for adapter in ${INSTALLER_ADAPTERS}; do
pdf_inst=0
pdf_inst_pass=0
pdf_yaml_pass=0
+ installer_name=$(basename "${adapter}")
+ if [ -n "${idf_installer}" ] && echo "${idf_installer}" | \
+ grep -vq "${installer_name}"; then
+ SUMMARY+='-;'
+ echo -n "[GENERATE] [SKIP] idf.installer defined and "
+ echo -e "${installer_name} not listed, skipping.\n"
+ continue
+ fi
while IFS= read -r jinja_template; do
- echo -e "\n${GEN_CFG} -y ${lab_config} -j ${jinja_template}"
- if "${GEN_CFG}" -y "${lab_config}" \
- -j "${jinja_template}" > "${TMPF}"; then
- echo 'Result: PASS'
+ 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 -e "\nyamllint -s ${jinja_template%.j2}"
- if yamllint -s "${TMPF}"; then ((pdf_yaml_pass+=1)); fi
+ echo "[GENERATE] [OK] ${pdf_gen_cmd}"
+ if yamllint -s <(sed 's|ENC\[PKCS.*\]|opnfv|g' "${TMPF}"); then
+ ((pdf_yaml_pass+=1));
+ echo "[YAMLLINT] [OK] yamllint -s ${jinja_template%.j2}"
+ else
+ echo "[YAMLLINT] [ERROR] yamllint -s ${jinja_template%.j2}"
+ fi
else
- echo 'Result: FAIL'
+ echo "[GENERATE] [ERROR] ${pdf_gen_cmd}"
RC=1
fi
((pdf_inst+=1))
+ echo ''
done < <(find "${adapter}" -name '*.j2')
SUMMARY+="${pdf_yaml_pass}/${pdf_inst_pass}/${pdf_inst};"
done
-done < <(find 'config' 'labs' -name 'pod*.yaml')
-
+done < <(find labs/${FILTER_LAB} -regextype egrep \
+ -regex "labs/.+/${FILTER_POD}.yaml")
rm -f "${TMPF}"
-echo -e '\n\nNOTE: tuple fmt: (valid YAML output/sucessful parse/templates).\n'
-echo -e "${SUMMARY}" | sed -e 's/^/;/g' -e 's/;/;| /g' | column -t -s ';'
cat <<EOF
+###################### Result Matrix ######################
+
+NOTE: tuple fmt: (valid YAML output/sucessful parse/templates).
+
+$(echo -e "${SUMMARY}" | sed -e 's/^/;/g' -e 's/;/;| /g' | column -t -s ';')
To troubleshoot PDF parsing against a specific installer adapter,
execute the following commands locally (e.g. for zte-pod2/joid):
diff --git a/config/utils/check-schema.sh b/config/utils/check-schema.sh
new file mode 100755
index 00000000..041c0308
--- /dev/null
+++ b/config/utils/check-schema.sh
@@ -0,0 +1,51 @@
+#!/bin/bash -e
+##############################################################################
+# 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
+##############################################################################
+
+export PATH=$PATH:/usr/local/bin/
+
+VALIDATE_SCHEMA='python ./config/utils/validate_schema.py'
+PDF_SCHEMA='./config/pdf/pod1.schema.yaml'
+IDF_SCHEMA='./config/pdf/idf-pod1.schema.yaml'
+RC=0
+
+SUMMARY+=";;PDF;IDF;\n"
+while IFS= read -r lab_config; do
+ idf_config="$(dirname "${lab_config}")/idf-$(basename "${lab_config}")"
+ pdf_cmd="${VALIDATE_SCHEMA} -s ${PDF_SCHEMA} -y ${lab_config}"
+ idf_cmd="${VALIDATE_SCHEMA} -s ${IDF_SCHEMA} -y ${idf_config}"
+ echo "###################### ${lab_config} ######################"
+ pdf_out=$(${pdf_cmd} 2>&1 | sed 's|ENC\[PKCS.*\][\\n]*|opnfv|g')
+ if [ -z "${pdf_out}" ]; then
+ SUMMARY+=";${lab_config#labs/};OK;"
+ echo "[PDF] [OK] ${pdf_cmd}"
+ else
+ SUMMARY+=";${lab_config#labs/};ERROR;"
+ RC=1
+ echo "${pdf_out}"
+ echo "[PDF] [ERROR] ${pdf_cmd}"
+ fi
+ if [ ! -f "${idf_config}" ]; then
+ SUMMARY+="-;\n"
+ elif ${idf_cmd}; then
+ SUMMARY+="OK;\n"
+ echo "[IDF] [OK] ${idf_cmd}"
+ else
+ SUMMARY+="ERROR;\n"
+ RC=1
+ echo "[IDF] [ERROR] ${idf_cmd}"
+ fi
+ echo ''
+done < <(find 'labs' -name 'pod*.yaml' -or -name 'virtual*.yaml')
+
+cat <<EOF
+###################### Schema Validation Matrix ######################
+
+$(echo -e "${SUMMARY}" | sed -e 's/;/;| /g' | column -t -s ';')
+EOF
+exit "${RC}"
diff --git a/config/utils/config.example.yaml b/config/utils/config.example.yaml
index 084d11d2..3a10a144 100644
--- a/config/utils/config.example.yaml
+++ b/config/utils/config.example.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 OPNFV and others.
+# Copyright (c) 2018 OPNFV and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
diff --git a/config/utils/gen_config_lib.py b/config/utils/gen_config_lib.py
new file mode 100644
index 00000000..1e7229be
--- /dev/null
+++ b/config/utils/gen_config_lib.py
@@ -0,0 +1,224 @@
+##############################################################################
+# Copyright (c) 2018 OPNFV 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
+##############################################################################
+"""Library for generate_config functions and custom jinja2 filters"""
+
+import logging
+from ipaddress import IPv4Network, IPv4Address
+
+
+def load_custom_filters(environment):
+ """Load all defined filters into the jinja2 enviroment"""
+
+ # TODO deprecate ipaddr_index and netmask for the better ipnet ones
+ filter_list = {
+ 'dpkg_arch': filter_dpkg_arch,
+ 'storage_size_num': filter_storage_size_num,
+ 'ipnet_hostaddr': filter_ipnet_hostaddr,
+ 'ipnet_hostmin': filter_ipnet_hostmin,
+ 'ipnet_hostmax': filter_ipnet_hostmax,
+ 'ipnet_broadcast': filter_ipnet_broadcast,
+ 'ipnet_netmask': filter_ipnet_netmask,
+ 'ipnet_contains_ip': filter_ipnet_contains_ip,
+ 'ipnet_contains_iprange': filter_ipnet_contains_iprange,
+ 'ipnet_range_size': filter_ipnet_range_size,
+ 'ipaddr_index': filter_ipaddr_index,
+ 'netmask': filter_netmask
+ }
+
+ for name, function in filter_list.items():
+ environment.filters[name] = function
+
+
+def filter_dpkg_arch(arch, to_dpkg=True):
+ """Convert DPKG-compatible from processor arch and vice-versa"""
+
+ # Processor architecture (as reported by $(uname -m))
+ # vs DPKG architecture mapping
+ dpkg_arch_table = {
+ 'aarch64': 'arm64',
+ 'x86_64': 'amd64',
+ }
+ arch_dpkg_table = dict(
+ zip(dpkg_arch_table.values(), dpkg_arch_table.keys()))
+
+ if to_dpkg:
+ return dpkg_arch_table[arch]
+ else:
+ return arch_dpkg_table[arch]
+
+
+def filter_storage_size_num(size_str):
+ """Convert human-readable size string to a string convertible to float"""
+
+ # pattern: '^[1-9][\d\.]*[MGT]B?$', multiplier=1000 (not KiB)
+ if size_str.endswith('B'):
+ size_str = size_str[:-1]
+ try:
+ size_num = 1000000
+ for multiplier in ['M', 'G', 'T']:
+ if size_str.endswith(multiplier):
+ return '{:.2f}'.format(size_num * float(size_str[:-1]))
+ size_num = size_num * 1000
+ return '{:.2f}'.format(float(size_str))
+ except ValueError as ex:
+ logging.error(size_str + " is not a valid size string")
+ raise
+
+
+def filter_ipnet_hostaddr(network_cidr, index):
+ """Return the host IP address on given index from an IP network"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ try:
+ return IPv4Network(network_cidr_str)[index]
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+ except IndexError as ex:
+ logging.error(network_cidr_str + " has not enough range for "
+ + str(index) + " host IPs.")
+ raise
+
+
+def filter_ipnet_broadcast(network_cidr):
+ """Return broadcast IP address from given IP network"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ try:
+ return IPv4Network(network_cidr_str).broadcast_address
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+
+
+def filter_ipnet_hostmin(network_cidr):
+ """Return the first host IP address from given IP network"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ try:
+ return IPv4Network(network_cidr_str)[1]
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+
+
+def filter_ipnet_hostmax(network_cidr):
+ """Return the last host IP address from given IP network"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ try:
+ return IPv4Network(network_cidr_str)[-2]
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+
+
+def filter_ipnet_netmask(network_cidr):
+ """Return the IP netmask from given IP network"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ try:
+ return IPv4Network(network_cidr_str).netmask
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+
+
+def filter_ipnet_contains_ip(network_cidr, ip_address):
+ """Check if an IP network cointains a given range"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ ip_address_str = unicode(ip_address)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ ip_address_str = str(ip_address)
+ try:
+ return IPv4Address(ip_address_str) in IPv4Network(network_cidr_str)
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+
+
+def filter_ipnet_contains_iprange(network_cidr, range_start, range_end):
+ """Check if an IP network cointains a given range"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ range_start_str = unicode(range_start)
+ range_end_str = unicode(range_end)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ range_start_str = str(range_start)
+ range_end_str = str(range_end)
+ try:
+ ipnet = IPv4Network(network_cidr_str)
+ return (IPv4Address(range_start_str) in ipnet
+ and IPv4Address(range_end_str) in ipnet)
+ except ValueError as ex:
+ logging.error(network_cidr_str + " is not a valid network address")
+ raise
+
+
+def filter_ipnet_range_size(network_cidr, range_start, range_end):
+ """Get the size of an IP range between two IP addresses"""
+ try:
+ network_cidr_str = unicode(network_cidr)
+ range_start_str = unicode(range_start)
+ range_end_str = unicode(range_end)
+ except NameError as ex:
+ network_cidr_str = str(network_cidr)
+ range_start_str = str(range_start)
+ range_end_str = str(range_end)
+ try:
+ ipnet = IPv4Network(network_cidr_str)
+ ip1 = IPv4Address(range_start_str)
+ ip2 = IPv4Address(range_end_str)
+
+ if ip1 in ipnet and ip2 in ipnet:
+ index1 = list(ipnet.hosts()).index(ip1)
+ index2 = list(ipnet.hosts()).index(ip2)
+ ip_range_size = index2 - index1 + 1
+ return ip_range_size
+ else:
+ raise ValueError
+ except ValueError as ex:
+ logging.error(range_start_str + " and " + range_end_str +
+ " are not valid IP addresses for range inside " +
+ network_cidr_str)
+ raise
+
+
+# This filter is too simple and does not take network mask into account.
+# TODO Deprecate for filter_ipnet_hostaddr
+def filter_ipaddr_index(base_address, index):
+ """Return IP address in given network at given index"""
+ try:
+ base_address_str = unicode(base_address)
+ except NameError as ex:
+ base_address_str = str(base_address)
+ return IPv4Address(base_address_str) + int(index)
+
+
+# TODO deprecate for filter_ipnet_netmask
+def filter_netmask(prefix):
+ """Get netmask from prefix length integer"""
+ try:
+ prefix_str = unicode(prefix)
+ except NameError as ex:
+ prefix_str = str(prefix)
+ return IPv4Network("1.0.0.0/"+prefix_str).netmask
diff --git a/config/utils/generate_config.py b/config/utils/generate_config.py
index dfc6e6c4..93e839bd 100755
--- a/config/utils/generate_config.py
+++ b/config/utils/generate_config.py
@@ -1,84 +1,84 @@
#!/usr/bin/python
##############################################################################
-# Copyright (c) 2017 OPNFV and others.
+# Copyright (c) 2018 OPNFV 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
##############################################################################
-"""This module does blah blah."""
+"""Generate configuration from PDF/IDF and jinja2 installer template"""
+
import argparse
-import ipaddress
import logging
-import os
+from os.path import abspath, exists, isfile, split
+from subprocess import CalledProcessError, check_output
+import gen_config_lib
import yaml
from jinja2 import Environment, FileSystemLoader
-from subprocess import CalledProcessError, check_output
+
+
+LOADER = yaml.CSafeLoader if yaml.__with_libyaml__ else yaml.SafeLoader
PARSER = argparse.ArgumentParser()
PARSER.add_argument("--yaml", "-y", type=str, required=True)
-PARSER.add_argument("--jinja2", "-j", type=str, required=True)
+PARSER.add_argument("--jinja2", "-j", type=str, required=True, action='append')
+PARSER.add_argument("--includesdir", "-i", action='append', default=['/'])
+PARSER.add_argument("--batch", "-b", action='store_true')
+PARSER.add_argument("--verbose", "-v", action='count')
ARGS = PARSER.parse_args()
-# Processor architecture vs DPKG architecture mapping
-DPKG_ARCH_TABLE = {
- 'aarch64': 'arm64',
- 'x86_64': 'amd64',
-}
-ARCH_DPKG_TABLE = dict(zip(DPKG_ARCH_TABLE.values(), DPKG_ARCH_TABLE.keys()))
+ARGS.jinja2 = [abspath(x) for x in ARGS.jinja2]
-# Custom filter to allow simple IP address operations returning
-# a new address from an upper or lower (negative) index
-def ipaddr_index(base_address, index):
- """Return IP address in given network at given index"""
- try:
- base_address_str = unicode(base_address)
- #pylint: disable=unused-variable
- except NameError as ex:
- base_address_str = str(base_address)
- return ipaddress.ip_address(base_address_str) + int(index)
+logging.basicConfig()
+LOGGER = logging.getLogger('generate_config')
+if ARGS.verbose:
+ LOGGER.setLevel(logging.INFO)
-# Custom filter to convert between processor architecture
-# (as reported by $(uname -m)) and DPKG-style architecture
-def dpkg_arch(arch, to_dpkg=True):
- """Return DPKG-compatible from processor arch and vice-versa"""
- if to_dpkg:
- return DPKG_ARCH_TABLE[arch]
- else:
- return ARCH_DPKG_TABLE[arch]
-
-ENV = Environment(loader=FileSystemLoader(os.path.dirname(ARGS.jinja2)))
-ENV.filters['ipaddr_index'] = ipaddr_index
-ENV.filters['dpkg_arch'] = dpkg_arch
+ENV = Environment(
+ loader=FileSystemLoader(ARGS.includesdir),
+ extensions=['jinja2.ext.do']
+)
+gen_config_lib.load_custom_filters(ENV)
-# Run `eyaml decrypt` on the whole file, in case any PDF data is encrypted
+# Run `eyaml decrypt` on the whole file, but only if PDF data is encrypted
# Note: eyaml return code is 0 even if keys are not available
try:
- DICT = yaml.safe_load(check_output(['eyaml', 'decrypt', '-f', ARGS.yaml]))
+ if isfile(ARGS.yaml) and 'ENC[PKCS7' in open(ARGS.yaml).read():
+ DICT = yaml.load(check_output(['eyaml', 'decrypt',
+ '-f', ARGS.yaml]), Loader=LOADER)
except CalledProcessError as ex:
- logging.error('eyaml decryption failed!')
+ LOGGER.error('eyaml decryption failed! Fallback to raw data.')
except OSError as ex:
- logging.warn('eyaml not found, skipping decryption')
+ LOGGER.warn('eyaml not found, skipping decryption. Fallback to raw data.')
try:
DICT['details']
except (NameError, TypeError) as ex:
- logging.warn('PDF decryption skipped, fallback to using raw data.')
with open(ARGS.yaml) as _:
- DICT = yaml.safe_load(_)
+ DICT = yaml.load(_.read().replace('/', '__slash__'), Loader=LOADER)
# If an installer descriptor file (IDF) exists, include it (temporary)
-IDF_PATH = '/idf-'.join(os.path.split(ARGS.yaml))
-if os.path.exists(IDF_PATH):
+IDF_PATH = '/idf-'.join(split(ARGS.yaml))
+if exists(IDF_PATH):
with open(IDF_PATH) as _:
- IDF = yaml.safe_load(_)
+ IDF = yaml.load(_, Loader=LOADER)
DICT['idf'] = IDF['idf']
# Print dictionary generated from yaml (uncomment for debug)
# print(DICT)
-# Render template and print generated conf to console
-TEMPLATE = ENV.get_template(os.path.basename(ARGS.jinja2))
-
-#pylint: disable=superfluous-parens
-print(TEMPLATE.render(conf=DICT))
+for _j2 in ARGS.jinja2:
+ TEMPLATE = ENV.get_template(_j2)
+ OUTPUT = TEMPLATE.render(conf=DICT).replace('__slash__', '/')
+ # Render template and write generated conf to file or stdout
+ if ARGS.batch:
+ if _j2.endswith('.j2'):
+ destination_file = _j2[:-3] # Trim '.j2' suffix
+ LOGGER.info('Parsing {}'.format(_j2))
+ with open(destination_file, 'w') as _:
+ _.write(OUTPUT)
+ else:
+ LOGGER.warn('Skipping {}, name does not end in ".j2"'.format(_j2))
+ else:
+ # pylint: disable=superfluous-parens
+ print(OUTPUT)
diff --git a/config/utils/validate_schema.py b/config/utils/validate_schema.py
new file mode 100755
index 00000000..1676e15d
--- /dev/null
+++ b/config/utils/validate_schema.py
@@ -0,0 +1,46 @@
+#!/usr/bin/python
+##############################################################################
+# 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
+##############################################################################
+"""This module validates a PDF file against the schema."""
+import argparse
+import jsonschema
+import yaml
+
+
+PARSER = argparse.ArgumentParser()
+PARSER.add_argument("--yaml", "-y", type=str, required=True)
+PARSER.add_argument("--schema", "-s", type=str, required=True)
+ARGS = PARSER.parse_args()
+LOADER = yaml.CSafeLoader if yaml.__with_libyaml__ else yaml.SafeLoader
+
+with open(ARGS.yaml) as _:
+ _DICT = yaml.load(_, Loader=LOADER)
+
+with open(ARGS.schema) as _:
+ _SCHEMA = yaml.load(_, Loader=LOADER)
+
+
+def schema_version_workaround(node):
+ """Traverse nested dictionaries and handle 'version' key where found."""
+ if 'version' in node:
+ node['version_{0}'.format(node['version'])] = True
+ for item in node.items():
+ if type(item) is dict:
+ schema_version_workaround(item)
+
+# Draft 4 (latest supported by py-jsonschema) does not support value-based
+# decisions properly, see related github issue:
+# https://github.com/json-schema-org/json-schema-spec/issues/64
+# Workaround: build 'version_x.y: true' on the fly based on 'version: x.y'
+schema_version_workaround(_DICT)
+if 'idf' in _DICT:
+ schema_version_workaround(_DICT['idf'])
+
+_VALIDATOR = jsonschema.Draft4Validator(_SCHEMA)
+for error in _VALIDATOR.iter_errors(_DICT):
+ raise RuntimeError(str(error))
diff --git a/docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-FDIO.png b/docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-FDIO.png
new file mode 100644
index 00000000..8ac99508
--- /dev/null
+++ b/docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-FDIO.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-OVS.png b/docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-OVS.png
new file mode 100644
index 00000000..15f3893d
--- /dev/null
+++ b/docs/release/scenario-lifecycle/From OS-BASIC to NOSDN-OVS.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/ODL Generic Scenarios Evolution.png b/docs/release/scenario-lifecycle/ODL Generic Scenarios Evolution.png
new file mode 100644
index 00000000..6f2e0a44
--- /dev/null
+++ b/docs/release/scenario-lifecycle/ODL Generic Scenarios Evolution.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/create-sdf.png b/docs/release/scenario-lifecycle/create-sdf.png
new file mode 100644
index 00000000..c8a44ba8
--- /dev/null
+++ b/docs/release/scenario-lifecycle/create-sdf.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/creating-scenarios.rst b/docs/release/scenario-lifecycle/creating-scenarios.rst
new file mode 100644
index 00000000..dbff9c18
--- /dev/null
+++ b/docs/release/scenario-lifecycle/creating-scenarios.rst
@@ -0,0 +1,104 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Creating Scenarios
+--------------------
+
+General
+^^^^^^^^^
+
+A new scenario needs to be created, when a new combination of upstream
+components or features shall be supported, that cannot be provided with the
+existing scenarios in parallel to their existing features.
+
+Typically new scenarios are created as children of existing scenarios.
+They start as specific scenario and as they mature, they either merge back
+their features to the parent or promote to a generic scenario.
+
+Scenario Owners
+^^^^^^^^^^^^^^^^
+
+Each scenario must have an "owner". Scenario owners have the following responsibilities:
+
+* The scenario owner is responsible for the contents and usage of the scenario.
+* He shall define the contents for the scenario deployment:
+
+ * The components and their versions that need to be deployed
+ * Options for the deployment of such components, e.g. settings, optional features, ..
+ * Which installers to use
+ * Deployment options (HA, NOHA, hardware types, ..)
+
+* He shall define the usage of the scenario in the development process:
+
+ * Initiate integration to CI
+ * Define which testcases to run
+ * Applies that the scenario joins a release
+
+* The owner maintains the Scenario Descriptor File (SDF)
+* Drives for the scenario be supported by more installers
+
+The scenario owner of a specific scenario typically comes from the feature project
+that develops the features introduced by the scenario.
+
+The scenario owner of a generic scenario will need to drive more integration tasks than
+feature development. Thus he typically will come from a project with a broader scope
+than a single feature, e.g. a testing project.
+The scenario owner of a generic scenario needs to cover issues of all installers, so
+only in exceptional cases he will come from an installer project.
+
+Creating Generic Scenarios
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Generic scenarios provide stable and mature deployments of an OPNFV release. Therefore
+it is important to have generic scenarios in place that provide the main capabilities
+needed for NFV environments. On the other hand the number of generic scenarios needs
+to be limited because of resources.
+
+* Creation of a new generic scenario needs TSC consensus.
+* Typically the generic scenario is created by promoting an existing specific
+ scenario. Thus the only the additional information needs to be provided.
+* The scenario owner needs to verify that the scenario fulfills the above requirements.
+* Since specific scenarios typically are owned by the project who have initiated it,
+ and generic scenarios provide a much broader set of features, in many cases a
+ change of owner is appropriate. In most cases it will be appropriate to assign
+ a testing expert as scenario owner.
+
+Creating Specific Scenarios
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+As already stated, typically specific scenarios are created as children of existing
+scenarios. The parent can be a generic or a specific scenario.
+
+Creation of specific scenarios shall be very easy and can be done any time. However,
+support might be low priority during a final release preparation, e.g. after a MS6.
+
+* The PTL of the project developing the feature(s) or integrating a component etc can
+ request the scenario (tbd from whom: CI or release manager, no need for TSC)
+* The PTL shall provide some justification why a new scenario is needed.
+ It will be approptiate to discuss that justification in the weekly technical
+ discussion meeting.
+* The PTL should have prepared that by finding support from one of the installers.
+* The PTL should explain from which "parent scenario" (see below) the work will start,
+ and what are the planned additions.
+* The PTL shall assign a unique name. Naming rules will be set by TSC.
+* The PTL shall provide some time schedule plans when the scenario wants to join
+ a release, when he expects the scenario merge to other scenarios, and he expects
+ the features may be made available in generic scenarios.
+ A scenario can join a release at the MS0 after its creation.
+* The PTL should explain the infrastructure requirements and clarify that sufficient
+ resources are available for the scenario.
+* The PTL shall assign a scenario owner.
+* The scenario owner shall maintain the scenario descriptor file according to the
+ template.
+* The scenario owner shall drive the necessary discussions with installers and testing
+ teams to get their support.
+* In case the scenario needs new keywords in the SDF, the scenario owner shall discuss
+ those with the installer teams and CI.
+* The scenario owner shall initiate the scenario be integrated in CI and
+ participate in releases.
+* When the scenario joins a release this needs to be done in time for the relevant
+ milestones.
+
+
diff --git a/docs/release/scenario-lifecycle/current-status.rst b/docs/release/scenario-lifecycle/current-status.rst
new file mode 100644
index 00000000..c8da13a5
--- /dev/null
+++ b/docs/release/scenario-lifecycle/current-status.rst
@@ -0,0 +1,75 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Current Status
+---------------
+
+This chapter summarizes the scenario analysis to provide some background.
+It also defines the way to introduce the scenario processes.
+
+Arno
+^^^^^^^^
+
+In Arno release, the scenario concept was not created yet.
+Looking back, we can say we had one scenario with OpenStack, ODL and KVM,
+that could be deployed in two ways, by the two installers available in Arno.
+
+Brahmaputra
+^^^^^^^^^^^^^^^^
+
+In Brahmaputra, we added options for SDN (ONOS, OCL) and some optional
+features (sfc, sdnvpn, kvm, l3 enabled ODL).
+Thus we had 9 scenarios, some of them to be deployed with 2 installers,
+that planned to participate in the release. Not all of them succeeded.
+
+Colorado
+^^^^^^^^^^^^
+
+In Colorado more components and features were added to a total of 17
+combinations of components and features. Some were supported by one
+of the four installers, others by multiple installers. In addition HA
+and NOHA options were defined.
+This lead to 28 combinations that planned to participate.
+
+Danube
+^^^^^^^^^^
+
+In Danube the number of combinations of components and features increased
+to 24, but since installer support increased and more scenarios planned
+to provide HA and NOHA options, the number of combinations was 54.
+
+In addition to that some scenarios were defined later in during development
+and some scenarios worked on ARM support.
+
+This created the need to better understand relationships and
+incompatibilities of the scenarios to drive for a manageable process
+for scenarios.
+
+As a result the relationship between the scenarios can be
+visualized by a scenario tree.
+
+.. figure:: scenario-tree-danube.png
+
+The process for generic and specific scenarios is not in place for the
+Danube release yet. But the different branches of the scenario tree
+provide the candidates to define generic scenario during the timeframe
+of the next release.
+
+Euphrates
+^^^^^^^^^^
+
+tbd: statistics on Euphrates Scenarios
+
+During Euphrates timeframe, dynamic POD allocation is introduced in CI.
+This is a prerequisite to make use of the SDF in the CI pipeline.
+Therefore in this timeframe, scenario processes are introduced only in
+a documentation way and as support for release management.
+
+Also the definition of generic scenarios can be done.
+
+
+
+
+
diff --git a/docs/release/scenario-lifecycle/deployment-options.rst b/docs/release/scenario-lifecycle/deployment-options.rst
new file mode 100644
index 00000000..2c0a3429
--- /dev/null
+++ b/docs/release/scenario-lifecycle/deployment-options.rst
@@ -0,0 +1,128 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Deployment Options
+-------------------
+
+What are deployment options?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. Editors note: Some installers call it settings. Prefer options, because it allows
+.. cases with multiple options.
+
+During the analysis of scenario definitions in Colorado and Danube releases, it became
+visible, that HA and NOHA deployment of otherwise identical scenarios shouldn't be
+called different scenarios.
+
+This understanding leads to the definition of another kind of attributes
+in scenario definitions. Many scenarios can be deployed in different ways:
+
+* **HA** configuration of OpenStack modules (that is redundancy using multiple
+ controllers running OpenStack services) versus NOHA with only a single controller
+ running a single instance of each OpenStack service
+* Some scenarios can be deployed on intel and on ARM **hardware**.
+* We can see the **installation tools** in the same way. Independent of the installer
+ that was used for the deployment of a scenario, the same functionality will be
+ provided and we can run the same testcases.
+
+Please note that a scenario can support multiple deployment options. And a scenario
+definition must specify at least one option of each type.
+
+In future there will be more deployment options, e.g. redundancy models or other
+clustering options of SDN controllers, or upscaling compute or control nodes.
+
+CI Pipeline needs to test all configuration options of a scenario.
+
+* Development cycles (verify-jobs, daily, weekly) don‘t need to run all
+ options each time
+* Release testing must cover all those combinations of configuration options that
+ will be part of the release. Typically the HA configurations are released on
+ bare metal with the allowed hardware options and all installers that can deploy
+ those. Release of an NOHA option should be an exception, e.g. for a scenarios
+ that are not mature yet.
+* Virtual deployments are not mentioned here. All scenarios should allow virtual
+ deployment where applicable.
+ But in release testing, bare metal deployment will be necessary.
+ CI will use virtual deployments as much as appropriate for resource reasons.
+
+
+Deployment options or new scenarios
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In general we can say that a different scenario is needed when the set of components
+is changed (or in some cases a general deploy-time configuration of a component). If
+we deploy the same components in a different way, we can define this via deployment
+options.
+
+**Examples**
+
+* Deploying different SDN controller or data plane (OVS/FD.IO) requires different
+ scenario.
+* HA/NOHA will deploy the same components on different number of nodes, so it is a
+ deployment option.
+* Different hardware types should not lead to new scenarios. Typically the same
+ scenario can be deployed on multiple hardware.
+
+
+HA and NOHA
+^^^^^^^^^^^^^
+
+Both, HA and NOHA options of a scenario are important.
+
+* HA deployment is important to be released in major OPNFV releases, because
+ telco deployments typically have strong requirements on availability.
+* NOHA deployments require less resources and are sufficient for many use cases.
+ For instance sandbox testing can be done easier and also automatic verification
+ in the CI pipeline can make use of it.
+* Generic scenarios shall support the HA and NOHA option.
+* Specific scenarios can focus on the NOHA option if their features are independent
+ from the controller redundancy. But before merging with generic scenarios, they
+ should provide both options.
+
+
+Hardware types
+^^^^^^^^^^^^^^^^^
+
+In its first releases, OPNFV could be deployed on Intel hardware only. Later, support
+for ARM hardware was added and now 5 scenarios can already be deployed on both.
+
+
+Virtual deployment
+^^^^^^^^^^^^^^^^^^^^^^
+
+Many, but not all scenarios can be deployed on virtual PODs. Therefore the scenario
+definition shall specify whether virtual deployment is possible.
+
+Typically a virtual HA deployment shall look very much the same as a bare-metal HA
+deployment, that is the distribution of modules on nodes/VMs is similar. But there
+might be cases where there are differences. Thus, the scenario specification needs
+to provide the data for each separately.
+
+
+Deployment tools
+^^^^^^^^^^^^^^^^^^^
+
+Deployment tools (installers) are in a very similar relation to the scenarios.
+Each scenario can be deployed by one or more installer. Thus we can specify the
+installers for a scenario as a deployment option.
+
+However, the installers need additional detailed information for the deployment.
+Every installer may not support the same HA, hardware, virtualization options,
+or same distribution of modules. Each deployment may look slightly different
+per installer.
+
+The scenario definition needs to provide such information in a way it can be easily
+consumed by the installers.
+
+
+
+Other deployment options
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This set of deployment options is based on what is required by Danube scenarios.
+Future releases will most likely introduce additional deployment options.
+
+
+
diff --git a/docs/release/scenario-lifecycle/feature-compatibility-nosdn.png b/docs/release/scenario-lifecycle/feature-compatibility-nosdn.png
new file mode 100644
index 00000000..09520aa1
--- /dev/null
+++ b/docs/release/scenario-lifecycle/feature-compatibility-nosdn.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/feature-compatibility-odl.png b/docs/release/scenario-lifecycle/feature-compatibility-odl.png
new file mode 100644
index 00000000..600082a6
--- /dev/null
+++ b/docs/release/scenario-lifecycle/feature-compatibility-odl.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/generic-scenarios.rst b/docs/release/scenario-lifecycle/generic-scenarios.rst
new file mode 100644
index 00000000..f159c0c9
--- /dev/null
+++ b/docs/release/scenario-lifecycle/generic-scenarios.rst
@@ -0,0 +1,53 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Generic Scenarios
+------------------
+
+Generic scenarios provide a stable environment for users who want to base their
+products on them.
+
+* Generic scenarios provide a basic combination of upstream components together
+ with the superset of possible mature features that can be deployed on them.
+* Generic scenarios should be supported by all installers.
+* All generic scenarios in a release should have the same common major versions
+ of the included upstream components.
+ These upstream versions can then be seen as the upstream versions for the
+ release. E.g. that way we can say: “OPNFV xxx contains OpenStack abc,
+ ODL def, ONOS ghi, OVS jkl“.
+ But most installers cannot directly reference any
+ upstream version. This may lead to minor differences.
+ Nevertheless features and test cases require all installers using the same
+ major versions.
+* Generic scenarios should use stable sources
+ and lock the versions before the release by either pointing to a tag or sha1.
+ According to the LF badging program it should be possible to reproduce
+ the release from source again.
+ Thus the upstream repos should be in safe locations.
+ Also only tagged source versions should be used for the release, so the
+ release can be reproduced identically for different purposes such as
+ reproducing a baug reported by users and issuing the fix appropriately,
+ even after the upstream project has applied patches.
+ .. Editors note: There is discussion ongoing in INFRA and SEC working groups how
+ .. to realize this. Thus the description is still a bit vague. Details will be
+ .. added later either here or in some INFRA document.
+* Generic scenarios should be stable and mature. Therefore they will be tested more
+ thoroughly and run special release testing so a high level of stability can be
+ provided.
+* Generic scenarios will live through many OPNFV releases.
+* More resources will be allocated to maintaining generic scenarios and they will
+ have priority for CI resources.
+ .. Editors note: Discussion ongoing in INFRA about toolchain issues.
+
+Note: in some cases it might be difficult for an installer to support all generic
+scenarios immediately. In this case an exception can be defined, but the installer
+has to provide a plan how to achieve support for all generic scenarios.
+
+Note: in some cases, upstream projects don‘t have proper CI process with
+tagged stable versions. Also some installers‘ way of working doesn‘t allow
+selecting the repo and tag. Thus a stepwise approach will be necessary to
+fulfill this requirement.
+
+
diff --git a/docs/release/scenario-lifecycle/index.rst b/docs/release/scenario-lifecycle/index.rst
new file mode 100644
index 00000000..c1a9a528
--- /dev/null
+++ b/docs/release/scenario-lifecycle/index.rst
@@ -0,0 +1,24 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+**********************
+Scenario Lifecycle
+**********************
+
+Contents:
+
+.. toctree::
+ :numbered:
+ :maxdepth: 4
+
+ scenario-overview.rst
+ generic-scenarios.rst
+ specific-scenarios.rst
+ parent-child-relations.rst
+ creating-scenarios.rst
+ deployment-options.rst
+ mano-scenarios.rst
+ current-status.rst
+ scenario-descriptor-files.rst
+ workflows.rst
diff --git a/docs/release/scenario-lifecycle/mano-scenarios.rst b/docs/release/scenario-lifecycle/mano-scenarios.rst
new file mode 100644
index 00000000..0eee1431
--- /dev/null
+++ b/docs/release/scenario-lifecycle/mano-scenarios.rst
@@ -0,0 +1,31 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+MANO Scenarios
+---------------
+
+Since OPNFV organizes all deployments using scenarios, also MANO components need
+to be covered by scenarios.
+
+On the other side all NFVI/VIM level scenarios need to be orchestrated using a
+set of components from the NFVO and VNFM layer.
+
+The idea here is therefore to specify for a MANO scenario:
+
+* The MANO components to deploy
+* A list of supported NFVI/VIM level scenarios that can be orchestrated
+ using this MANO scenario.
+
+The MANO test cases will define the VNFs to use.
+
+MANO scenarios will have more work to do if they require new nodes to be deployed on.
+They should include this aspect in their resource planning/requests and contact
+Infra/Pharos in case that a change of the Pharos spec is needed and new PODs need
+to be made available based on the amended spec.
+
+More details need to be investigated as we gain experience with the MANO scenarios
+
+
+
diff --git a/docs/release/scenario-lifecycle/parent-child-relations.rst b/docs/release/scenario-lifecycle/parent-child-relations.rst
new file mode 100644
index 00000000..ca156190
--- /dev/null
+++ b/docs/release/scenario-lifecycle/parent-child-relations.rst
@@ -0,0 +1,62 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Parent - Child Relations
+-------------------------
+
+In many cases, development adds a feature to an existing scenario by adding additional
+components. This is called creating a child scenario from a parent.
+
+* Parent scenarios typically are more stable than children.
+* Children should plan to merge their feature back to the parent.
+* Merge back will often add components to the parent.
+
+.. figure:: parent-child.png
+
+* Child scenarios can be part of releases.
+* Child scenarios should merge back to their parent after 2 releases.
+* If a child scenario lives through several releases, it might be desirable
+ to “rebase/cherrypick” a child scenario to follow changes in the parent scenario.
+* Child scenarios typically support a smaller number of deployment options than
+ their parent
+
+Child scenarios are specific scenarios. Parent scenarios can be generic or specific
+scenarios.
+
+Child scenarios can be created any time. If they want to join a release, they have
+to be created before MS0 of that release.
+
+
+Siblings
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In some cases it could make more sense to create a sibling rather than a child
+(e.g. if expected that merging back to parent will be difficult).
+In other words, the content of a child scenario will be incompatible with content
+of the parent scenario.
+In that case, the child scenario should rather become a new branch instead of
+merging back to the parent.
+
+.. figure:: sibling.png
+
+Typically the sibling uses alternate components/solutions than the parent – in
+long term it might evolve into a new generic scenario, that is a new branch
+in the scenario tree.
+
+Creation of the sibling shall not be gated. It should be covered in the scope of
+an approved project, so there cannot be too big surprises.
+
+But at a certain time the new scenario will want to change its status from a
+specific scenario to a generic scenario. This move will need TSC approval.
+For the application, the scenario owner shall demonstrate that the scenario
+fulfills the requirements of a generic scenario (see later).
+
+Examples: SDN controller options, Container technologies, data plane solutions,
+MANO solutions.
+
+Please note that from time to time, the TSC will need to review the
+set of generic scenarios and "branches" in the scenario tree.
+
+
diff --git a/docs/release/scenario-lifecycle/parent-child.png b/docs/release/scenario-lifecycle/parent-child.png
new file mode 100644
index 00000000..2f711496
--- /dev/null
+++ b/docs/release/scenario-lifecycle/parent-child.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/pdf-and-sdf.png b/docs/release/scenario-lifecycle/pdf-and-sdf.png
new file mode 100644
index 00000000..729c5a44
--- /dev/null
+++ b/docs/release/scenario-lifecycle/pdf-and-sdf.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/scenario-descriptor-files.rst b/docs/release/scenario-lifecycle/scenario-descriptor-files.rst
new file mode 100644
index 00000000..b6c44f75
--- /dev/null
+++ b/docs/release/scenario-lifecycle/scenario-descriptor-files.rst
@@ -0,0 +1,228 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Scenario Descriptor Files
+----------------------------
+
+What are Scenario Descriptor Files?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Every scenario is described in its own descriptor file.
+The scenario descriptor file will be used by several parties:
+
+* Installer tools will read from it the list of components to be installed
+ and the configuration (e.g. deployment options and necessary details) to use.
+* The dynamic CI process will read from it the prerequisites of the scenario
+ to select the resource that has the needed capabilities for the deployment.
+ It will also select the installer
+ from the list of supported installers and the other deployment options as
+ supported in their combination.
+
+ The dynamic CI process will provide the installers with the deployment option
+ to use for a particular deployment.
+
+* The scenario owner needs to provide the descriptor file.
+
+ When compiling it the scenario owner typically needs to work together with
+ the installers, so the installers will support the required components and
+ options.
+* The testing framework can read from the scenario descriptor file necessary
+ information to know which features can be tested on the scenario.
+* The scenario descriptor file will also contain some maintenance information
+
+
+Structure of the file
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The scenario descriptor file is a yaml file. The syntax will allow to specify
+additional descriptor files, to make it better readable or structure common
+configurations across multiple scenarios.
+
+The file has following main sections:
+
+* metadata (owner, history, description)
+* list of components (names, versions, submodules)
+* deployment options (HA/NOHA, hardware&virtualization, installers, including
+ possible combinations and necessary details)
+* other prerequisites (e.g. memory requirement more than pharos spec)
+* list of features to be tested
+
+More information to be provided in next version of this document. The file will
+be defined based on the installer-specific files for scenario specification
+used by the 4 installers in Danube release. Thus it will be made sure that the
+information needed by the installers will be covered.
+
+All scenario files will be stored in a central repo, e.g. Octopus. There will
+also be a commented template to help create scenario descriptor files.
+
+
+Metadata
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In Danube timeframe only Fuel installer has some metadata in the descriptor file.
+The new template contains:
+
+* Unique name
+
+ This is a free name, there is a recommendation to take fish for names, matching
+ OPNFV release naming with rivers.
+
+* A free text title
+
+ This should be a short descriptive text telling the main purpose
+
+* A version number for the descriptor file
+
+ Three digits, separated with dots, as used by Fuel in Danube
+
+* Creation date
+* Comment
+
+ The file should contain a clear description of the purpose of the scenario,
+ including the main benefits and major features.
+ If applicable, the parent scenario should be mentioned.
+
+* First OPNFV version to use the scenario
+* Author/Owner
+
+* A list of additional contact persons, e.g. from installers or major components
+
+Components
+^^^^^^^^^^^^^^^^
+
+In this section all components are listed together with their version.
+For some components in addtion submodules can be listed.
+
+More details will be added.
+
+
+Deployment options
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This section will list the supported deployment options. In each category at least
+one option must be supported.
+
+* hardware (cpu) types (intel or ARM)
+* Virtualization (bare-metal or vPOD)
+* availability (HA or NOHA)
+
+ This subsection needs to specify also what does an HA deployment need, e.g.:
+
+::
+
+ availability:
+
+ - type: HA
+ nodes:
+ - name: host1
+ roles:
+ - openstack-controller
+ - odl
+ - ceph-adm
+ - ceph-mon
+ - name: host2
+ roles:
+ - openstack-controller
+ - odl
+ - ceph-adm
+ - ceph-mon
+ - name: host3
+ roles:
+ - openstack-controller
+ - odl
+ - ceph-adm
+ - ceph-mon
+ - name: host4
+ - openstack-compute
+ - ceph-osd
+ - name: host5
+ - openstack-compute
+ - ceph-osd
+ - type: NOHA
+ hosts:
+ - name: host1
+ roles:
+ - openstack-controller
+ - odl
+ - ceph-adm
+ - ceph-mon
+ - name: host2
+ - openstack-compute
+ - ceph-osd
+ - name: host3
+ - openstack-compute
+ - ceph-osd
+
+
+
+* deployment tool (apex, compass, fuel, daisy, joid)
+
+ In the section for each deployment tool, the combinations of the first three
+ options have to be listed, e.g.:
+
+::
+
+ deployment-tools:
+
+ - type: fuel
+ cpu: intel
+ pod: baremetal
+ availability: HA
+ - type: fuel
+ cpu: intel
+ pod: virtual
+ availability: HA
+ - type: fuel
+ cpu: intel
+ pod: virtual
+ availability: NOHA
+
+Please note that this allows easy definition of other availability options
+including scaling and redundant configuration of SDN controllers.
+
+
+Prerequisites
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This section will list additional prerequisites. Currently there is only
+one case where a scenario has additional prerequisites to the Pharos spec.
+E.g. a component could requires more RAM on the nodes than defined in
+Pharos spec.
+In general it should be preferred to issue such requirements to pharos
+using the pharos change request process, but in some cases in might be
+better to specify additional prerequisites.
+
+Another use case for these prerequisites will be usage of specilized
+hardware, e.g. for acceleration. This needs further study.
+
+The section can be empty or omitted.
+
+
+Testcases
+^^^^^^^^^^^^^^^^
+
+This section will provide information for functest and yardstick to decide
+on the proper test cases for the scenario.
+
+More details will be added.
+
+
+Shared settings
+^^^^^^^^^^^^^^^^
+
+This descriptor file might get quite long and complex. Also some of the settings
+will be shared between several scenarios, e.g. a long OpenStack module list.
+
+Therefore it shall be possible to reference another file like a macro.
+In that case all the file content is included in that place, e.g.:
+
+::
+
+ availability:
+
+ - type: HA
+ file: odl-ha-configuration.yaml
+
+
diff --git a/docs/release/scenario-lifecycle/scenario-overview.rst b/docs/release/scenario-lifecycle/scenario-overview.rst
new file mode 100644
index 00000000..4a7ff7a0
--- /dev/null
+++ b/docs/release/scenario-lifecycle/scenario-overview.rst
@@ -0,0 +1,166 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+.. Scenario Lifecycle
+.. ==========================================
+
+Note: This document is still work in progress.
+
+Overview
+-------------
+
+Problem Statement:
+^^^^^^^^^^^^^^^^^^^
+
+OPNFV provides the NFV reference platform in different variants, where
+each variant is called a "scenario".
+
+OPNFV introduces scenarios in order to provide a way to deploy the stack
+using different combinations of upstream components, or to provide
+different sets of pre-defined configuration options for these
+components.
+
+In some cases a scenario is introduced in order to provide isolation of
+a specific development effort from other ongoing development efforts,
+similar to the purpose of a branch in a code repository.
+
+A certain amount of effort and resources is required in order to include
+a scenario in a release. The number of scenarios has increased over
+time, so it is necessary to identify ways to manage the number of
+scenarios and to avoid that their number grows infinitely. To enable
+this, we have to clearly define how to handle the lifecycle of
+scenarios, i.e. how to create, how to terminate, etc.
+
+
+Scenario types:
+^^^^^^^^^^^^^^^^^^^
+Some OPNFV scenarios have an experimental nature, since they introduce
+new technologies or features that are not yet mature or well integrated
+enough to provide a stable release. Nevertheless there also needs to be
+a way to provide the user with the opportunity to try these new features
+in an OPNFV release context.
+
+Other scenarios are used to provide stable environments for users
+desiring a certain combination of upstream components or interested in
+particular capabilities or use cases.
+
+The new OPNFV scenario lifecycle process proposed herein will support
+this by defining two types of scenarios:
+
+* **Generic scenarios** cover a stable set of common features provided
+by different components and target long-term usage and maintenance of
+the scenario. Only stable versions of upstream components are allowed to
+be deployed in a generic scenario. Across all generic scenarios in a
+given OPNFV release, the same version of a given upstream component
+should be deployed. Creation of generic scenarios and promotion of
+specific to generic scenario requires TSC approval, see section 5.
+Generic scenarios will get priority over specific scenarios in terms of
+maintenance effort and CI resources.
+
+* **Specific scenarios** are needed during development to introduce new
+upstream components or new features. They are typically derived from a
+generic scenario and are intended to bring their features back into the
+parent generic scenario once they are mature enough. It is also possible
+that multiple specific scenarios are merged before bringing them back to
+the parent scenario, for example in order to test and develop the
+integration of two specific features in isolation. Specific scenarios
+can consume unreleased upstream versions or apply midstream patches.
+Creation of specific scenarios is not gated, but if a project intends to
+release a specific scenario, it has to indicate that in its release plan
+at milestone MS1. The scenario itself can be created at any time, by
+means of a simple request by a PTL to the release manager.
+
+OPNFV scenarios are deployed using one of the OPNFV installer tools.
+Deploying a scenario will normally be supported by multiple installers.
+The capabilities provided by the resulting deployments should be
+identical. The set of tests to run and their results should be the same,
+independent of the installer that had been used. Performance or other
+behavioral aspects outside the scope of existing OPNFV tests could be
+different.
+
+
+Parent-child and sibling relations:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When a developer decides to define a new scenario, he typically will
+take one of the existing scenarios and do some changes, such as:
+
+* add additional components
+* change a deploy-time configuration
+* use a component in a more experimental version or with midstream
+patches applied
+
+In this case the already existing scenario is called a "parent" and the
+new scenario would be a "child".
+
+Typically parent scenarios are generic scenarios, but it is possible to
+derive from specific scenarios as well. it is expected that the child
+scenario develops its additions over some time up to a sufficient
+maturity, and then merges back to the parent. This way a continuous
+evolution of the generic scenarios as well as a manageable overall
+number of scenairos is ensured.
+
+In some cases a child scenario will diverge from its parent in a way
+that cannot easily be combined with the parent. Therefore, is is also
+possible to "promote" a scenario from specific to generic. If this is
+foreseeable upfront, the specific scenario can also be derived as a
+sibling rather that child.
+
+Promoting a scenario from specific to generic or creating a new generic
+scenario requires TSC approval. This document defines a process for
+this, see section 5.
+
+
+Scenario deployment options:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Many OPNFV scenarios can be deployed in different variants that do not
+justify creation of separate scenarios. An example would be HA (high
+availability) or non-HA configuration of otherwise identical scenarios.
+HA configurations deploy some components according to a redundancy
+model. Deployment options will also be used if the same scenario can be
+deployed on multiple types of hardware, i.e. Intel and ARM.
+
+In these cases multiple deployment options are defined for the same
+scenario. The set of distinguishable deployment option types (e.g.
+redundancy, processor architecture, etc.) will be pre-determined and
+each scenario will have to define at least one option for each option
+type.
+
+It is emphasized that virtual deployments vs. bare-metal deployments are
+intentionally not considered as deployment options. This should be a
+transparent feature of the installer based on the same scenario
+definition.
+
+For generic scenarios, there are certain expectations on the set of
+supported deployment options, e.g. a generic scenario should support at
+least an HA deployment and preferably both HA and non-HA.
+
+
+Scenario descriptor file:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Every scenario will be described in a scenario descriptor yaml file.
+This file shall contain all the necessary information for different users, such
+as the installers (which components to deploy etc.),
+the ci process (resource requirements in order to identify the right pod, machines, etc.).
+
+The scenario descriptor file will also document which installer
+can be used for a scenario and how the CI process can trigger automatic deployment
+for a scenario via one of the supported installers.
+
+
+MANO scenarios:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In early OPNFV releases, scenarios covered components of the infrastructure,
+that is NFVI and VIM.
+With the introduction of MANO, an additional dimension for scenarios is needed.
+The same MANO components need to be used together with each of the infrastructure
+scenarios. Thus MANO scenarios will define the MANO components and a list of
+infrastructure scenarios to work with. Please note that MANO scenarios follow
+the same lifecycle and rules for generic and specific scenarios like the
+infrastructure scenarios.
+
diff --git a/docs/release/scenario-lifecycle/scenario-tree+idea.png b/docs/release/scenario-lifecycle/scenario-tree+idea.png
new file mode 100644
index 00000000..b6d4d8ac
--- /dev/null
+++ b/docs/release/scenario-lifecycle/scenario-tree+idea.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/scenario-tree-danube.png b/docs/release/scenario-lifecycle/scenario-tree-danube.png
new file mode 100644
index 00000000..54c111e1
--- /dev/null
+++ b/docs/release/scenario-lifecycle/scenario-tree-danube.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/scenario-tree.png b/docs/release/scenario-lifecycle/scenario-tree.png
new file mode 100644
index 00000000..619b5a34
--- /dev/null
+++ b/docs/release/scenario-lifecycle/scenario-tree.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/sibling.png b/docs/release/scenario-lifecycle/sibling.png
new file mode 100644
index 00000000..82d48052
--- /dev/null
+++ b/docs/release/scenario-lifecycle/sibling.png
Binary files differ
diff --git a/docs/release/scenario-lifecycle/specific-scenarios.rst b/docs/release/scenario-lifecycle/specific-scenarios.rst
new file mode 100644
index 00000000..5f426e7d
--- /dev/null
+++ b/docs/release/scenario-lifecycle/specific-scenarios.rst
@@ -0,0 +1,34 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Specific Scenarios
+------------------
+
+Specific scenarios are used for OPNFV development and help to isolate a path of development.
+
+* Specific scenarios typically focus on a feature or topic.
+* Specific scenarios allow to advance in development for their main feature without
+ de-stabilizing other features.
+* Specific scenarios provide additional flexibility in their handling to allow the
+ development be agile.
+* Specific scenarios can use new version of their main upstream component or even
+ apply midstream patches during OPNFV deployment, i.e. the deployable artifact
+ is created via cross community CI or even only in OPNFV and not upstream.
+* Specific scenarios should have a limited life time. After a few releases, the feature
+ development should have matured and the feature made available different configurations
+ if possible. Typically the scenario then should be merged with other scenarios, best
+ with generic scenarios.
+* Normally specific scenarios will be released within the major OPNFV releases. But
+ they don't need to fulfill maturity requirements (stable upstream versions and repos,
+ stability testing), and can deviate in the used upstream versions.
+* In exceptional cases we might release a specific scenario independently, in case there
+ is a need. Thus specific scenarios provide a way to a more DevOps-like process.
+* Specific scenarios will likely have a shorter support period after release as they are of
+ interest to a smaller user community vs generic scenarios.
+* They will be granted less CI resources than generic scenarios, e.g. for periodic
+ CI jobs.
+* We may need to prioritize resources post-release for maintenance / regression testing.
+
+
diff --git a/docs/release/scenario-lifecycle/workflows.rst b/docs/release/scenario-lifecycle/workflows.rst
new file mode 100644
index 00000000..c07b0f70
--- /dev/null
+++ b/docs/release/scenario-lifecycle/workflows.rst
@@ -0,0 +1,70 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 OPNFV Ulrich Kleber (Huawei)
+
+
+Workflows
+----------
+
+Summary
+^^^^^^^^
+
+The general principle can be summarized by the following diagram:
+
+.. figure:: pdf-and-sdf.png
+
+Workflows for Scenario Owners
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The scenario owner creates the descriptor file based on the template.
+
+.. figure:: create-sdf.png
+
+Create new scenario from scratch
++++++++++++++++++++++++++++++++++++++++++++++++++
+
+This workflow will be exceptional.
+Most scenarios can easier start as children of an existing scenario;
+thus the author (scenario owner) can derive the SDF from the parent.
+But scenarios introducing new technologies affecting the whole architecture,
+e.g.containers, or higher level scenarios (e.g.MANO and Multisite which
+reference existing scenarios) can start without a parent.
+
+The following steps need to be done:
+
+ #. (Project team) Define set of components that need to be deployed
+ #. (Project) Find installers that can deploy the components
+ #. (Project&installer&CI) Agree on new keywords in SDF (e.g. component, feature name)
+ #. (Project) Assign owner
+ #. (Owner) Edit SDF, submit to octopus repo
+ #. (Owner) register scenario to participate in release as appropriate
+ #. (Owner&CI-team) Adapt jenkins triggers, so new scenario can be scheduled in valid installer/POD/Options combination(s).
+ #. (Installer-team) test deployment of components
+ #. (Project-team) Define test cases; register in test db
+
+Create child scenario by adding feature to existing scenario
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Add additional installer to a specific scenario
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+Add additional hardware or availability option to a scenario
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Merge child scenario back to parent
+++++++++++++++++++++++++++++++++++++
+
+Promote specific scenario to generic scenario
+++++++++++++++++++++++++++++++++++++++++++++++
+
+Introduce SDF for existing Danube/Euphrates scenarios
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+
+Workflows for Installers
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Workflows for CI Tools
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
diff --git a/labs/arm/idf-pod5.yaml b/labs/arm/idf-pod5.yaml
index 52ea6eda..6aaefb70 100644
--- a/labs/arm/idf-pod5.yaml
+++ b/labs/arm/idf-pod5.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 Enea AB and others.
+# 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
@@ -10,14 +10,59 @@
idf:
version: 0.1
+ # NOTE: Compass & Joid are not supported on this POD since they require at
+ # least 3 network ports on all nodes.
+ installer: ['apex', 'daisy', 'fuel']
+ net_config:
+ oob:
+ ip-range: 10.0.8.3-10.0.8.10
+ vlan: native
+ mask: 24
+ admin:
+ interface: 0
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 2183
+ 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: 2184
+ network: 10.2.0.0
+ mask: 24
+ private:
+ interface: 1
+ vlan: 2185-2200
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 1
+ vlan: native
+ network: 10.0.8.0
+ ip-range: 10.0.8.100-10.0.8.253 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.0.8.254
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
fuel:
jumphost:
bridges:
admin: 'admin7_br0'
mgmt: 'mgmt7_br0'
- private: ''
+ private: ~
public: 'public7_br0'
+ maas:
+ # MaaS timeouts (in minutes)
+ 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
@@ -36,3 +81,29 @@ idf:
busaddr: *busaddr
- interfaces: *interfaces
busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common:
+ nova_cpu_pinning: &nova_cpu_pinning_common "2,3,4,5,6,7"
+ 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: "4-7"
+ 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: "0xc"
+ compute_ovs_dpdk_socket_mem: "4096"
+ compute_ovs_dpdk_lcore_mask: "0xc"
+ 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-pod6.yaml b/labs/arm/idf-pod6.yaml
index db03686d..e07c2ea3 100644
--- a/labs/arm/idf-pod6.yaml
+++ b/labs/arm/idf-pod6.yaml
@@ -1,46 +1,115 @@
-##############################################################################
-# Copyright (c) 2017 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 6 installer descriptor file ###
-
-idf:
- version: 0.1
- fuel:
- jumphost:
- bridges:
- admin: 'admin14_br0'
- mgmt: 'mgmt14_br0'
- private: ''
- public: 'public14_br0'
- 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
+##############################################################################
+# 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 6 installer descriptor file ###
+
+idf:
+ version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'fuel']
+ net_config:
+ oob:
+ ip-range: 10.0.1.54-10.0.1.58
+ vlan: native
+ mask: 24
+ admin:
+ interface: 0
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 2323
+ 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: 2324
+ network: 10.2.0.0
+ mask: 24
+ private:
+ interface: 2
+ vlan: 2325-2340
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 1
+ vlan: native
+ network: 10.0.15.0
+ ip-range: 10.0.15.100-10.0.15.253 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.0.15.254
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: 'admin14_br0'
+ mgmt: 'mgmt14_br0'
+ private: ~
+ public: 'public14_br0'
+ maas:
+ # MaaS timeouts (in minutes)
+ 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
+ # 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-pod7.yaml b/labs/arm/idf-pod7.yaml
new file mode 100644
index 00000000..d21fd875
--- /dev/null
+++ b/labs/arm/idf-pod7.yaml
@@ -0,0 +1,136 @@
+##############################################################################
+# Copyright (c) 2017 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 7 installer descriptor file ###
+
+idf:
+ version: 0.1
+ # NOTE: Compass & Joid are not supported on this POD since they require at
+ # least 3 network ports on all nodes.
+ installer: ['apex', 'daisy', 'fuel']
+ net_config:
+ oob:
+ ip-range: 10.0.16.2-10.0.16.6
+ vlan: native
+ mask: 24
+ admin:
+ interface: 0
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 2343
+ 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: 2344
+ network: 10.2.0.0
+ mask: 24
+ private:
+ interface: 1
+ vlan: 2345-2360
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 1
+ vlan: native
+ network: 10.0.16.0
+ ip-range: 10.0.16.100-10.0.16.253 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.0.16.254
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: 'admin15_br0'
+ mgmt: 'mgmt15_br0'
+ private: ~
+ public: 'public15_br0'
+ maas:
+ # MaaS timeouts (in minutes)
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'enP5s3'
+ - 'enP2p1s0f2'
+ - 'enP2p1s0f1'
+ - 'enP2p1s0f3'
+ busaddr: &busaddr_a
+ # Bus-info reported by `ethtool -i ethX`
+ - '0005:90:00.0'
+ - '0002:01:00.2'
+ - '0002:01:00.1'
+ - '0002:01:00.3'
+ - interfaces: *interfaces_a
+ busaddr: *busaddr_a
+ - interfaces: *interfaces_a
+ busaddr: *busaddr_a
+ - interfaces: &interfaces_b
+ - 'eth0'
+ - 'eth1'
+ busaddr: &busaddr_b
+ - 'e0700000.xgmac'
+ - 'e0900000.xgmac'
+ - interfaces: *interfaces_b
+ busaddr: *busaddr_b
+ reclass:
+ node:
+ - compute_params: &compute_params_a
+ common:
+ nova_cpu_pinning: &nova_cpu_pinning_common_a "2-47"
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 8192
+ compute_hugepages_mount: /mnt/hugepages_2M
+ compute_kernel_isolcpu: *nova_cpu_pinning_common_a
+ dpdk:
+ nova_cpu_pinning: "4-47"
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 8192
+ compute_hugepages_mount: /mnt/hugepages_2M
+ compute_kernel_isolcpu: *nova_cpu_pinning_common_a
+ compute_dpdk_driver: vfio
+ compute_ovs_pmd_cpu_mask: "0xc"
+ compute_ovs_dpdk_socket_mem: "4096"
+ compute_ovs_dpdk_lcore_mask: "0xc"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: vfio-pci
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params_a
+ - compute_params: *compute_params_a
+ - compute_params: &compute_params_b
+ common:
+ nova_cpu_pinning: &nova_cpu_pinning_common_b "2,3,4,5,6,7"
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 8192
+ compute_hugepages_mount: /mnt/hugepages_2M
+ compute_kernel_isolcpu: *nova_cpu_pinning_common_b
+ dpdk:
+ nova_cpu_pinning: "4-7"
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 8192
+ compute_hugepages_mount: /mnt/hugepages_2M
+ compute_kernel_isolcpu: *nova_cpu_pinning_common_b
+ compute_dpdk_driver: vfio
+ compute_ovs_pmd_cpu_mask: "0xc"
+ compute_ovs_dpdk_socket_mem: "4096"
+ compute_ovs_dpdk_lcore_mask: "0xc"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: vfio-pci
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params_b
diff --git a/labs/arm/idf-pod8.yaml b/labs/arm/idf-pod8.yaml
new file mode 100644
index 00000000..2b0146ac
--- /dev/null
+++ b/labs/arm/idf-pod8.yaml
@@ -0,0 +1,113 @@
+##############################################################################
+# 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
+ mask: 24
+ 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..27ae3cdb
--- /dev/null
+++ b/labs/arm/idf-pod9.yaml
@@ -0,0 +1,117 @@
+##############################################################################
+# 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
+ mask: 24
+ 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: 14
+ timeout_deploying: 24
+ 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/idf-virtual2.yaml b/labs/arm/idf-virtual2.yaml
new file mode 100644
index 00000000..fa83e191
--- /dev/null
+++ b/labs/arm/idf-virtual2.yaml
@@ -0,0 +1,83 @@
+##############################################################################
+# 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 VIRTUAL 2 installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, should be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, should be second vnet interface, untagged
+ vlan: native
+ 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: 4
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2
+ vlan: native
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3
+ vlan: native
+ network: 10.0.9.0
+ ip-range: 10.0.9.100-10.0.9.253 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.0.9.254
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: 'public'
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'enp1s0'
+ - 'enp2s0'
+ - 'enp3s0'
+ - 'enp4s0'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:01:00.0'
+ - '0000:02:00.0'
+ - '0000:03:00.0'
+ - '0000:04:00.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
diff --git a/labs/arm/pod5.yaml b/labs/arm/pod5.yaml
index 7ee358fc..3a55678e 100644
--- a/labs/arm/pod5.yaml
+++ b/labs/arm/pod5.yaml
@@ -1,6 +1,14 @@
+##############################################################################
+# 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 5 descriptor file ###
+version: 1.0
details:
pod_owner: ENEA AB
contact: dan.lilliehorn@enea.com
@@ -9,40 +17,6 @@ details:
type: production
link: https://wiki.opnfv.org/display/pharos/Enea+Hosting
##############################################################################
-net_config:
- oob:
- ip-range: 10.0.8.3-10.0.8.10
- vlan: native
- admin:
- interface: 0
- vlan: native
- network: 192.168.11.0
- mask: 24
- mgmt:
- interface: 1
- vlan: 2183
- network: 172.16.10.0
- mask: 24
- storage:
- interface: 1
- vlan: 2184
- network: 10.2.0.0
- mask: 24
- private:
- interface: 1
- vlan: 2185
- network: 10.1.0.0
- mask: 24
- public:
- interface: 1
- vlan: native
- network: 10.0.8.0
- mask: 24
- gateway: 10.0.8.254
- dns:
- - 8.8.8.8
- - 8.8.4.4
-##############################################################################
jumphost:
name: jenkins-slave-arm-pod5
node:
@@ -74,24 +48,25 @@ jumphost:
interfaces:
# Connected, used only for admin/PXE
- mac_address: "68:05:ca:34:60:e3"
+ address: 192.168.11.1
speed: 1gb
features: ''
+ name: 'nic1'
# Not connected for now
- mac_address: "00:0f:b7:04:00:c1"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
# Not connected for now
- mac_address: "00:0f:b7:04:00:c2"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
# Connected, trunk for all other VLANs
- mac_address: "00:0f:b7:04:00:c0"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.1
- mgmt: 172.16.10.1
- public: 10.0.8.9
+ name: 'nic4'
##############################################################################
nodes:
- name: softiron-3
@@ -109,6 +84,7 @@ nodes:
disk_capacity: 128G
disk_type: ssd
disk_interface: sata
+ disk_rotation: 0
- name: 'disk2'
disk_capacity: 2048G
disk_type: hdd
@@ -123,18 +99,16 @@ nodes:
- mac_address: "e0:ff:f7:00:08:ae"
speed: 10gb
features: ''
+ name: 'nic1'
# Connected, trunk for all other VLANs
- mac_address: "e0:ff:f7:00:08:af"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.2
- mgmt: 172.16.10.141
- public: 10.0.8.141
+ name: 'nic2'
############################################################################
- name: softiron-4
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.8.4
@@ -143,17 +117,15 @@ nodes:
- mac_address: "e0:ff:f7:00:08:b1"
speed: 10gb
features: ''
+ name: 'nic1'
- mac_address: "e0:ff:f7:00:08:b2"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.3
- mgmt: 172.16.10.142
- public: 10.0.8.142
+ name: 'nic2'
############################################################################
- name: softiron-5
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.8.5
@@ -162,17 +134,15 @@ nodes:
- mac_address: "e0:ff:f7:00:08:bd"
speed: 10gb
features: ''
+ name: 'nic1'
- mac_address: "e0:ff:f7:00:08:be"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.4
- mgmt: 172.16.10.143
- public: 10.0.8.143
+ name: 'nic2'
############################################################################
- name: softiron-6
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.8.6
@@ -181,17 +151,15 @@ nodes:
- mac_address: "e0:ff:f7:00:08:c6"
speed: 10gb
features: ''
+ name: 'nic1'
- mac_address: "e0:ff:f7:00:08:c7"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.5
- mgmt: 172.16.10.101
- public: 10.0.8.101
+ name: 'nic2'
############################################################################
- name: softiron-7
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.8.7
@@ -200,10 +168,8 @@ nodes:
- mac_address: "e0:ff:f7:00:08:cf"
speed: 10gb
features: ''
+ name: 'nic1'
- mac_address: "e0:ff:f7:00:08:d0"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.6
- mgmt: 172.16.10.102
- public: 10.0.8.102
+ name: 'nic2'
diff --git a/labs/arm/pod6.yaml b/labs/arm/pod6.yaml
index f4f92ddd..3b558164 100644
--- a/labs/arm/pod6.yaml
+++ b/labs/arm/pod6.yaml
@@ -1,6 +1,14 @@
+##############################################################################
+# 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 6 descriptor file ###
+version: 1.0
details:
pod_owner: ENEA AB
contact: dan.lilliehorn@enea.com
@@ -9,40 +17,6 @@ details:
type: production
link: https://wiki.opnfv.org/display/pharos/Enea+Hosting
##############################################################################
-net_config:
- oob:
- ip-range: 10.0.1.54-10.0.1.58
- vlan: native
- admin:
- interface: 0
- vlan: native
- network: 192.168.11.0
- mask: 24
- mgmt:
- interface: 1
- vlan: 2323
- network: 172.16.10.0
- mask: 24
- storage:
- interface: 1
- vlan: 2324
- network: 10.2.0.0
- mask: 24
- private:
- interface: 1
- vlan: 2325
- network: 10.1.0.0
- mask: 24
- public:
- interface: 1
- vlan: native
- network: 10.0.15.0
- mask: 24
- gateway: 10.0.15.254
- dns:
- - 8.8.8.8
- - 8.8.4.4
-##############################################################################
jumphost:
name: jenkins-slave-arm-pod6
node:
@@ -60,6 +34,7 @@ jumphost:
disk_capacity: 120G
disk_type: ssd
disk_interface: sata
+ disk_rotation: 0
## /dev/sdb
- name: disk2
disk_capacity: 1T
@@ -86,24 +61,25 @@ jumphost:
interfaces:
## eth0, Not connected for now
- mac_address: "00:01:73:02:36:d4"
+ address: 192.168.11.1
speed: 1gb
features: ''
+ name: 'nic1'
## eth1, Connected, used only for admin/PXE
- mac_address: "00:01:73:02:36:d5"
speed: 1gb
features: ''
+ name: 'nic2'
## eth2, Not connected for now
- mac_address: "00:01:73:02:36:d6"
speed: 1gb
features: ''
+ name: 'nic3'
## eth3, Connected, trunk for all other VLANs
- mac_address: "00:01:73:02:36:d7"
speed: 10gb
features: ''
- fixed_ips:
- admin: 192.168.11.1
- mgmt: 172.16.10.1
- public: 10.0.15.9
+ name: 'nic4'
##############################################################################
nodes:
- name: cn8890-24
@@ -121,6 +97,7 @@ nodes:
disk_capacity: 480G
disk_type: ssd
disk_interface: sata
+ disk_rotation: 0
remote_management:
<<: *remote_params
address: 10.0.1.54
@@ -130,34 +107,36 @@ nodes:
- mac_address: "68:05:ca:5a:c3:a7"
speed: 1gb
features: ''
+ name: 'nic1'
## enP2p1s0f1, Connected, trunk for all other VLANs
- mac_address: "1c:1b:0d:e8:fa:83"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
## enP2p1s0f2, Not connected for now
- mac_address: "1c:1b:0d:e8:fa:84"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic3'
## enP2p1s0f3, Not connected for now
- mac_address: "1c:1b:0d:e8:fa:85"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic4'
## enP2p1s0f4, Not connected for now
- mac_address: "1c:1b:0d:e8:fa:86"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic5'
## enP2p1s0f5, Not connected for now
- mac_address: "1c:1b:0d:e8:fa:87"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.2
- mgmt: 172.16.10.142
- public: 10.0.15.142
+ name: 'nic6'
############################################################################
- name: cn8890-25
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.1.55
@@ -166,29 +145,31 @@ nodes:
- mac_address: "68:05:ca:5a:c3:bc"
speed: 1gb
features: ''
+ name: 'nic1'
- mac_address: "1c:1b:0d:e8:fb:a5"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "1c:1b:0d:e8:fb:a6"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "1c:1b:0d:e8:fb:a7"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic4'
- mac_address: "1c:1b:0d:e8:fb:a8"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic5'
- mac_address: "1c:1b:0d:e8:fb:a9"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.3
- mgmt: 172.16.10.143
- public: 10.0.15.143
+ name: 'nic6'
############################################################################
- name: cn8890-26
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.1.56
@@ -197,29 +178,31 @@ nodes:
- mac_address: "68:05:ca:61:b9:00"
speed: 1gb
features: ''
+ name: 'nic1'
- mac_address: "1c:1b:0d:e8:fa:65"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "1c:1b:0d:e8:fa:66"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "1c:1b:0d:e8:fa:67"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic4'
- mac_address: "1c:1b:0d:e8:fa:68"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic5'
- mac_address: "1c:1b:0d:e8:fa:69"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.4
- mgmt: 172.16.10.144
- public: 10.0.15.144
+ name: 'nic6'
############################################################################
- name: cn8890-27
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.1.57
@@ -228,29 +211,31 @@ nodes:
- mac_address: "68:05:ca:57:f7:16"
speed: 1gb
features: ''
+ name: 'nic1'
- mac_address: "1c:1b:0d:e8:fb:19"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "1c:1b:0d:e8:fb:1a"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "1c:1b:0d:e8:fb:1b"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic4'
- mac_address: "1c:1b:0d:e8:fb:1c"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic5'
- mac_address: "1c:1b:0d:e8:fb:1d"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.5
- mgmt: 172.16.10.145
- public: 10.0.15.145
+ name: 'nic6'
############################################################################
- name: cn8890-28
node: *nodeparams
- disk: *disks
+ disks: *disks
remote_management:
<<: *remote_params
address: 10.0.1.58
@@ -259,22 +244,24 @@ nodes:
- mac_address: "68:05:ca:61:97:5a"
speed: 1gb
features: ''
+ name: 'nic1'
- mac_address: "1c:1b:0d:e8:fb:7d"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "1c:1b:0d:e8:fb:7e"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "1c:1b:0d:e8:fb:7f"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic4'
- mac_address: "1c:1b:0d:e8:fb:80"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic5'
- mac_address: "1c:1b:0d:e8:fb:81"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.6
- mgmt: 172.16.10.146
- public: 10.0.15.146
+ name: 'nic6'
diff --git a/labs/arm/pod7.yaml b/labs/arm/pod7.yaml
new file mode 100644
index 00000000..bb624799
--- /dev/null
+++ b/labs/arm/pod7.yaml
@@ -0,0 +1,241 @@
+##############################################################################
+# 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 7 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-pod7
+ node:
+ type: baremetal
+ vendor: AppliedMicro
+ model: XGene 1
+ arch: aarch64
+ cpus: 1
+ cpu_cflags: fp asimd evtstrm cpuid
+ cores: 8
+ memory: 32G
+ disks:
+ # /dev/sda
+ - name: disk1
+ disk_capacity: 120G
+ disk_type: ssd
+ disk_interface: sata
+ disk_rotation: 0
+ # /dev/sdb
+ - name: disk2
+ disk_capacity: 1T
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ # /dev/sdc
+ - name: disk3
+ disk_capacity: 1T
+ 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: 0.0.0.0
+ mac_address: "00:00:00:00:00:00"
+ interfaces:
+ # eth0, Not connected
+ - mac_address: "00:01:73:02:3b:28"
+ address: 192.168.11.1
+ speed: 1gb
+ features: ''
+ name: 'nic1'
+ # eth1, Connected for PXE
+ - mac_address: "00:01:73:02:3b:29"
+ speed: 1gb
+ features: ''
+ name: 'nic2'
+ # eth2, Not connected
+ - mac_address: "00:01:73:02:3b:2a"
+ speed: 1gb
+ features: ''
+ name: 'nic3'
+ # eth3, Connected for truck traffic
+ - mac_address: "00:01:73:02:3b:2b"
+ speed: 10gb
+ features: ''
+ name: 'nic4'
+##############################################################################
+nodes:
+ - name: cn8890-6
+ node: &nodeparams_a
+ type: baremetal
+ vendor: Cavium
+ model: ThunderX
+ arch: aarch64
+ cpus: 1
+ cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32
+ cores: 48
+ memory: 128G
+ disks: &disks_a
+ - name: 'disk1'
+ disk_capacity: 500G
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ remote_management:
+ <<: *remote_params
+ address: 10.0.16.2
+ mac_address: "40:8D:5C:BA:D2:32"
+ interfaces:
+ # enP5s3, Connected, used only for admin/PXE
+ - mac_address: "68:05:ca:3d:93:14"
+ speed: 1gb
+ features: ''
+ name: 'nic1'
+ # enP2p1s0f2, Connected, trunk for all other VLANs
+ - mac_address: "00:0f:b7:03:00:c1"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ # enP2p1s0f1, Not connected
+ - mac_address: "00:0f:b7:03:00:c0"
+ speed: 1gb
+ features: ''
+ name: 'nic3'
+ # enP2p1s0f3, Not connected
+ - mac_address: "00:0f:b7:03:00:c2"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ ############################################################################
+ - name: cn8890-8
+ node: *nodeparams_a
+ disks: *disks_a
+ remote_management:
+ <<: *remote_params
+ address: 10.0.16.3
+ mac_address: "40:8D:5C:BA:B9:60"
+ interfaces:
+ # enP5s3, Connected, used only for admin/PXE
+ - mac_address: "68:05:ca:3f:7f:f3"
+ speed: 1gb
+ features: ''
+ name: 'nic1'
+ # enP2p1s0f2, Connected, trunk for all other VLANs
+ - mac_address: "00:0f:b7:05:00:c1"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ # enP2p1s0f1, Not connected
+ - mac_address: "00:0f:b7:05:00:c0"
+ speed: 1gb
+ features: ''
+ name: 'nic3'
+ # enP2p1s0f3, Not connected
+ - mac_address: "00:0f:b7:05:00:c2"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ ############################################################################
+ - name: cn8890-10
+ node: *nodeparams_a
+ disks: *disks_a
+ remote_management:
+ <<: *remote_params
+ address: 10.0.16.4
+ mac_address: "40:8D:5C:BA:B9:65"
+ interfaces:
+ # enP5s3, Connected, used only for admin/PXE
+ - mac_address: "68:05:ca:3d:93:0f"
+ speed: 1gb
+ features: ''
+ name: 'nic1'
+ # enP2p1s0f2, Connected, trunk for all other VLANs
+ - mac_address: "00:0f:b7:07:00:c1"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ # enP2p1s0f1, Not connected
+ - mac_address: "00:0f:b7:07:00:c0"
+ speed: 1gb
+ features: ''
+ name: 'nic3'
+ # enP2p1s0f3, Not connected
+ - mac_address: "00:0f:b7:07:00:c2"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ ############################################################################
+ - name: softiron-1
+ node: &nodeparams_b
+ type: baremetal
+ vendor: American Megatrends Inc
+ model: Overdrive/Supercharger
+ arch: aarch64
+ cpus: 1
+ cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32
+ cores: 8
+ memory: 32G
+ disks: &disks_b
+ # dev/sda
+ - name: 'disk1'
+ disk_capacity: 128G
+ 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
+ remote_management:
+ <<: *remote_params
+ address: 10.0.16.5
+ mac_address: "E0:FF:F7:00:04:21"
+ interfaces:
+ # eth0, Connected, used only for admin/PXE
+ - mac_address: "e0:ff:f7:00:05:96"
+ speed: 1gb
+ features: ''
+ name: 'nic1'
+ # eth1, Connected, trunk for all other VLANs
+ - mac_address: "e0:ff:f7:00:05:97"
+ speed: 1gb
+ features: ''
+ name: 'nic2'
+ ############################################################################
+ - name: softiron-2
+ node: *nodeparams_b
+ disks: *disks_b
+ remote_management:
+ <<: *remote_params
+ address: 10.0.16.6
+ mac_address: "E0:FF:F7:00:04:29"
+ interfaces:
+ # eth0, Connected, used only for admin/PXE
+ - mac_address: "e0:ff:f7:00:05:93"
+ speed: 1gb
+ features: ''
+ name: 'nic1'
+ # eth1, Connected, trunk for all other VLANs
+ - mac_address: "e0:ff:f7:00:05:94"
+ speed: 1gb
+ features: ''
+ name: 'nic2'
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/arm/virtual2.yaml b/labs/arm/virtual2.yaml
new file mode 100644
index 00000000..3c2b3b10
--- /dev/null
+++ b/labs/arm/virtual2.yaml
@@ -0,0 +1,137 @@
+##############################################################################
+# 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 VIRTUAL 2 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-virtual2
+ node:
+ type: baremetal
+ vendor: Cavium
+ model: ThunderX
+ arch: aarch64
+ cpus: 1
+ cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32
+ cores: 48
+ memory: 128G
+ disks:
+ - name: disk1
+ disk_capacity: 500G
+ 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.1.34
+ mac_address: "00:00:00:00:00:00"
+ interfaces:
+ # Connected, used only for admin/PXE, enm5p144s0
+ - mac_address: "68:05:ca:3d:93:0c"
+ speed: 1gb
+ features: 'dpdk|sriov'
+ name: 'nic1'
+ # Not connected for now, enm2p1s0f1
+ - mac_address: "00:0f:b7:06:00:c0"
+ speed: 40gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ # Connected, trunk for public, enm2p1s0f2
+ - mac_address: "00:0f:b7:06:00:c1"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ # Connected, enm2p1s0f3
+ - mac_address: "00:0f:b7:06:00:c2"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ arch: aarch64
+ cpus: 1
+ cpu_cflags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: 7200
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
diff --git a/labs/bii/idf-pod1.yaml b/labs/bii/idf-pod1.yaml
new file mode 100644
index 00000000..00b6d126
--- /dev/null
+++ b/labs/bii/idf-pod1.yaml
@@ -0,0 +1,75 @@
+##############################################################################
+# Copyright (c) 2018 BII-CFIEC 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
+##############################################################################
+---
+### This is a BII POD1 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ # NOTE: Temporarily disable Daisy check, since it requires 'storage' network
+ # to be defined in 'idf.net_config' below.
+ installer: ['apex', 'compass4nfv', 'fuel']
+ net_config:
+ oob: # IPMI management network
+ interface: 0
+ ip-range: 192.168.20.200-192.168.20.205
+ vlan: native
+ mask: 29
+ admin:
+ interface: 0
+ vlan: native
+ network: 10.20.0.0
+ mask: 24
+ mgmt:
+ interface: 2
+ vlan: 101
+ network: 192.168.101.0
+ mask: 24
+ private:
+ interface: 3
+ vlan: 102-132
+ network: 192.168.102.0
+ mask: 24
+ public:
+ interface: 1
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ gateway: 192.168.20.1
+ dns:
+ - 114.114.114.114
+ - 8.8.8.8
+ fuel:
+ jumphost:
+ bridges:
+ admin: 'br-pxe'
+ mgmt: 'br-ctl'
+ private: ~
+ public: ~
+ 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
+ - 'eno1'
+ - 'eno2'
+ - 'eno3'
+ - 'eno4'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:01:00.0'
+ - '0000:01:00.1'
+ - '0000:02:00.0'
+ - '0000:02:00.1'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
diff --git a/labs/bii/pod1.yaml b/labs/bii/pod1.yaml
index 29d9a4e2..40ac58d4 100644
--- a/labs/bii/pod1.yaml
+++ b/labs/bii/pod1.yaml
@@ -1,193 +1,251 @@
-### This is a BII POD1 descriptor file ###
+##############################################################################
+# Copyright (c) 2018 BII-CFIEC 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
+##############################################################################
---
+### This is a BII POD1 descriptor file ###
+
+version: 1.0
details:
- pod owner: ylong@BII
+ pod_owner: ylong
contact: ylong@biigroup.cn, zjtang@biigroup.cn
lab: BII Pharos LAB
location: BDA, Beijing, China
type: development
link: https://wiki.opnfv.org/display/pharos/BII
###################################################
-net_config:
- admin:
- interface: 0
- vlan: 0
- network: 10.20.0.0
- mask: 24
- gateway: 10.20.0.1
- dns: 10.20.0.1
- mgmt:
- interface: 0
- vlan: 102
- network: 192.168.102.0
- mask: 24
- storage:
- interface: 0
- vlan: 101
- network: 192.168.101.0
- mask: 24
- private:
- interface: 0
- vlan: 103
- network: 192.168.103.0
- mask: 24
- public:
- interface: 1
- vlan: 0
- network: 192.168.20.0
- mask: 24
-###################################################
jumphost:
name: fuel
node:
- type: baremetal # can be virtual or baremetal
+ type: baremetal
vendor: Dell Inc.
model: powerEdge 720
arch: x86_64
cpus: 2
- cpu_cflags: haswell # add values based on CFLAGS in GCC
- cores: 8 # physical cores, not including hyper-threads
+ cpu_cflags: haswell
+ cores: 4
memory: 16G
- disks: # disk list
- - name: 'disk1' # first disk
- disk_capacity: 300G # volume
- disk_type: hdd # several disk types possible
- disk_interface: sas # several interface types possible
- disk_rotation: 15000 # define rotation speed of disk
- - name: 'disk2' # second disk
- disk_capacity: 300G
- disk_type: hdd
- disk_interface: sas
- disk_rotation: 15000
- - name: 'disk3' # third disk
- disk_capacity: 300G
- disk_type: hdd
- disk_interface: sas
- disk_rotation: 15000
- - name: 'disk4' # fourth disk
- disk_capacity: 300G
- disk_type: hdd
- disk_interface: sas
- disk_rotation: 15000
- - name: 'disk5' # fifth disk
- disk_capacity: 300G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 1100G
disk_type: hdd
disk_interface: sas
disk_rotation: 15000
- os: centos-7.3 # operation system installed
+ os: ubuntu-16.04
remote_params: &remote_params
type: ipmi
versions:
- 2.0
- user:
- pass:
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAUnK7YuVSij4ALxIM+562DzeMEk0TaCoAOAcq
+ vHfnXEGI6IVpLtA/5d8y+tcmy82azpcNAIRvIGT08iEPwxo/Sa8MIIB1QFd5
+ mC2I+pMhbowXmCUlU3m7gxDvsOYVkUYfxswtQoKUFSnG2mAZQA8L2Vpfbc2V
+ fWOOQlsNuJ4g7eN22bpODUDi5XzdFuBNUhRYNGQwGre4OUM6Qb+5QyXN8hKA
+ rHo7bI+36WWQSTdZHKXr9sJviQsWqAYXDRNIthdUbb8FlkAUdtV65eUB36hB
+ 7KEjbjK8aMpsQIIOjCmc/LONIFzkrKC2nGWP83iG++aWnoXW+hHSO9bGhfrt
+ 41I3JjA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBC+t7WDS6WRtLT3UTTx
+ wXGCgBBrhvF5qjnbDl55TN2fhb2k]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAtsyAgyyRp3U3uMkyG0tHSW0e1y7Qq3LCpIRs
+ E0K6745xTmVPMLzbL+8OpgBIieLFukZnWNoLtdoEfZlYbw4En5DSMpkkmWgi
+ 35329Bs2eIU4lNUtjFi6UvHMB+j+gvVpObRgn1EfC2ngbgognw94+aA2LBiZ
+ oWKIk7iRmtLTguZLd72mdV+a/Ukk7lMeYz4OF4c4myMZzk4c1F9L3VLYux0+
+ xcbZw/WRZHgYg1YHONX2WNHTf91cyd282BG7rLNaY4mO7XWU9mpmqeWHjJ7N
+ fpwPEfwt8dJq2b+p0o1FDRyAEF375AmMfwqupDk33fecFj6elr4EMzeusrFh
+ RiV9wjA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBABjHF90Ke9WX+NZGzZ
+ MUPLgBDJhm3lONPvX22d5DFMpoXy]
remote_management:
<<: *remote_params
- address: 192.168.20.200
+ address: 192.168.20.200/24
mac_address: "44:A8:42:1A:68:78"
- interfaces: # physical interface list
- - "44:a8:42:15:10:03"
- - "44:a8:42:15:10:04"
- fixed_ips:
- admin: 10.20.0.2
- public: 192.168.20.5
-###################################################
+ interfaces:
+ - name: 'nic1'
+ address: 10.10.0.2/24
+ mac_address: "44:a8:42:15:10:03"
+ vlan: native
+ - name: 'nic2'
+ address: 192.168.20.5/24
+ mac_address: "44:a8:42:15:10:04"
+ vlan: native
+ - name: 'nic3'
+ address: 192.168.101.2/24
+ mac_address: "44:a8:42:15:10:05"
+ vlan: 101
+ - name: 'nic4'
+ mac_address: "44:a8:42:15:10:06"
nodes:
- - name: compute1
+ - name: pod1-ctl01
node: &nodeparas
type: baremetal
vendor: Dell Inc.
model: powerEdge 720
arch: x86_64
cpus: 2
- cpu_cflags: haswell # add values based on CFLAGS in GCC
- cores: 8 # physical cores, not including hyper-threads
+ cpu_cflags: haswell
+ cores: 4
memory: 32G
- disks: &disk_A # disk list
- - name: 'disk1' # first disk
- disk_capacity: 128G # volume
- disk_type: ssd # several disk types possible
- disk_interface: sas # several interface types possible
- disk_rotation: 15000 # define rotation speed of disk
- - name: 'disk2' # second disk
- disk_capacity: 600G
- disk_type: hdd
+ disks: &disks_A
+ - name: 'disk1'
+ disk_capacity: 128G
+ disk_type: ssd
disk_interface: sas
disk_rotation: 15000
- - name: 'disk3' # third disk
- disk_capacity: 600G
- disk_type: hdd
- disk_interface: sas
- disk_rotation: 15000
- - name: 'disk4' # fourth disk
- disk_capacity: 600G
- disk_type: hdd
- disk_interface: sas
- disk_rotation: 15000
- - name: 'disk5' # fifth disk
- disk_capacity: 600G
+ - name: 'disk2'
+ disk_capacity: 2400G
disk_type: hdd
disk_interface: sas
disk_rotation: 15000
remote_management:
<<: *remote_params
- address: 192.168.20.201
- mac_address: "44:A8:42:1A:70:BE"
- interfaces: # physical interface list
- - "44:a8:42:14:ee:64"
- fixed_ips:
- admin: 10.20.0.4
- ########################################
- - name: compute2
+ address: 192.168.20.203/24
+ mac_address: "44:A8:42:1A:49:A5"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ features: ''
+ address: 10.20.0.16/24
+ mac_address: "44:a8:42:14:cd:0d"
+ vlan: native
+ - name: 'nic2'
+ speed: 1gb
+ features: ''
+ address: 192.168.20.16/24
+ mac_address: "44:a8:42:14:cd:0e"
+ vlan: native
+ - name: 'nic3'
+ speed: 1gb
+ features: ''
+ address: 192.168.101.16/24
+ mac_address: "44:a8:42:14:cd:0f"
+ vlan: 101
+ - name: 'nic4'
+ speed: 1gb
+ features: ''
+ mac_address: "44:a8:42:14:cd:10"
+ - name: pod1-ctl02
node: *nodeparas
disks: *disks_A
remote_management:
<<: *remote_params
- address: 192.168.20.202
- mac_address: "44:A8:42:1A:76:26"
+ address: 192.168.20.204/24
+ mac_address: "44:A8:42:1A:76:2C"
interfaces:
- - "44:a8:42:14:cb:31"
- fixed_ips:
- admin: 10.20.0.5
- ########################################
- - name: controller1
+ - name: 'nic1'
+ speed: 1gb
+ features: ''
+ address: 10.20.0.17/24
+ mac_address: "44:a8:42:15:1b:e6"
+ vlan: native
+ - name: 'nic2'
+ speed: 1gb
+ features: ''
+ address: 192.168.20.17/24
+ mac_address: "44:a8:42:15:1b:e7"
+ vlan: native
+ - name: 'nic3'
+ speed: 1gb
+ features: ''
+ address: 192.168.101.16/24
+ mac_address: "44:a8:42:15:1b:e8"
+ vlan: 101
+ - name: 'nic4'
+ speed: 1gb
+ features: ''
+ mac_address: "44:a8:42:15:1b:e9"
+ - name: pod1-ctl03
node: *nodeparas
disks: *disks_A
remote_management:
<<: *remote_params
- address: 192.168.20.203
- mac_address: "44:A8:42:1A:49:A5"
+ address: 192.168.20.205/24
+ mac_address: "44:A8:42:13:D5:1B"
interfaces:
- - "44:a8:42:14:cd:0d"
- - "44:a8:42:14:cd:0e"
- fixed_ips:
- admin: 10.20.0.6
- public: 192.168.20.12
- ########################################
- - name: controller2
+ - name: 'nic1'
+ speed: 1gb
+ features: ''
+ address: 10.20.0.18/24
+ mac_address: "44:a8:42:14:fc:1a"
+ vlan: native
+ - name: 'nic2'
+ speed: 1gb
+ features: ''
+ address: 192.168.20.18/24
+ mac_address: "44:a8:42:14:fc:1b"
+ vlan: native
+ - name: 'nic3'
+ speed: 1gb
+ features: ''
+ address: 192.168.101.18/24
+ mac_address: "44:a8:42:14:fc:1c"
+ vlan: 101
+ - name: 'nic4'
+ speed: 1gb
+ features: ''
+ mac_address: "44:a8:42:14:fc:1d"
+ - name: pod1-cmp01
node: *nodeparas
disks: *disks_A
remote_management:
<<: *remote_params
- address: 192.168.20.204
- mac_address: "44:A8:42:1A:76:2C"
+ address: 192.168.20.201/24
+ mac_address: "44:A8:42:1A:70:BE"
interfaces:
- - "44:a8:42:15:1b:e6"
- - "44:a8:42:15:1b:e7"
- fixed_ips:
- admin: 10.20.0.7
- public: 192.168.20.13
- ########################################
- - name: controller3
+ - name: 'nic1'
+ speed: 1gb
+ features: ''
+ address: 10.20.0.14/24
+ mac_address: "44:a8:42:14:ee:64"
+ vlan: native
+ - name: 'nic2'
+ speed: 1gb
+ features: ''
+ address: 192.168.20.14/24
+ mac_address: "44:a8:42:14:ee:65"
+ vlan: native
+ - name: 'nic3'
+ speed: 1gb
+ features: ''
+ address: 192.168.101.14/24
+ mac_address: "44:a8:42:14:ee:66"
+ vlan: 101
+ - name: 'nic4'
+ speed: 1gb
+ features: ''
+ mac_address: "44:a8:42:14:ee:67"
+ vlan: 102
+ - name: pod1-cmp02
node: *nodeparas
disks: *disks_A
remote_management:
<<: *remote_params
- address: 192.168.20.205
- mac_address: "44:A8:42:13:D5:1B"
+ address: 192.168.20.202/24
+ mac_address: "44:A8:42:1A:76:26"
interfaces:
- - "44:a8:42:14:fc:1a"
- - "44:a8:42:14:fc:1b"
- fixed_ips:
- admin: 10.20.0.8
- public: 192.168.20.14
+ - name: 'nic1'
+ speed: 1gb
+ features: ''
+ address: 10.20.0.13/24
+ mac_address: "44:a8:42:14:cb:31"
+ vlan: native
+ - name: 'nic2'
+ speed: 1gb
+ features: ''
+ address: 192.168.20.13/24
+ mac_address: "44:a8:42:14:cb:32"
+ vlan: native
+ - name: 'nic3'
+ speed: 1gb
+ features: ''
+ address: 192.168.101.13/24
+ mac_address: "44:a8:42:14:cb:33"
+ vlan: 101
+ - name: 'nic4'
+ speed: 1gb
+ features: ''
+ mac_address: "44:a8:42:14:cb:34"
+ vlan: 102
diff --git a/labs/ericsson/idf-pod1.yaml b/labs/ericsson/idf-pod1.yaml
index 14f74d41..c08016b2 100644
--- a/labs/ericsson/idf-pod1.yaml
+++ b/labs/ericsson/idf-pod1.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea AB and others.
+# Copyright (c) 2018 Ericsson AB, 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
@@ -10,14 +10,54 @@
idf:
version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'fuel']
+ net_config:
+ oob:
+ interface: 0
+ ip-range: 172.16.1.16-172.16.1.21
+ vlan: native
+ mask: 29
+ admin:
+ interface: 4
+ vlan: native
+ network: 192.168.11.0 # Untagged, 'PXE/Admin' for MaaS (no IP on JP)
+ mask: 24
+ mgmt:
+ interface: 2
+ vlan: 81
+ network: 192.168.10.0
+ ip-range: 192.168.10.10-192.168.10.254 # Some IPs are in use by lab infra
+ mask: 24
+ storage:
+ interface: 2
+ vlan: 82
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 3
+ vlan: 1000-1030
+ network: 192.168.2.0
+ mask: 24
+ public:
+ interface: 2
+ vlan: 80
+ network: 100.64.200.0
+ ip-range: 100.64.200.100-100.64.200.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 100.64.200.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
fuel:
jumphost:
bridges:
admin: 'pxebr'
mgmt: 'br-mgmt'
- private: ''
+ 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/idf-pod2.yaml b/labs/ericsson/idf-pod2.yaml
new file mode 100644
index 00000000..301241b6
--- /dev/null
+++ b/labs/ericsson/idf-pod2.yaml
@@ -0,0 +1,132 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ERICSSON POD 2 installer descriptor file ###
+idf:
+ version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'osa']
+ net_config: &net_config
+ admin:
+ interface: 2
+ network: 192.168.122.0 # Untagged, 'PXE/Admin' on wiki, different IP
+ mask: 24
+ mgmt:
+ interface: 1
+ network: 172.29.236.0
+ mask: 22
+ storage:
+ interface: 3
+ network: 172.29.240.0 # Tagged, not the same with 'storage' on wiki
+ mask: 22
+ private:
+ interface: 4
+ network: 172.29.242.0 # Tagged, not the same with 'private' on wiki
+ mask: 22
+ public:
+ interface: 2
+ network: 192.168.122.0 # Untagged, 'public' on wiki
+ mask: 24
+ gateway: 192.168.122.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ osa: &idf_osa
+ nodes_roles:
+ opnfv: [deployment]
+ node1: [controller]
+ node2: [compute, storage]
+ node3: [compute, storage]
+ node4: [controller]
+ node5: [controller]
+ groups:
+ openstack:
+ - controller
+ - compute
+ - storage
+ hostnames:
+ opnfv: opnfv
+ node1: controller00
+ node2: compute00
+ node3: compute01
+ node4: controller01
+ node5: controller02
+ network:
+ # network mapping
+ network_mapping:
+ # Management network used by installer components to communicate
+ net-mgmt: admin
+ # Storage Network
+ net-storage: storage
+ # Internal network for communication between VNF
+ net-internal: private
+ # Public network for VNF remote acces (ext-net in Openstack)
+ net-vnf: public
+ deployment_host_interfaces:
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'eno49'
+ - 'ens1f0'
+ - 'ens1f1'
+ - 'ens2f0'
+ - 'ens2f1'
+ kubespray: &idf_kubespray
+ nodes_roles:
+ opnvf: [opnfv]
+ node1: [kube-master, etcd, vault]
+ node2: [kube-node]
+ node3: [kube-node]
+ node4: [kube-master, etcd, vault]
+ node5: [kube-master, etcd, vault]
+ groups:
+ k8s-cluster:
+ - kube-node
+ - kube-master
+ hostnames:
+ opnfv: opnfv
+ node1: master1
+ node2: node1
+ node3: node2
+ node4: master2
+ node5: master3
+
+
+xci:
+ pod_name: pod1
+ net_config: *net_config
+ flavors:
+ mini:
+ - opnfv
+ - node1
+ - node2
+ noha:
+ - opnfv
+ - node1
+ - node2
+ - node3
+ ha:
+ - opnfv
+ - node1
+ - node2
+ - node3
+ - node4
+ - node5
+
+ # net_config network to be used by the PXE
+ pxe_network: public
+
+ # As the MAC of generated bridges are generated, we use a list of local
+ # bridges to create libvirt networks
+ jumphost_interfaces_bridges:
+ - name: virbr0
+ ip: 192.168.122.1
+
+ extra_addresses:
+ opnfv: 192.168.122.2
+
+ installers:
+ osa: *idf_osa
+ kubespray: *idf_kubespray
diff --git a/labs/ericsson/idf-virtual-pod1bl01.yaml b/labs/ericsson/idf-virtual-pod1bl01.yaml
new file mode 100644
index 00000000..528152cb
--- /dev/null
+++ b/labs/ericsson/idf-virtual-pod1bl01.yaml
@@ -0,0 +1,104 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual-pod1bl01 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, will be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, will be second vnet interface, untagged
+ vlan: native
+ 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: 4 # when used, will be fifth vnet interface, untagged
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2 # when used, will be third vnet interface, untagged
+ vlan: 1000-1999
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3 # when used, will be fourth vnet interface, untagged
+ vlan: native
+ network: 10.16.0.0
+ ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.16.0.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: ~
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'ens3'
+ - 'ens4'
+ - 'ens5'
+ - 'ens6'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:00:03.0'
+ - '0000:00:04.0'
+ - '0000:00:05.0'
+ - '0000:00:06.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common: &compute_params_common
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 2048
+ compute_hugepages_mount: /mnt/hugepages_2M
+ dpdk:
+ <<: *compute_params_common
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x8"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: igb_uio
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
diff --git a/labs/ericsson/idf-virtual1.yaml b/labs/ericsson/idf-virtual1.yaml
new file mode 100644
index 00000000..e7ba00fb
--- /dev/null
+++ b/labs/ericsson/idf-virtual1.yaml
@@ -0,0 +1,104 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual1 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, will be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, will be second vnet interface, untagged
+ vlan: native
+ 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: 4 # when used, will be fifth vnet interface, untagged
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2 # when used, will be third vnet interface, untagged
+ vlan: 1000-1999
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3 # when used, will be fourth vnet interface, untagged
+ vlan: native
+ network: 10.16.0.0
+ ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.16.0.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: ~
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'ens3'
+ - 'ens4'
+ - 'ens5'
+ - 'ens6'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:00:03.0'
+ - '0000:00:04.0'
+ - '0000:00:05.0'
+ - '0000:00:06.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common: &compute_params_common
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 2048
+ compute_hugepages_mount: /mnt/hugepages_2M
+ dpdk:
+ <<: *compute_params_common
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x8"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: igb_uio
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
diff --git a/labs/ericsson/idf-virtual2.yaml b/labs/ericsson/idf-virtual2.yaml
new file mode 100644
index 00000000..586661a4
--- /dev/null
+++ b/labs/ericsson/idf-virtual2.yaml
@@ -0,0 +1,104 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual2 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, will be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, will be second vnet interface, untagged
+ vlan: native
+ 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: 4 # when used, will be fifth vnet interface, untagged
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2 # when used, will be third vnet interface, untagged
+ vlan: 1000-1999
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3 # when used, will be fourth vnet interface, untagged
+ vlan: native
+ network: 10.16.0.0
+ ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.16.0.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: ~
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'ens3'
+ - 'ens4'
+ - 'ens5'
+ - 'ens6'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:00:03.0'
+ - '0000:00:04.0'
+ - '0000:00:05.0'
+ - '0000:00:06.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common: &compute_params_common
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 2048
+ compute_hugepages_mount: /mnt/hugepages_2M
+ dpdk:
+ <<: *compute_params_common
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x8"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: igb_uio
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
diff --git a/labs/ericsson/idf-virtual3.yaml b/labs/ericsson/idf-virtual3.yaml
new file mode 100644
index 00000000..4a7aa82d
--- /dev/null
+++ b/labs/ericsson/idf-virtual3.yaml
@@ -0,0 +1,104 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual3 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, will be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, will be second vnet interface, untagged
+ vlan: native
+ 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: 4 # when used, will be fifth vnet interface, untagged
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2 # when used, will be third vnet interface, untagged
+ vlan: 1000-1999
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3 # when used, will be fourth vnet interface, untagged
+ vlan: native
+ network: 10.16.0.0
+ ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.16.0.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: ~
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'ens3'
+ - 'ens4'
+ - 'ens5'
+ - 'ens6'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:00:03.0'
+ - '0000:00:04.0'
+ - '0000:00:05.0'
+ - '0000:00:06.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common: &compute_params_common
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 2048
+ compute_hugepages_mount: /mnt/hugepages_2M
+ dpdk:
+ <<: *compute_params_common
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x8"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: igb_uio
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
diff --git a/labs/ericsson/idf-virtual4.yaml b/labs/ericsson/idf-virtual4.yaml
new file mode 100644
index 00000000..ddcd621c
--- /dev/null
+++ b/labs/ericsson/idf-virtual4.yaml
@@ -0,0 +1,104 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual4 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, will be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, will be second vnet interface, untagged
+ vlan: native
+ 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: 4 # when used, will be fifth vnet interface, untagged
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2 # when used, will be third vnet interface, untagged
+ vlan: 1000-1999
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3 # when used, will be fourth vnet interface, untagged
+ vlan: native
+ network: 10.16.0.0
+ ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.16.0.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: ~
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'ens3'
+ - 'ens4'
+ - 'ens5'
+ - 'ens6'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:00:03.0'
+ - '0000:00:04.0'
+ - '0000:00:05.0'
+ - '0000:00:06.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common: &compute_params_common
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 2048
+ compute_hugepages_mount: /mnt/hugepages_2M
+ dpdk:
+ <<: *compute_params_common
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x8"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: igb_uio
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
diff --git a/labs/ericsson/idf-virtual5.yaml b/labs/ericsson/idf-virtual5.yaml
new file mode 100644
index 00000000..067ec0c0
--- /dev/null
+++ b/labs/ericsson/idf-virtual5.yaml
@@ -0,0 +1,104 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual5 Installer descriptor file ###
+
+idf:
+ version: 0.1
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: ~
+ vlan: native
+ mask: 24
+ # All networks (except OOB) are virtual networks managed by `libvirt`
+ # Interface indexes are based on Fuel installer defaults
+ admin:
+ interface: 0 # when used, will be first vnet interface, untagged
+ vlan: native
+ network: 192.168.11.0
+ mask: 24
+ mgmt:
+ interface: 1 # when used, will be second vnet interface, untagged
+ vlan: native
+ 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: 4 # when used, will be fifth vnet interface, untagged
+ vlan: native
+ network: 192.168.20.0
+ mask: 24
+ private:
+ interface: 2 # when used, will be third vnet interface, untagged
+ vlan: 1000-1999
+ network: 10.1.0.0
+ mask: 24
+ public:
+ interface: 3 # when used, will be fourth vnet interface, untagged
+ vlan: native
+ network: 10.16.0.0
+ ip-range: 10.16.0.100-10.16.0.254 # Some IPs are in use by lab infra
+ mask: 24
+ gateway: 10.16.0.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ fuel:
+ jumphost:
+ bridges:
+ admin: ~
+ mgmt: ~
+ private: ~
+ public: ~
+ 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
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'ens3'
+ - 'ens4'
+ - 'ens5'
+ - 'ens6'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:00:03.0'
+ - '0000:00:04.0'
+ - '0000:00:05.0'
+ - '0000:00:06.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ reclass:
+ node:
+ - compute_params: &compute_params
+ common: &compute_params_common
+ compute_hugepages_size: 2M
+ compute_hugepages_count: 2048
+ compute_hugepages_mount: /mnt/hugepages_2M
+ dpdk:
+ <<: *compute_params_common
+ compute_dpdk_driver: uio
+ compute_ovs_pmd_cpu_mask: "0x6"
+ compute_ovs_dpdk_socket_mem: "1024"
+ compute_ovs_dpdk_lcore_mask: "0x8"
+ compute_ovs_memory_channels: "2"
+ dpdk0_driver: igb_uio
+ dpdk0_n_rxq: 2
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
+ - compute_params: *compute_params
diff --git a/labs/ericsson/pod1.yaml b/labs/ericsson/pod1.yaml
index 76ca002f..5059eabf 100644
--- a/labs/ericsson/pod1.yaml
+++ b/labs/ericsson/pod1.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea AB and others.
+# Copyright (c) 2018 Ericsson AB, 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
@@ -8,6 +8,7 @@
---
### POD descriptor file ###
+version: 1.0
details:
pod_owner: Jose Lausuch
contact: jose.lausuch@ericsson.com
@@ -16,44 +17,6 @@ details:
type: production
link: https://wiki.opnfv.org/display/pharos/CI-ERICSSON-POD1
##############################################################################
-net_config:
- # NOTE: Network names are likely to change after the PDF spec is updated
- # NOTE: Some networks (e.g. admin) are created by the installer
- # NOTE: Network-to-interface mapping will be reworked after PDF update
- oob:
- interface: 0
- ip-range: 172.16.1.16-172.16.1.21
- vlan: native
- admin:
- interface: 4
- vlan: native
- network: 192.168.11.0 # Untagged, 'PXE/Admin' for MaaS (no IP on JP)
- mask: 24
- mgmt:
- interface: 2
- vlan: 81
- network: 192.168.10.0
- mask: 24
- storage:
- interface: 2
- vlan: 82
- network: 192.168.20.0
- mask: 24
- private:
- interface: 3
- vlan: 1000
- network: 192.168.2.0
- mask: 24
- public:
- interface: 2
- vlan: 80
- network: 100.64.200.0
- mask: 24
- gateway: 100.64.200.1
- dns:
- - 8.8.8.8
- - 8.8.4.4
-##############################################################################
jumphost:
name: CI-POD1-HOST
node: &nodeparams
@@ -77,47 +40,61 @@ jumphost:
versions:
- 1.0
- 2.0
- user:
- pass:
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAuQkYMXyWaXfQQUhqa1uKr3idY/TDnYF+fMyb
+ uuI1EFGnqXyJyY5C6CxyR61sTBrni49LPh/EmuLWzv0SLclJYnIfSOQrCbO5
+ Sy4IFen6eMGd4x8OLLN0cQBSRnpxFRnmGnnqdLjcZYDYSfvP8U0vE46cRFM+
+ PWRBMJm9+2iz/+wPY8z1aqQ03YycSgKo7R7hEXlarqjJexr/mnP+WLXnz/yN
+ qi0/E9q93X8e0JnQnxRG69K/AOih4pjW4kW8T53JbFmSq5whTdF7SpGAsUqt
+ +5pr5Bs/9yMk9g00XqDmhiCNlNO8ADSDKW1YWQXWHQFMazwZI4GipQA9P/I6
+ CXRrKTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCtE4yYqripA3lKyuS4
+ O7T2gBBL83JWGyHgxbluxLakRfZx]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAcNPG79QTsU1TDQZBWMENe+jI9rOfqabAiXJb
+ K+fbSVRY9gUTis2Bxaq/fWq4VGycPDfeZIKfGK5lgwaxd+yWbfHpHU2Itfav
+ L5s7zoH8yCk6vvfdTGEa+rM/CupqMRF0l/N/bFHMjf1TpUycw37KfaEcpV8T
+ /+ZJdpNCt+C5n67liLWr/fIGtcZB7HVFlIJOfniVoF9EfSwrNkKAJ5vYSAGe
+ KYhqgbQ1EFWf9/dJdAq0A4HuKixiMpc6qOX/moNTLTRPd6jN2veT7t4blqZM
+ cQU8Y3avbnAurd6Bu5i52d9kGebkUfYqUnkNCzyObi6WU5ZuJ8oxdzcQghb3
+ sIRM3jA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDA0e139hbToTK8gZ1/
+ UoEfgBDHho1xQ2fi5kh1g0FyFTpw]
remote_management:
<<: *remoteparas
address: 172.16.1.21/24
mac_address: "9C:B6:54:8E:C5:76"
interfaces:
- - nic: 'nic1'
+ - name: 'nic1'
speed: 10gb
features: 'dpdk|sriov'
address: 100.64.200.5/24
mac_address: "38:ea:a7:8f:53:00"
vlan: 80
- - nic: 'nic2'
+ - name: 'nic2'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:53:01"
vlan: native
- - nic: 'nic3'
+ - name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
address: 172.16.0.250/16
mac_address: "38:ea:a7:8f:06:00"
vlan: native
- - nic: 'nic4'
+ - name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:06:01"
vlan: native
- - nic: 'nic5'
+ - name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "9c:b6:54:8a:05:70"
vlan: native
- - nic: 'nic6'
+ - name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "9c:b6:54:8a:05:74"
vlan: native
##############################################################################
@@ -133,33 +110,27 @@ nodes:
- name: 'nic1'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:98"
- name: 'nic2'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:99"
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:84"
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:85"
- - nic: 'nic5'
+ - name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "14:58:d0:54:e7:88"
vlan: native
- - nic: 'nic6'
+ - name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "00:00:00:00:00:00"
vlan: native
############################################################################
@@ -174,33 +145,27 @@ nodes:
- name: 'nic1'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:7c"
- name: 'nic2'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:7d"
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:6c"
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6b:6d"
- - nic: 'nic5'
+ - name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "14:58:d0:54:6a:60"
vlan: native
- - nic: 'nic6'
+ - name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "00:00:00:00:00:00"
vlan: native
############################################################################
@@ -215,33 +180,27 @@ nodes:
- name: 'nic1'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6a:38"
- name: 'nic2'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6a:39"
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6a:3c"
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:17:6a:3d"
- - nic: 'nic5'
+ - name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "14:58:d0:54:7a:28"
vlan: native
- - nic: 'nic6'
+ - name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "00:00:00:00:00:00"
vlan: native
############################################################################
@@ -251,38 +210,32 @@ 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
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:1f:d4"
- name: 'nic2'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:1f:d5"
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:52:cc"
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:52:cd"
- - nic: 'nic5'
+ - name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "9c:b6:54:8a:95:a0"
vlan: native
- - nic: 'nic6'
+ - name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "00:00:00:00:00:00"
vlan: native
############################################################################
@@ -297,32 +250,26 @@ nodes:
- name: 'nic1'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:07:50"
- name: 'nic2'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:07:51"
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:12:48"
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "38:ea:a7:8f:12:49"
- - nic: 'nic5'
+ - name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "9c:b6:54:8a:10:18"
vlan: native
- - nic: 'nic6'
+ - name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address:
mac_address: "00:00:00:00:00:00"
vlan: native
diff --git a/labs/ericsson/pod2.yaml b/labs/ericsson/pod2.yaml
index c6477faf..5131ff95 100644
--- a/labs/ericsson/pod2.yaml
+++ b/labs/ericsson/pod2.yaml
@@ -1,6 +1,7 @@
---
### POD descriptor file ###
+version: 1.0
details:
pod_owner: Jose Lausuch
contact: jose.lausuch@ericsson.com
@@ -32,180 +33,254 @@ jumphost:
versions:
- 1.0
- 2.0
- user:
- pass:
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAZ+KIpufJFbXv6vcsevPYdhO2lBkYCnmoMKNa
+ lwDsynavzbIDeZmUlpf8xCOu/f7/VQfQdJCd6aZSScALlPSYgr39b0SPPfnr
+ Kx3jfOZnu8SEK+UJIalvebApmMdKM/vaKTWENV5PXyGcYwf8Q2lVxyXpxLVs
+ /FkDg1kB2VpdYaVfseY98LgLkP06uyfBPXH189BlQrxZcw3Af64BYgWfpDDt
+ w3RzIGCxAOMMZ8lEOnY4ofrsWaQA5YH12ezOT3Mwd/wkOuqcU19fOYaeS9Ou
+ 050m6H9DJDnR5btjLIrjjKINp5Nf6hHG5mngUc5JVdRKNvD0ONBi6Bj0cvGF
+ STfaXTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDSD+x9ybRnBdCQaY7n
+ aDlygBA4t2kc8UOwZYE6ZZaFUgl1]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAkHaGqpTmg+YSLPS5AwhB1N6MBA9cXTA1oacT
+ 8bY1aLBi7HKbacJQjHOfr2FoIAABkgV7N+BXKfebMighfcDC9XtKGYnV3tCD
+ XpreNZgX8NmVaYOLP6sFkAk53oYljswKOVVUrAqXplZx4kBXYm0Az2beGg5J
+ 5LRNwu9Eh4SRYN4dFN/XKQMtsQzKjMWTBLde9snrbhYfOxSsAR0B4FD7WWik
+ viKQY82C6C3KbcBeESMPE/lgBj7KIPbYkpzk9N5GafK+XkUS2aopAAkQFGll
+ 60Y0/9LOwPzItCB1q/kEENgz1aw/nHeH3xQsErwepuZiW3SkMncPQ9L5Q5PR
+ hlricTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBB8T/wzhjtvtwZ+Iz2Y
+ SKM7gBBWbUmwjBdGX6aurCiyVGv2]
remote_management:
<<: *remoteparas
- address: 172.16.2.11/24
+ address: 172.16.2.11
mac_address: "58:20:B1:01:8A:F2"
interfaces:
- - nic: 'nic1'
+ - name: 'nic0'
+ speed: 1gb
+ features: 'dpdk|sriov'
+ address: "192.168.122.2"
+ mac_address: "ec:b1:d7:a1:a1:10"
+ vlan: native
+ - name: 'nic1'
speed: 10gb
- features: 'dpdk,sriov'
- address: 100.64.201.5/24
+ features: 'dpdk|sriov'
+ address: "172.29.236.10"
mac_address: "5c:b9:01:8b:9f:e8"
- vlan: 84
- - nic: 'nic2'
+ vlan: native
+ - name: 'nic2'
speed: 10gb
- features: 'dpdk,sriov'
- address: 100.64.201.5/24
+ features: 'dpdk|sriov'
+ address: "192.168.122.2"
mac_address: "5c:b9:01:8b:9f:e9"
vlan: native
- - nic: 'nic3'
+ - name: 'nic3'
speed: 10gb
- features: 'dpdk,sriov'
- address: 172.16.0.248/16
+ features: 'dpdk|sriov'
+ address: "172.29.240.10"
mac_address: "5c:b9:01:8b:9f:ec"
- vlan: native
- - nic: 'nic4'
+ vlan: 3010
+ - name: 'nic4'
speed: 10gb
- features: 'dpdk,sriov'
- address: 172.16.0.248/16
+ features: 'dpdk|sriov'
+ address: "172.29.242.10"
mac_address: "5c:b9:01:8b:9f:ed"
- vlan: native
+ vlan: 3010
##############################################################################
nodes:
- - name: CI-ERICSSON-POD2-NODE1
+ - name: node1
node: *nodeparams
disks: *disks
remote_management:
<<: *remoteparas
- address: 172.16.2.12/24
+ address: 172.16.2.12
mac_address: "58:20:B1:01:8B:F0"
interfaces:
+ - name: 'nic0'
+ speed: 1gb
+ features: 'dpdk|sriov'
+ mac_address: "ec:b1:d7:a2:44:a0"
+ address: "192.168.122.3"
+ vlan: native
- name: 'nic1'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:94"
+ address: "172.29.236.11"
+ vlan: native
- name: 'nic2'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:95"
+ address: "192.168.122.3"
+ vlan: native
- name: 'nic3'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:80"
+ address: "172.29.240.11"
+ vlan: 3010
- name: 'nic4'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:81"
+ address: "172.29.242.11"
+ vlan: 3010
############################################################################
- - name: CI-ERICSSON-POD2-NODE2
+ - name: node2
node: *nodeparams
disks: *disks
remote_management:
<<: *remoteparas
- address: 172.16.2.13/24
+ address: 172.16.2.13
mac_address: "58:20:B1:01:8E:FC"
interfaces:
+ - name: 'nic0'
+ speed: 1gb
+ features: 'dpdk|sriov'
+ mac_address: "ec:b1:d7:a2:44:80"
+ address: "192.168.122.4"
+ vlan: native
- name: 'nic1'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:30"
+ address: "172.29.236.12"
+ vlan: native
- name: 'nic2'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:31"
+ address: "192.168.122.4"
+ vlan: native
- name: 'nic3'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:99:64"
+ address: "172.29.240.12"
+ vlan: 3010
- name: 'nic4'
speed: 10gb
- features: 'dpdk,sriov'
- address:
- mac_address: "5c:b9:01:8b:99:65" # second port, no connection
+ features: 'dpdk|sriov'
+ mac_address: "5c:b9:01:8b:99:65"
+ address: "172.29.242.12"
+ vlan: 3010
############################################################################
- - name: CI-ERICSSON-POD2-NODE3
+ - name: node3
node: *nodeparams
disks: *disks
remote_management:
<<: *remoteparas
- address: 172.16.2.14/24
+ address: 172.16.2.14
mac_address: "58:20:B1:01:8D:32"
interfaces:
+ - name: 'nic0'
+ speed: 1gb
+ features: 'dpdk|sriov'
+ mac_address: "ec:b1:d7:a2:43:c0"
+ address: "192.168.122.5"
+ vlan: native
- name: 'nic1'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:9d:4c"
+ address: "172.29.236.13"
+ vlan: native
- name: 'nic2'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:9d:4d"
+ address: "192.168.122.5"
+ vlan: native
- name: 'nic3'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:9d:6c"
+ address: "172.29.240.13"
+ vlan: 3010
- name: 'nic4'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:9d:6d"
+ address: "172.29.242.13"
+ vlan: 3010
############################################################################
- - name: CI-ERICSSON-POD2-NODE4
+ - name: node4
node: *nodeparams
disks: *disks
remote_management:
<<: *remoteparas
- address: 172.16.2.15/24
+ address: 172.16.2.15
mac_address: "58:20:B1:01:8B:FC"
interfaces:
+ - name: 'nic0'
+ speed: 1gb
+ features: 'dpdk|sriov'
+ mac_address: "ec:b1:d7:a1:8b:d0"
+ address: "192.168.122.6"
+ vlan: native
- name: 'nic1'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a5:fc"
+ address: "172.29.236.14"
+ vlan: native
- name: 'nic2'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a5:fd"
+ address: "192.168.122.6"
+ vlan: native
- name: 'nic3'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:08"
+ address: "172.29.240.14"
+ vlan: 3010
- name: 'nic4'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:09"
+ address: "172.29.242.14"
+ vlan: 3010
############################################################################
- - name: CI-ERICSSON-POD2-NODE5
+ - name: node5
node: *nodeparams
disks: *disks
remote_management:
<<: *remoteparas
- address: 172.16.2.16/24
+ address: 172.16.2.16
mac_address: "58:20:B1:01:8F:EA"
interfaces:
+ - name: 'nic0'
+ speed: 1gb
+ features: 'dpdk|sriov'
+ mac_address: "ec:b1:d7:a1:bd:60"
+ address: "192.168.122.7"
+ vlan: native
- name: 'nic1'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:e8"
+ address: "172.29.236.15"
+ vlan: native
- name: 'nic2'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:a6:e9"
+ address: "192.168.122.7"
+ vlan: native
- name: 'nic3'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:97:14"
+ address: "172.29.240.15"
+ vlan: 3010
- name: 'nic4'
speed: 10gb
- features: 'dpdk,sriov'
- address:
+ features: 'dpdk|sriov'
mac_address: "5c:b9:01:8b:97:15"
+ address: "172.29.242.15"
+ vlan: 3010
diff --git a/labs/ericsson/virtual-pod1bl01.yaml b/labs/ericsson/virtual-pod1bl01.yaml
new file mode 100644
index 00000000..9edebee4
--- /dev/null
+++ b/labs/ericsson/virtual-pod1bl01.yaml
@@ -0,0 +1,160 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual-pod1bl01 POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Dianfeng Du
+ contact: dianfeng.du@ericsson.com
+ lab: Ericsson
+ location: Rosersberg, Sweden
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Ericsson+Hosting
+##############################################################################
+jumphost:
+ name: ericsson-virtual-pod1bl01
+ node: &jumpparams
+ type: baremetal
+ vendor: HP
+ model: ProLiant BL460c Gen8
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: ivybridge
+ cores: 10
+ memory: 64G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 800G
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: &diskrotation 15000
+ os: ubuntu-16.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEALPkR/vkbjmLE/rA1i7SP1IOyHTrfwu9GvoqB
+ 0FyW7YTsN0aJAzoxkV7MG5qCEV6c6HQvwzXIlhPHkdQ24bAR4VRlOM+fpLnf
+ Rfex4/XpdT+tpV6maluefRBL4FSeac9B6XQ3ALwx019DPtILEJJ0ueUippXO
+ eR2Nkx5aEF9T97vLxvgUyRoAHQ26TMkUDMu+VjKO/zgYZoi8usn8mqdXLDie
+ jOeeDX/R2vF6bMOxjkda4FnNAJz0iennuV06IgyB5cnKY0K4sqRkH5418GV+
+ J+l5YELcTPtDaoNFDRdJgBQi2D8QFn00FX+bX1pqVzNktPrRBB3BKBeyjdIJ
+ Fx+m7jA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBaStL9eL/te0mPFTBJ
+ BaldgBD3BywLaQZpEPZKKZwR+1Hl]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAC/FDzRD/3jWyEuFNmQ2eXZff46rvKr9DrSn5
+ yaLdOaSWLsoxYljwCzagzgtjr37VkjizZlRcwf/yXcDTTIGASUFCkZM8P2LS
+ OksmEBZS2JlaTSCmkEp3vu494/7NWtAHs74cxGOybt5LhyEwMFRL0etrY/6h
+ Y2UWwD/oRv0axH8SNUS+QMOuEDaTbDTl7iOwAbP90qkttZD6tUUb0obnVUh9
+ UAhbrUfO8CcRYvtWOyF9SmRaL0vfoirczWL68TwrVSyEsJ0mrZO5xgKtPmDD
+ KGCTSr3R09fR3QnVq3Y0ysw62cFx2tJ5M88sHbU3PZMEzUwK6PyxZYcAHC4j
+ jdBQ8DA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBA51b+Wam6rkCgCqXEC
+ WA0ugBBPILXqYWqCvFANFX+cFj5q]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.1.11/24
+ mac_address: "14:58:D0:5D:AB:47"
+ interfaces:
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ address: 100.64.215.10/24
+ mac_address: "38:ea:a7:17:6a:34"
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:17:6a:35"
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:17:6a:c4"
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:17:6a:c5"
+ - name: 'nic5'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "14:58:D0:54:7A:D8"
+ - name: 'nic6'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "14:58:D0:54:7A:DC"
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ <<: *jumpparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ cpus: 1
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: *diskrotation
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
diff --git a/labs/ericsson/virtual1.yaml b/labs/ericsson/virtual1.yaml
new file mode 100644
index 00000000..c19d9c79
--- /dev/null
+++ b/labs/ericsson/virtual1.yaml
@@ -0,0 +1,160 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual1 POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Dianfeng Du
+ contact: dianfeng.du@ericsson.com
+ lab: Ericsson
+ location: Rosersberg, Sweden
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Ericsson+Hosting
+##############################################################################
+jumphost:
+ name: ericsson-virtual1
+ node: &jumpparams
+ type: baremetal
+ vendor: HP
+ model: ProLiant BL460c Gen8
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: ivybridge
+ cores: 10
+ memory: 64G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 800G
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: &diskrotation 15000
+ os: ubuntu-16.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAAs3kLIVkEqhUWd/pfTCGlq2uau+dzvox/HXY
+ G6ccXNZfwFV1mV1z7S0Bg5NME/xF2PU4sUkk9wbK/+yYG8CF6tHCzJMIy6wO
+ fOfW5rzmM56GFRqsc0rr5qAVpRrOVNiLjiheAwmyVzfRWq0efLayflg3pnZm
+ j4Z1Uad9YVPeovD8zYsnNWQktaIKwX1TBAg9awZ7dRX43tJthwRNSBU+t3XJ
+ wiMtbJIOeLKpCQ+DoQ//was7juO82oZXcAz/ds7Ec1/8Vh4qB2XcURzgM7tJ
+ Gj5U2OXC0pCvH9PKih93OTIGqlboyOn7kqLXN1cIdd+I/OoO/lLpjyCsLmDP
+ GZhoXDA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBQUeVPp2xAdVKUvwCg
+ B9rcgBC8DoeAeBhrJ/KJmCPVjSF+]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAQSVWy2cbhjfPeMfXjsrOMyvjDSCQY3Xj+DvK
+ bp1uBqYbgoJXjaLcU/OVTrJqUTC6aA7CZuFeXbqcc+xay2gznXju2o+gB/wk
+ wNo0p6bfLsGbqDgO1NIGm6KHX2sHsgFUxmOZB3K63PrNEdQRdK0F0rxg9es8
+ am0sHEdeteG91rVgHj1FyEaSH1R5xC5Rm4l/AIcGTnhPtGi9gDVdik/zHUh1
+ mDDwwIxlhsFCK7B8BJxIXnQe+KdaRRbbdusDafoOgQMpefmNxusr4ljaX0vp
+ 7WXFtikERCUy6MCZKU55tSTu6sMeSO44tw419EKGEhsAnELIxWoYKiUnM/vB
+ a3XIujA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBLLgA3biEw8bloqg38
+ m+WpgBBgGzF7DTMsUBVS+pa2DUbI]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.1.22/24
+ mac_address: "9C:B6:54:8E:D7:80"
+ interfaces:
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ address: 100.64.202.5/24
+ mac_address: "38:ea:a7:8e:16:c8"
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8e:16:c9"
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8e:17:e4"
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8e:17:e5"
+ - name: 'nic5'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:89:BD:18"
+ - name: 'nic6'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:89:BD:1C"
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ <<: *jumpparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ cpus: 1
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: *diskrotation
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
diff --git a/labs/ericsson/virtual2.yaml b/labs/ericsson/virtual2.yaml
new file mode 100644
index 00000000..7298b78c
--- /dev/null
+++ b/labs/ericsson/virtual2.yaml
@@ -0,0 +1,160 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual2 POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Dianfeng Du
+ contact: dianfeng.du@ericsson.com
+ lab: Ericsson
+ location: Rosersberg, Sweden
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Ericsson+Hosting
+##############################################################################
+jumphost:
+ name: ericsson-virtual2
+ node: &jumpparams
+ type: baremetal
+ vendor: HP
+ model: ProLiant BL460c Gen8
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: ivybridge
+ cores: 10
+ memory: 64G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 800G
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: &diskrotation 15000
+ os: ubuntu-16.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAAroWc9yjyHzrNX53MKycctdvYntD/EQoA6x6
+ hOFcyQZp8Kkeu164EZ3XxFN2uJ59oSj4YRXXGamEe7CBDZn+QugArGc2tt3h
+ Ujsad9FW9WRBO+AqF2ZrWBA5bj0ArflnBBsdLQywNrnDnco4H7XbTTl5MtTQ
+ XJllUBve9Jly918mHA86Dsi3BlOn/M3iE8TeOWcQ8Ip83mgq1MlIERr0kIy9
+ pVpsi87Xap+Sxebc83dn8BsZ6vl01QLLoPRAqgOtkrjvDp09XLB2MGZaOx7t
+ fEtJcdauRXjL/pnw4lqxaIK9TLoPewzVK7u5joOiTGGD6wtyd6/G4z2ujcQJ
+ bU2ZiDA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBQVQ9dnzBdnwa1m2Kr
+ bmESgBC2/rlVIctf0KcSFZE9xFY1]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAceABHBxWIAfLtPeNf3a5RCbjgoIm34Rgbfh4
+ 9Ch272ahZpT4USuoxG1jMTCMA+dukSlsMo04cK6j1g6Epupszr1qGCJYpg2E
+ OENsC1GLokWPufe2rskUF7gZxd1XoUBq7J+ga7Grz167MAOez0aE3AgftadQ
+ 8I3QNI/YX8q4s6xWZxe7r2gF+iFVaRatS0yUgex0rX9qOcG7VTNGc+vPKfIQ
+ XRF/xJi1nkmxde3haHYirXHHUbXHnm2/WrDYrALTLPGPU0W+BTUs4F4lfhDb
+ n1Vx94NtV+u43luxIRSkekaZCuH+/s/poxqu8jButheEqEZMfZ34vu0vdKMK
+ iXyUBDA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDBOx/+ZJsIIcMMefgU
+ xK/6gBBorR0SDEFAyb4p0pd7SfnD]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.1.23/24
+ mac_address: "9C:B6:54:8E:B7:09"
+ interfaces:
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ address: 100.64.203.5/24
+ mac_address: "38:ea:a7:8f:53:74"
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8f:53:75"
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8f:53:6c"
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8f:53:6d"
+ - name: 'nic5'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:8A:04:C8"
+ - name: 'nic6'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:8A:04:CC"
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ <<: *jumpparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ cpus: 1
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: *diskrotation
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
diff --git a/labs/ericsson/virtual3.yaml b/labs/ericsson/virtual3.yaml
new file mode 100644
index 00000000..33f2e09f
--- /dev/null
+++ b/labs/ericsson/virtual3.yaml
@@ -0,0 +1,160 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual3 POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Dianfeng Du
+ contact: dianfeng.du@ericsson.com
+ lab: Ericsson
+ location: Rosersberg, Sweden
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Ericsson+Hosting
+##############################################################################
+jumphost:
+ name: ericsson-virtual3
+ node: &jumpparams
+ type: baremetal
+ vendor: HP
+ model: ProLiant BL460c Gen8
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: ivybridge
+ cores: 10
+ memory: 64G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 800G
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: &diskrotation 15000
+ os: ubuntu-16.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAW9xsuZIaMrtyFNX+kmgZ6G5TV2W/Yrnh0rB9
+ JC17tjEQSlHD9G1VaIqFWInlBf3AVZuLBE6DJBNK8nIxurR0AUAvs5+t9WZD
+ RhNF9uEFFdX038gK56otTluDijjoIrwSOZvqPc/cZcxIuadlg01fuKNVmCT9
+ /mTeWgyRHryJ/OzuO4OON15U8Ed3ffvdphjs3IHbQlc6ylNWnr1BIvWPuPvH
+ LtOSxmfivoBPpEHVwsJO92WoeNu3+mps4O+okUFI5ToyPGhUvfO1VdGEDrBg
+ TgjLixsWrqA8RB1Nf1C2du1dIulv82IMlq0qHDJWy4AR+RSwRpOeeWb6O9W0
+ 746e9TA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBD6rNLcW8y8NWcxgemu
+ w/HAgBCFKurNj+4kAytFQ3CG29SM]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEADP87YPoTA+BhT6sgaAVJnpbbBrTCc16luuJw
+ UvSCPTa54Qq3L/3Q0HVb1PJntVKM4ldU/YaFsczYCzTXFE/XcYVTMEbbIudX
+ j8l71agdfGTlHn3fA2BQFAAz+GOuMV0eBwBpwiYAeQTd178c1/L7l8HNVEHY
+ DUPN7xXXog7P/2UR1oo90JZDfB9bv4oirOma2YQUaGEiJZqvs1xAui0ZEYj0
+ OGfpDVP9k5nR7tL3J2nDxoOJOBiMpG6+4GpyyxckS3ZSUf7CuT+dAsMX96JS
+ qzxdMMk12VEHCGf5udI744ARfXP0z0TZy9b1x4bHdO0Xwm5J4I/srX/U4TOX
+ ylAlFTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAyLCfIpXiYn5L1aJBK
+ oNJ8gBByECriHR0ou3/1J+aBXSYE]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.1.24/24
+ mac_address: "A4:5D:36:FE:78:D0"
+ interfaces:
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ address: 100.64.204.5/24
+ mac_address: "38:ea:a7:8f:07:0c"
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8f:07:0d"
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8e:16:c4"
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8e:16:c5"
+ - name: 'nic5'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:8A:F0:50"
+ - name: 'nic6'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:8A:F0:54"
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ <<: *jumpparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ cpus: 1
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: *diskrotation
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
diff --git a/labs/ericsson/virtual4.yaml b/labs/ericsson/virtual4.yaml
new file mode 100644
index 00000000..cbf50f08
--- /dev/null
+++ b/labs/ericsson/virtual4.yaml
@@ -0,0 +1,160 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual4 POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Dianfeng Du
+ contact: dianfeng.du@ericsson.com
+ lab: Ericsson
+ location: Rosersberg, Sweden
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Ericsson+Hosting
+##############################################################################
+jumphost:
+ name: ericsson-virtual4
+ node: &jumpparams
+ type: baremetal
+ vendor: HP
+ model: ProLiant BL460c Gen8
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: ivybridge
+ cores: 10
+ memory: 64G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 800G
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: &diskrotation 15000
+ os: ubuntu-16.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAFUn+IQZZAIVg12z8+x3O+OZuKI0AVIN7gCZD
+ Q0PINvtvjRIPbi04ohcyor3PSqsrXt9CMRidAoXUYVrYZGyZvJ+bMQrR3Y2x
+ IFYGpfz3CSxx/faibTd0aSAJ2Ygix34tTjImpJttS6d7tDhLGdzqflnuK5wv
+ cLSuwDmMe5PLLOsvFF2NqAhBb5gdcYUNY409Fdo9r8COzw/H98OgPkus5ioR
+ ojfgpkmSWuFySVBtU7g2ytzUpHStUOwfjnAGhEq/kaPcm7GmfKxDK9dY/lNb
+ NoG/G1GcFE2OvnmwOYDxYZR4Nh2qFzF1Tvv6lygni+rlulKmnAxlvekeHnFR
+ ChhPJTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAyuGVpeDkIKR1f+ShE
+ eSumgBAPyTlU4OKeQ1zT8ppewA+k]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAmcwE28BvEB7SWKN9wPOCn3jeG+nf5kO4eHN2
+ sViK+cUouSbORPgRA3GWXNz3q4GPAOj7oi6t6zZiApOnNqQWVh+813XOi36R
+ IsXNmx5os5gefOoQC5dZYs3RhiBOOOYMadn6Z89qdNrDaKQX5hhuZJeerMX4
+ 6oUEPhApfpuAH7rCoGav6hb+cpKe0Qfd76M62TiCJmID5v4e7mK7lnr/ELdA
+ PLMdTL8ckiMQxFNfcp4lfyhAFop1t+g231J9+D5Y6i5Vrteq70RYdhN1EcRV
+ ZMVRO8d8jc90a669aMaZDnSZWO1QgrQe2EpgnM2zWdjLx26F8E9Qb0Wy72Rk
+ UP9c3TA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBClcUWaTi1pHCq78qjw
+ gKFJgBD4aofV/0UYFmnfqikTPEYe]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.1.25/24
+ mac_address: "9C:B6:54:8E:D7:0D"
+ interfaces:
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8f:07:58"
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8f:07:59"
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ address: 100.64.205.5/24
+ mac_address: "38:ea:a7:8d:e6:f8"
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "38:ea:a7:8d:e6:f9"
+ - name: 'nic5'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:8A:25:C0"
+ - name: 'nic6'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "9C:B6:54:8A:25:C4"
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ <<: *jumpparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ cpus: 1
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: *diskrotation
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
diff --git a/labs/ericsson/virtual5.yaml b/labs/ericsson/virtual5.yaml
new file mode 100644
index 00000000..48260449
--- /dev/null
+++ b/labs/ericsson/virtual5.yaml
@@ -0,0 +1,153 @@
+##############################################################################
+# Copyright (c) 2018 Ericsson AB, 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
+##############################################################################
+---
+### ericsson-virtual5 POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Dianfeng Du
+ contact: dianfeng.du@ericsson.com
+ lab: Ericsson
+ location: Rosersberg, Sweden
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Ericsson+Hosting
+##############################################################################
+jumphost:
+ name: ericsson-virtual5
+ node: &jumpparams
+ type: baremetal
+ vendor: HP
+ model: ProLiant BL460c Gen9
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: haswell
+ cores: 12
+ memory: 128G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 1200G
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: &diskrotation 15000
+ os: ubuntu-16.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAFISXqW+J4fwIdnolsHMTtlecdX0jiXpL+PsO
+ trAO6QViFl96nBuV7TqVc2JKkHwEN7hpwd7EnD/UEHf8Bb1vmfHRdo9NG18w
+ wtwxpw2hxq66u3wWbe3VYCO11aWJqUgEc+xcR8AHNRXpLpIIU1SeEtHW6pRc
+ 4P5lQnH4PH/4NDfc2B7i9Snhku/YMB/WXuOoRXmu7/d3ALHj9LPdAPwUe8fa
+ AZoStmdj17uNl+8i9B0hPHcIt+++PSVDunTlCC23lbL8ZumJl6TqobQHH40Q
+ O5lPFJQrisqR3fI1m3FNiLHX2iQ+izKxbuPCoeyVeTVCUJzeb9kJfC+NNeb+
+ DLx1ozA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCYhkIxgVTaW7bYpvXp
+ eIn+gBDmBObxaNDpPqa4fF7VbiL/]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEANbnWOLMbgCt8fCT+gYHqSRglnL/cfICb6FMY
+ oOqw08FEmyi03Im3O/Ct9z7ZnYMuC1tivTo8fVriuVDK9LqGH3riFFkabkax
+ Z3Qmn9/ej6zeJH93NglmurbN2uyNF4YBThmma8s6esi1RCarj5M+KSZuvTNv
+ ByMwoAcK2Z+DGNxDO7QFM08pxvzjPU2cpBfvLL1gKweJWFla3kRYu/i/DWM3
+ 7y0f6K1R/8CkUeiMqxdlRAIV+iFiQZwFrigLvjr2vN7mh0GtyzmXacP2882b
+ /XMoy57aSu6wm6Pb/Z8Hr8Yhs+nJKh1btk3Lgvb+UFmCvC46kLmZwHfU5C6+
+ yRGugDA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBOffpyurEo1+BNsdXI
+ HstDgBDpJ5nBblIOUA6lywX0TqSi]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.2.21/24
+ mac_address: "58:20:B1:01:8E:F8"
+ interfaces:
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ address: 100.64.207.10/24
+ mac_address: "5c:b9:01:8b:a6:50"
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "5c:b9:01:8b:a6:51"
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "5c:b9:01:8b:99:38"
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "5c:b9:01:8b:99:39"
+##############################################################################
+nodes:
+ - name: node-1
+ node: &nodeparams
+ <<: *jumpparams
+ # Fuel overrides certain params (e.g. cpus, mem) based on node role later
+ type: virtual
+ vendor: libvirt
+ model: virt
+ cpus: 1
+ cores: 8
+ memory: 6G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 100G
+ disk_type: hdd
+ disk_interface: scsi # virtio-scsi
+ disk_rotation: *diskrotation
+ remote_management: &remotemgmt
+ type: libvirt
+ user: changeme
+ pass: changeme
+ address: 'qemu:///system'
+ interfaces: &interfaces
+ - name: 'nic1'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00" # MACs will be assigned by libvirt
+ vlan: native
+ - name: 'nic2'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic3'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ - name: 'nic4'
+ speed: 10gb
+ features: 'dpdk|sriov'
+ mac_address: "00:00:00:00:00:00"
+ vlan: native
+ ############################################################################
+ - name: node-2
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-3
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-4
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+ ############################################################################
+ - name: node-5
+ node: *nodeparams
+ disks: *disks
+ remote_management: *remotemgmt
+ interfaces: *interfaces
+##############################################################################
diff --git a/labs/huawei/idf-pod1.yaml b/labs/huawei/idf-pod1.yaml
new file mode 100644
index 00000000..00933bc4
--- /dev/null
+++ b/labs/huawei/idf-pod1.yaml
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD 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
+##############################################################################
+---
+### huawei-pod1 installer descriptor file ###
+
+idf:
+ version: 0.1
+ # NOTE: Fuel checking is disabled until 'idf.fuel' is defined below
+ installer: ['apex', 'compass4nfv', 'daisy']
+ net_config:
+ mgmt:
+ interface: 1
+ vlan: native
+ network: 10.1.0.0
+ mask: 24
+ storage:
+ interface: 2
+ vlan: 102
+ network: 172.16.2.0
+ mask: 24
+ tenant:
+ interface: 2
+ vlan: 101
+ network: 172.16.1.0
+ mask: 24
+ external:
+ interface: 2
+ vlan: native
+ network: 192.168.10.0
+ mask: 24
+ gateway: 192.168.10.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+
+ compass:
+ jumphost:
+ network:
+ node:
diff --git a/labs/huawei/pod1.yaml b/labs/huawei/pod1.yaml
new file mode 100644
index 00000000..807c6f3e
--- /dev/null
+++ b/labs/huawei/pod1.yaml
@@ -0,0 +1,193 @@
+##############################################################################
+# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD 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
+##############################################################################
+---
+### POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Tianwei Wu
+ contact: wutianwei1@hauwei.com
+ lab: Huawei Lab
+ location: Shanghai, China
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/Huawei+Hosting
+
+# jumphost
+jumphost:
+ name: huawei-pod1-jump
+ node: &nodeparams
+ type: baremetal
+ vendor: huawei
+ model: Intel(R) Xeon(R)
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: haswell
+ cores: 16
+ memory: 188G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 1.8T
+ disk_type: hdd
+ disk_interface: scsi
+ disk_rotation: 7200
+ os: ubuntu-14.04
+ remote_params: &remoteparas
+ type: ipmi
+ versions:
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAOv/AsqePJWJjzf30Lwzo2FezlXwM43uvGqSV
+ yt79ut92tDsPsfb3SkV9biTT1/VELCB/1AqZnxpwNwERv0D7YLy5fmkYLsWo
+ SgOYlgQ5CmTPIBw7A67Vz6bCXjlplnHbhqR+3dYreH4ijHQgBWTvhTi8w584
+ 9Z8e0+fSJfruV+UBTF9n0dEWK9nqRQqWlDWasztxwyNpTPp4gVQs0gs2SkeP
+ XtHFfwIBJtopNuWsIhLtu/Hs5ljttL354RYF1PIVrsi1Xobl7O/I/ykq8PGg
+ qkFveh4c9nRe/LQ+u8ggWKDSHJodvAcJm+YQTW1CcATA04cuc6bKq6Xaf1Fn
+ kHKB5zA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCKEo4HTTLDwyIixgCk
+ cHijgBA5aj2kBfsBvi99bXiDmet8]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAhb8LIGPlO3PUXwUS4zpOOmg3Wu35ZcdKUaMh
+ dFaW30bPBsle6V7N+2p8kLtpkvTQHyo3X1vOwhrEKwBvRHJ+XmgQCvYLqLXN
+ qZgNXWwAa2iJz6PjNs/rmvmoLx1pC3smRJeLGCpVSG6cLKXI02clDmnWxjKB
+ 3Sdhf/JKTLQgbsoTZYRSBGLM9/UC/Ox/n0kl8afuRfC88CytttnpyNWRBWZ6
+ VV41hxCqshHhBvXnskMS/NEWfYWS972FOZ7FFYid7ZV3h6SbO4JOR7+haMbM
+ ublE8m1abmm1T5SYE245avYj94miYTaPIjq0mkI66xo+6haAlTPqq3/QeUGf
+ e0X2YjA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCpodDnNWoVIL6jIRiP
+ 6O85gBByiatZ0M0qtpNScQXGCRC5]
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.130.28/24
+ mac_address: "E0:24:7F:02:15:A5"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ address: 192.168.10.6/24
+ mac_address: "e0:24:7f:02:15:a3"
+ vlan: native
+ - name: 'nic2'
+ speed: 1gb
+ address: 10.1.0.1/24
+ mac_address: "e0:24:7f:02:15:a4"
+ vlan: native
+ - name: 'nic3'
+ speed: 1gb
+ mac_address: "90:e2:ba:06:47:04"
+ vlan: native
+ - name: 'nic4'
+ speed: 1gb
+ address: 172.16.130.50/24
+ mac_address: "90:e2:ba:06:47:05"
+ vlan: native
+# host1
+nodes:
+ - name: host1
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.130.26/24
+ mac_address: "F8:4A:BF:55:A2:91"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ mac_address: "f8:4a:bf:55:a2:8d"
+ - name: 'nic2'
+ speed: 1gb
+ mac_address: "f8:4a:bf:55:a2:8e"
+ - name: 'nic3'
+ speed: 1gb
+ mac_address: "f8:4a:bf:55:a2:8f"
+ - name: 'nic4'
+ speed: 1gb
+ mac_address: "f8:4a:bf:55:a2:90"
+ # host2
+ - name: host2
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.130.27/24
+ mac_address: "D8:49:0B:DA:5A:BB"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5a:b7"
+ - name: 'nic2'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5a:b8"
+ - name: 'nic3'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5a:b9"
+ - name: 'nic4'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5a:ba"
+ # host3
+ - name: host3
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.130.29/24
+ mac_address: "78:D7:52:A0:B1:9D"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ mac_address: "78:d7:52:a0:b1:99"
+ - name: 'nic2'
+ speed: 1gb
+ mac_address: "78:d7:52:a0:b1:9a"
+ - name: 'nic3'
+ speed: 1gb
+ mac_address: "78:d7:52:a0:b1:9b"
+ - name: 'nic4'
+ speed: 1gb
+ mac_address: "78:d7:52:a0:b1:9c"
+ # host4
+ - name: host4
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.130.30/24
+ mac_address: "D8:49:0B:DA:5B:61"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5b:5d"
+ - name: 'nic2'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5b:5e"
+ - name: 'nic3'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5b:5f"
+ - name: 'nic4'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:5b:60"
+ # host5
+ - name: host5
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remoteparas
+ address: 172.16.130.31/24
+ mac_address: "D8:49:0B:DA:56:89"
+ interfaces:
+ - name: 'nic1'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:56:85"
+ - name: 'nic2'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:56:86"
+ - name: 'nic3'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:56:87"
+ - name: 'nic4'
+ speed: 1gb
+ mac_address: "d8:49:0b:da:56:88"
diff --git a/labs/intel/idf-pod18.yaml b/labs/intel/idf-pod18.yaml
new file mode 100644
index 00000000..0e23c862
--- /dev/null
+++ b/labs/intel/idf-pod18.yaml
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2018 Intel Corporation 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
+##############################################################################
+---
+idf:
+ version: 0.1
+ installer: ['joid']
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range:
+ vlan:
+ mask: 24
+ admin: # admin
+ interface: 1
+ vlan: native
+ network: 10.10.181.0
+ mask: 24
+ gateway: 10.10.181.2
+ bridge: brAdm
+ mgmt: # data
+ interface: 2
+ vlan:
+ network: 10.10.182.0
+ mask: 24
+ storage: # storage
+ interface: 3
+ vlan:
+ network: 10.10.182.0
+ mask: 24
+ private: # floating
+ interface:
+ vlan:
+ network: 10.10.180.0
+ mask: 24
+ bridge: brExt
+ public: # public
+ interface:
+ vlan: 1183
+ network: 10.10.185.0
+ mask: 24
+ gateway: 10.10.185.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
diff --git a/labs/intel/pod18.yaml b/labs/intel/pod18.yaml
index cc956976..088ef358 100644
--- a/labs/intel/pod18.yaml
+++ b/labs/intel/pod18.yaml
@@ -2,12 +2,13 @@
### POD descriptor file ###
+version: 1.0
details:
pod_owner: Jack Morgan
contact: jack.morgan@intel.com
lab: Intel Pharos Lab
location: Portland, Oregon, USA
- type: {production|development}
+ type: production
link: http://wiki.opnfv.org/display/pharos/Intel+Hosting
jumphost:
@@ -26,31 +27,31 @@ jumphost:
disk_capacity: 480GB
disk_type: ssd
disk_interface: ssd
- disk_rotation:
+ disk_rotation: 0
- name: 'disk2'
disk_capacity: 1TB
disk_type: hdd
disk_interface: sas
disk_rotation: 15000
- os: centos-7.2.1611
+ os: ubuntu-16.04
remote_params: &remoteparas
type: ipmi
versions:
- 1.0
- 2.0
- user:
- pass:
+ user: root
+ pass: root
remote_management:
<<: *remoteparas
address: 10.10.180.10
mac_address: "A4:BF:01:16:31:98"
interfaces:
- - nic: 'nic1'
- address: 10.10.180.20/24
+ - name: 'nic1'
+ address: 10.10.180.20
mac_address: "A4:BF:01:16:31:96"
vlan: native
- - nic: 'nic2'
- address: 10.10.181.20/24
+ - name: 'nic2'
+ address: 10.10.181.20
mac_address: "A4:BF:01:16:31:97"
vlan: native
nodes:
@@ -69,7 +70,7 @@ nodes:
disk_capacity: 480GB
disk_type: ssd
disk_interface: ssd
- disk_rotation:
+ disk_rotation: 0
- name: 'disk2'
disk_capacity: 1TB
disk_type: hdd
@@ -77,43 +78,43 @@ nodes:
disk_rotation: 15000
remote_management:
<<: *remoteparas
- address: 10.10.180.11/24
+ address: 10.10.180.11
mac_address: "A4:BF:01:14:40:18"
interfaces:
- name: 'nic1'
speed: 1gb
features:
- address: 10.10.180.21/24
+ address: 10.10.180.21
mac_address: "A4:BF:01:14:40:16"
vlan: native
- name: 'nic2'
speed: 1gb
features:
- address: 10.10.181.21/24
+ address: 10.10.181.21
mac_address: "A4:BF:01:14:40:17"
vlan: native
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.182.21/24
+ address: 10.10.182.21
mac_address: "3C:FD:FE:A4:9F:A0"
vlan: native
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.183.21/24
+ address: 10.10.183.21
mac_address: "3C:FD:FE:A4:9F:A1"
- vlan: native
+ vlan: 1183
- name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.184.21/24
+ address: 10.10.184.21
mac_address: "3C:FD:FE:A4:9F:A2"
vlan: native
- name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.185.21/24
+ address: 10.10.185.21
mac_address: "3C:FD:FE:A4:9F:A3"
vlan: native
- name: pod18-node2
@@ -121,43 +122,43 @@ nodes:
disks: *disks
remote_management:
<<: *remoteparas
- address: 10.10.180.12/24
- mac_address: "A4:BF:01:16:31:1G"
+ address: 10.10.180.12
+ mac_address: "A4:BF:01:16:31:1F"
interfaces:
- name: 'nic1'
speed: 1gb
features:
- address: 10.10.180.22/24
+ address: 10.10.180.22
mac_address: "A4:BF:01:16:31:1E"
vlan: native
- name: 'nic2'
speed: 1gb
features:
- address: 10.10.181.22/24
+ address: 10.10.181.22
mac_address: "A4:BF:01:16:31:1F"
vlan: native
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.182.22/24
+ address: 10.10.182.22
mac_address: "3C:FD:FE:A4:A0:30"
vlan: native
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.183.22/24
+ address: 10.10.183.22
mac_address: "3C:FD:FE:A4:A0:31"
- vlan: native
+ vlan: 1183
- name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.184.22/24
+ address: 10.10.184.22
mac_address: "3C:FD:FE:A4:A0:32"
vlan: native
- name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.185.22/24
+ address: 10.10.185.22
mac_address: "3C:FD:FE:A4:A0:33"
vlan: native
- name: pod18-node3
@@ -165,43 +166,43 @@ nodes:
disks: *disks
remote_management:
<<: *remoteparas
- address: 10.10.180.13/24
+ address: 10.10.180.13
mac_address: "A4:BF:01:16:30:F8"
interfaces:
- name: 'nic1'
speed: 1gb
features:
- address: 10.10.180.23/24
+ address: 10.10.180.23
mac_address: "A4:BF:01:16:30:F6"
vlan: native
- name: 'nic2'
speed: 1gb
features:
- address: 10.10.181.23/24
+ address: 10.10.181.23
mac_address: "A4:BF:01:16:30:F7"
vlan: native
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.182.23/24
+ address: 10.10.182.23
mac_address: "3C:FD:FE:A4:9E:48"
vlan: native
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.183.23/24
+ address: 10.10.183.23
mac_address: "3C:FD:FE:A4:9E:49"
- vlan: native
+ vlan: 1183
- name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.184.23/24
+ address: 10.10.184.23
mac_address: "3C:FD:FE:A4:9E:4A"
vlan: native
- name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.185.23/24
+ address: 10.10.185.23
mac_address: "3C:FD:FE:A4:9E:4B"
vlan: native
- name: pod18-node4
@@ -209,43 +210,43 @@ nodes:
disks: *disks
remote_management:
<<: *remoteparas
- address: 10.10.180.14/24
+ address: 10.10.180.14
mac_address: "A4:BF:01:14:72:0F"
interfaces:
- name: 'nic1'
speed: 1gb
features:
- address: 10.10.180.24/24
+ address: 10.10.180.24
mac_address: "A4:BF:01:14:72:0D"
vlan: native
- name: 'nic2'
speed: 1gb
features:
- address: 10.10.181.24/24
+ address: 10.10.181.24
mac_address: "A4:BF:01:14:72:0E"
vlan: native
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.182.24/24
+ address: 10.10.182.24
mac_address: "3C:FD:FE:A4:9D:E8"
vlan: native
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.183.24/24
+ address: 10.10.183.24
mac_address: "3C:FD:FE:A4:9D:E9"
- vlan: native
+ vlan: 1183
- name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.184.24/24
+ address: 10.10.184.24
mac_address: "3C:FD:FE:A4:9D:EA"
vlan: native
- name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.185.24/24
+ address: 10.10.185.24
mac_address: "3C:FD:FE:A4:9D:EB"
vlan: native
- name: pod18-node5
@@ -253,42 +254,42 @@ nodes:
disks: *disks
remote_management:
<<: *remoteparas
- address: 10.10.180.15/24
+ address: 10.10.180.15
mac_address: "A4:BF:01:14:71:70"
interfaces:
- name: 'nic1'
speed: 1gb
features:
- address: 10.10.180.25/24
+ address: 10.10.180.25
mac_address: "A4:BF:01:14:71:68"
vlan: native
- name: 'nic2'
speed: 1gb
features:
- address: 10.10.181.25/24
+ address: 10.10.181.25
mac_address: "A4:BF:01:14:71:69"
vlan: native
- name: 'nic3'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.182.25/24
+ address: 10.10.182.25
mac_address: "3C:FD:FE:A4:A1:08"
vlan: native
- name: 'nic4'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.183.25/24
+ address: 10.10.183.25
mac_address: "3C:FD:FE:A4:A1:09"
- vlan: native
+ vlan: 1183
- name: 'nic5'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.184.25/24
+ address: 10.10.184.25
mac_address: "3C:FD:FE:A4:A1:0A"
vlan: native
- name: 'nic6'
speed: 10gb
features: 'dpdk|sriov'
- address: 10.10.185.25/24
+ address: 10.10.185.25
mac_address: "3C:FD:FE:A4:A1:0B"
vlan: native
diff --git a/labs/lf/idf-pod2.yaml b/labs/lf/idf-pod2.yaml
index 78c916ef..b54e2ce7 100644
--- a/labs/lf/idf-pod2.yaml
+++ b/labs/lf/idf-pod2.yaml
@@ -1,21 +1,23 @@
##############################################################################
-# Copyright (c) 2017 Enea AB and others.
+# Copyright (c) 2018 Linux Foundation, 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
##############################################################################
---
-### LF POD 5 installer descriptor file ###
+### LF POD 2 installer descriptor file ###
idf:
version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'fuel']
net_config:
# NOTE: Network names are likely to change after the PDF spec is updated
oob:
interface: 0
ip-range: 172.30.8.65-172.30.8.75
vlan: 410
+ mask: 26
admin:
interface: 0
vlan: native
@@ -25,6 +27,7 @@ idf:
interface: 0
vlan: 300
network: 10.167.4.0 # Tagged, 'vlan 300' on wiki
+ ip-range: 10.167.4.10-10.167.4.254 # Some IPs are in use by lab infra
mask: 24
storage:
interface: 3
@@ -33,13 +36,14 @@ idf:
mask: 24
private:
interface: 1
- vlan: 1000
+ vlan: 1000-1030
network: 10.1.0.0 # Tagged, not the same with 'private' on wiki
mask: 24
public:
interface: 2
vlan: native
network: 172.30.10.0 # Untagged, 'public' on wiki
+ ip-range: 172.30.10.100-172.30.10.254 # Some IPs are in use by lab infra
mask: 24
gateway: 172.30.10.1
dns:
@@ -48,21 +52,27 @@ idf:
fuel:
jumphost:
bridges:
- admin: ''
- mgmt: ''
- private: ''
- public: ''
+ admin: 'pxebr'
+ mgmt: 'br-ctl'
+ 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
# Ordered-list, index should be in sync with interface index in PDF
- - ''
- - ''
+ - 'enp6s0'
+ - 'enp7s0'
+ - 'enp8s0'
+ - 'enp9s0'
busaddr: &busaddr
# Bus-info reported by `ethtool -i ethX`
- - ''
- - ''
+ - '0000:06:00.0'
+ - '0000:07:00.0'
+ - '0000:08:00.0'
+ - '0000:09:00.0'
- interfaces: *interfaces
busaddr: *busaddr
- interfaces: *interfaces
diff --git a/labs/lf/idf-pod4.yaml b/labs/lf/idf-pod4.yaml
new file mode 100644
index 00000000..c0a1b17e
--- /dev/null
+++ b/labs/lf/idf-pod4.yaml
@@ -0,0 +1,148 @@
+##############################################################################
+# Copyright (c) 2018 Linux Foundation, 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
+##############################################################################
+---
+### LF POD 4 installer descriptor file ###
+
+idf:
+ version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'fuel']
+ net_config: &net_config
+ oob:
+ interface: 0
+ ip-range: 172.30.8.83-172.30.8.88
+ vlan: 410
+ mask: 29
+ admin:
+ interface: 0
+ vlan: native
+ network: 192.168.12.0
+ gateway: 192.168.12.1
+ dns: 8.8.8.8
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 450
+ network: 192.168.3.0
+ mask: 24
+ storage:
+ interface: 3
+ vlan: 451
+ network: 192.168.4.0
+ mask: 24
+ private:
+ interface: 2
+ vlan: 452
+ network: 192.168.5.0
+ mask: 24
+ public:
+ interface: 4
+ vlan: 414
+ network: 172.30.12.64
+ mask: 26
+ gateway: 172.30.12.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
+ osa: &idf_osa
+ nodes_roles:
+ opnfv: [deployment]
+ node1: [controller]
+ node2: [compute, storage]
+ node3: [compute, storage]
+ node4: [controller]
+ node5: [controller]
+ groups:
+ openstack:
+ - controller
+ - compute
+ - storage
+ hostnames:
+ opnfv: opnfv
+ node1: controller00
+ node2: compute00
+ node3: compute01
+ node4: controller01
+ node5: controller02
+ network:
+ # network mapping
+ network_mapping:
+ # Management network used by installer components to communicate
+ net-mgmt: mgmt
+ # Storage Network
+ net-storage: storage
+ # Internal network for communication between VNF
+ net-internal: private
+ # Public network for VNF remote acces (ext-net in Openstack)
+ net-vnf: public
+ deployment_host_interfaces:
+ # Ordered-list, index should be in sync with interface index in PDF
+ - 'eno1'
+ - 'eno3.450'
+ - 'eno3.452'
+ - 'eno4.451'
+ - 'eno4.414'
+ fuel:
+ jumphost:
+ bridges:
+ admin: 'pxebr'
+ mgmt: 'br-ctl'
+ private: ~
+ public: ~
+ 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
+ - 'eno1'
+ - 'eno3'
+ - 'eno4'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:04:00.0'
+ - '0000:02:00.0'
+ - '0000:02:00.1'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+xci:
+ pod_name: lf-pod4
+ net_config: *net_config
+ nodes_roles:
+ opnfv_host: [opnfv_host]
+ pod4-node1: [compute, storage]
+ pod4-node2: [compute, storage]
+ pod4-node3: [controller, storage]
+ pod4-node4: [controller, storage]
+ pod4-node5: [controller, storage]
+
+ # net_config network to be used by the PXE
+ pxe_network: admin
+
+ # As the MAC of generated bridges are generated, we use a list of local
+ # bridges to create libvirt networks
+ jumphost_interfaces_bridges:
+ - name: br_admin
+ ip:
+
+ extra_addresses:
+ opnfv_host: 192.168.12.2
+
+ # network mapping
+ network_mapping:
+ net-mgmt: admin
+ net-storage: storage
+ net-internal: private
+ net-vnf: public
+
+ installers:
+ osa: *idf_osa
diff --git a/labs/lf/idf-pod5.yaml b/labs/lf/idf-pod5.yaml
index e0e4af28..01778907 100644
--- a/labs/lf/idf-pod5.yaml
+++ b/labs/lf/idf-pod5.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 Enea AB and others.
+# Copyright (c) 2018 Linux Foundation, 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
@@ -10,56 +10,62 @@
idf:
version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'fuel']
net_config:
oob:
interface: 0
ip-range: 172.30.8.89-172.30.8.94
vlan: 410
+ mask: 29
admin:
interface: 0
vlan: native
- network: 10.20.0.128
- mask: 25
- gateway: 10.20.0.129
- dns: 10.20.0.129
+ network: 192.168.11.0
+ mask: 24
mgmt:
interface: 1
vlan: 450
- network: 192.168.0.128
- mask: 25
+ network: 192.168.0.0
+ mask: 24
storage:
interface: 2
vlan: 451
- network: 192.168.1.128
- mask: 25
+ network: 192.168.1.0
+ mask: 24
private:
interface: 1
vlan: 452
- network: 192.168.2.128
- mask: 25
+ network: 192.168.2.0
+ mask: 24
public:
interface: 2
vlan: 415
network: 172.30.13.64
mask: 26
+ gateway: 172.30.13.1
+ dns:
+ - 8.8.8.8
+ - 8.8.4.4
fuel:
jumphost:
bridges:
- admin: ''
- mgmt: ''
- private: ''
- public: ''
+ admin: 'pxebr'
+ mgmt: 'br-ctl'
+ private: ~
+ public: ~
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
- - ''
- - ''
+ - 'eno1'
+ - 'eno3'
+ - 'eno4'
busaddr: &busaddr
# Bus-info reported by `ethtool -i ethX`
- - ''
- - ''
+ - '0000:04:00.0'
+ - '0000:02:00.0'
+ - '0000:02:00.1'
- interfaces: *interfaces
busaddr: *busaddr
- interfaces: *interfaces
diff --git a/labs/lf/pod2.yaml b/labs/lf/pod2.yaml
index eb2efb23..219b2a68 100644
--- a/labs/lf/pod2.yaml
+++ b/labs/lf/pod2.yaml
@@ -1,6 +1,14 @@
+##############################################################################
+# Copyright (c) 2018 Linux Foundation, 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
+##############################################################################
---
### LF POD 2 descriptor file ###
+version: 1.0
details:
pod_owner: Trevor Bramwell
contact: tbramwell@linuxfoundation.org
@@ -25,32 +33,14 @@ jumphost:
disk_capacity: 2400G
disk_type: hdd
disk_interface: sas
- disk_rotation:
+ disk_rotation: 0
os: centos-7
remote_params: &remote_params
type: ipmi
versions:
- 2.0
- user: >
- ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
- DQYJKoZIhvcNAQEBBQAEggEAKn4rdxFJum3vgvpjT4c64gkXzbMog4LyrBb0
- pHeASLqwiuJqCdELWl4e7d4SMp3QBzHqd6aGHJqywDt09L7axFaW9PmdUEVx
- KxIZ8NUdDjl7HtuG8D9irU2n5VMHXVyDosMEZe9pRYhQTkuAggR7EDoDjdDj
- 0myGFy/UVH3/fxpdySWhyg9kqAYb1ReMgYBudVfm2gw4bjtjJviwASXi8hj6
- 8isdJPf25U6wrvbqQi5J5WVD4Q3PaGy8GACTZ8n+LFyPSwBl3QJ5jfMmzHmq
- Po0cqa4MoKi3xQ8Y8z6DxhUrV0yoYWoHvIcpQBu3YCZVzpOqVPZwsapBl963
- 0d0kWzA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAoo59BSqp1DBCu05h+
- /1BZgBDdOvlZ5JlDtpkh73ujYZXR]
- pass: >
- ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
- DQYJKoZIhvcNAQEBBQAEggEA4pnLYg4U/39mKdytYH1CJYJuJ/qjNrS+KoON
- oPU6G9lMJ5U5J7NUuGyBD7O1NTt8VBE+LaBEqmXK5/SQ6mAdns9qs5QLOVSm
- r3WKroZdqH3hmW26LuPsXNUfTaCVNOqWPAf6U6Q1fHr1vi09n3mIV/Ph03Kv
- /aNeeRsJbBPAtHgCL6aRs+4WoxxYS0eUAVCo4yPDiSN5UFmSg6O304NM2qzi
- av2b/gmNFN8AxE5CVi+C/fVGBhdpwmmdC0KmtkY38pYa/hf8Pks4jsFtKNDw
- 3KW+pP+BTsgKs/o/WrwCFm4LIJj/E6Pf9qZ/mZ8bAxKlVf+gQj2bgxzT3aa1
- hHhD0TA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAx3f5XDjWzYJA4Jn5H
- KJOBgBDq/YBNdEeyT+dCuH59ZE6L]
+ user: admin
+ pass: octopus
remote_management:
<<: *remote_params
address: 172.30.8.83
@@ -59,19 +49,20 @@ jumphost:
- mac_address: "00:25:b5:a0:00:1a"
speed: 40gb
features: 'dpdk|sriov'
+ address: 192.168.11.1
+ name: 'nic1'
- mac_address: "00:25:b5:a0:00:1b"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:25:b5:a0:00:1c"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "00:25:b5:a0:00:1d"
speed: 40gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.1
- mgmt: 10.167.4.1
- public: 172.30.10.72
+ name: 'nic4'
##############################################################################
nodes:
- name: pod2-node1
@@ -93,19 +84,19 @@ nodes:
- mac_address: "00:25:b5:a0:00:2a"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:25:b5:a0:00:2b"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:25:b5:a0:00:2c"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "00:25:b5:a0:00:2d"
speed: 40gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.2
- mgmt: 10.167.4.2
- public: 172.30.10.2
+ name: 'nic4'
############################################################################
- name: pod2-node2
node: *nodeparams
@@ -118,19 +109,19 @@ nodes:
- mac_address: "00:25:b5:a0:00:3a"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:25:b5:a0:00:3b"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:25:b5:a0:00:3c"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "00:25:b5:a0:00:3d"
speed: 40gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.3
- mgmt: 10.167.4.3
- public: 172.30.10.3
+ name: 'nic4'
############################################################################
- name: pod2-node3
node: *nodeparams
@@ -143,19 +134,19 @@ nodes:
- mac_address: "00:25:b5:a0:00:4a"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:25:b5:a0:00:4b"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:25:b5:a0:00:4c"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "00:25:b5:a0:00:4d"
speed: 40gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.4
- mgmt: 10.167.4.4
- public: 172.30.10.4
+ name: 'nic4'
############################################################################
- name: pod2-node4
node: *nodeparams
@@ -168,19 +159,19 @@ nodes:
- mac_address: "00:25:b5:a0:00:5a"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:25:b5:a0:00:5b"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:25:b5:a0:00:5c"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "00:25:b5:a0:00:5d"
speed: 40gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.5
- mgmt: 10.167.4.5
- public: 172.30.10.5
+ name: 'nic4'
############################################################################
- name: pod2-node5
node: *nodeparams
@@ -193,16 +184,16 @@ nodes:
- mac_address: "00:25:b5:a0:00:6a"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:25:b5:a0:00:6b"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:25:b5:a0:00:6c"
speed: 40gb
features: 'dpdk|sriov'
+ name: 'nic3'
- mac_address: "00:25:b5:a0:00:6d"
speed: 40gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 192.168.11.6
- mgmt: 10.167.4.6
- public: 172.30.10.6
+ name: 'nic4'
diff --git a/labs/lf/pod4.yaml b/labs/lf/pod4.yaml
new file mode 100644
index 00000000..32a51b61
--- /dev/null
+++ b/labs/lf/pod4.yaml
@@ -0,0 +1,203 @@
+##############################################################################
+# Copyright (c) 2018 Linux Foundation, 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
+##############################################################################
+---
+### LF POD 4 descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Trevor Bramwell
+ contact: tbramwell@linuxfoundation.org
+ lab: Linux Foundation
+ location: Portland, Oregon, USA
+ type: development
+ link: https://wiki.opnfv.org/display/pharos/LF+POD+4
+jumphost:
+ name: pod4-jump
+ node: &nodeparams
+ type: baremetal
+ vendor: Intel Corporation
+ model: S2600WT2R
+ arch: x86_64
+ cpus: 88
+ cpu_cflags: haswell
+ cores: 22
+ memory: 62G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 480G
+ disk_type: ssd
+ disk_interface: sata
+ disk_rotation: 0
+ os: centos-7
+ remote_params: &remote_params
+ type: ipmi
+ versions:
+ - 2.0
+ user: admin
+ pass: octopus
+ remote_management:
+ <<: *remote_params
+ address: 172.30.8.83
+ mac_address: "a4:bf:01:01:b0:bb"
+ interfaces:
+ - &interface_common_nic1 # admin
+ name: nic1
+ speed: 1gb
+ features: 'dpdk|sriov'
+ vlan: native
+ mac_address: "a4:bf:01:01:b0:b9"
+ address: 192.168.12.1
+ - &interface_common_nic2 # mgmt
+ name: nic2
+ speed: 10gb
+ features: 'dpdk|sriov'
+ vlan: 450
+ mac_address: "00:1e:67:fd:9a:04"
+ address: 192.168.0.2
+ - &interface_common_nic3 # private
+ name: nic3
+ speed: 10gb
+ features: 'dpdk|sriov'
+ vlan: 452
+ mac_address: "00:1e:67:fd:9a:04"
+ address: 192.168.2.2
+ - &interface_common_nic4 # storage
+ name: nic4
+ speed: 10gb
+ features: 'dpdk|sriov'
+ vlan: 451
+ mac_address: "00:1e:67:fd:9a:05"
+ address: 192.168.1.2
+ - &interface_common_nic5 # public
+ name: nic5
+ speed: 10gb
+ features: 'dpdk|sriov'
+ vlan: 414
+ mac_address: "00:1e:67:fd:9a:05"
+ address: 172.30.12.83
+##############################################################################
+nodes:
+ - name: pod4-node1
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 172.30.8.84
+ mac_address: "a4:bf:01:01:ab:b6"
+ interfaces:
+ - mac_address: "a4:bf:01:01:ab:b4"
+ address: 192.168.12.4
+ <<: *interface_common_nic1
+ - mac_address: "00:1e:67:fd:9b:32"
+ address: 192.168.0.4
+ <<: *interface_common_nic2
+ - mac_address: "00:1e:67:fd:9b:32"
+ address: 192.168.2.4
+ <<: *interface_common_nic3
+ - mac_address: "00:1e:67:fd:9b:33"
+ address: 192.168.1.4
+ <<: *interface_common_nic4
+ - mac_address: "00:1e:67:fd:9b:33"
+ address: 172.30.12.84
+ <<: *interface_common_nic5
+ ############################################################################
+ - name: pod4-node2
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 172.30.8.85
+ mac_address: "a4:bf:01:01:b6:97"
+ interfaces:
+ - mac_address: "a4:bf:01:01:b6:95"
+ address: 192.168.12.5
+ <<: *interface_common_nic1
+ - mac_address: "00:1e:67:fd:98:e2"
+ address: 192.168.0.5
+ <<: *interface_common_nic2
+ - mac_address: "00:1e:67:fd:98:e2"
+ address: 192.168.2.5
+ <<: *interface_common_nic3
+ - mac_address: "00:1e:67:fd:98:e3"
+ address: 192.168.1.5
+ <<: *interface_common_nic4
+ - mac_address: "00:1e:67:fd:98:e3"
+ address: 172.30.12.85
+ <<: *interface_common_nic5
+ ############################################################################
+ - name: pod4-node3
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 172.30.8.86
+ mac_address: "a4:bf:01:01:66:fe"
+ interfaces:
+ - mac_address: "a4:bf:01:01:66:fc"
+ address: 192.168.12.6
+ <<: *interface_common_nic1
+ - mac_address: "00:1e:67:fd:9c:c8"
+ address: 192.168.0.6
+ <<: *interface_common_nic2
+ - mac_address: "00:1e:67:fd:9c:c8"
+ address: 192.168.2.6
+ <<: *interface_common_nic3
+ - mac_address: "00:1e:67:fd:9c:c9"
+ address: 192.168.1.6
+ <<: *interface_common_nic4
+ - mac_address: "00:1e:67:fd:9c:c9"
+ address: 172.30.12.86
+ <<: *interface_common_nic5
+ ############################################################################
+ - name: pod4-node4
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 172.30.8.87
+ mac_address: "a4:bf:01:01:b2:f5"
+ interfaces:
+ - mac_address: "a4:bf:01:01:b2:f3"
+ address: 192.168.12.7
+ <<: *interface_common_nic1
+ - mac_address: "00:1e:67:fd:9b:38"
+ address: 192.168.0.7
+ <<: *interface_common_nic2
+ - mac_address: "00:1e:67:fd:9b:38"
+ address: 192.168.2.7
+ <<: *interface_common_nic3
+ - mac_address: "00:1e:67:fd:9b:39"
+ address: 192.168.1.7
+ <<: *interface_common_nic4
+ - mac_address: "00:1e:67:fd:9b:39"
+ address: 172.30.12.87
+ <<: *interface_common_nic5
+ ############################################################################
+ - name: pod4-node5
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 172.30.8.88
+ mac_address: "a4:bf:01:01:b5:11"
+ interfaces:
+ - mac_address: "a4:bf:01:01:b5:0f"
+ address: 192.168.12.8
+ <<: *interface_common_nic1
+ - mac_address: "00:1e:67:fd:99:40"
+ address: 192.168.0.8
+ <<: *interface_common_nic2
+ - mac_address: "00:1e:67:fd:99:40"
+ address: 192.168.2.8
+ <<: *interface_common_nic3
+ - mac_address: "00:1e:67:fd:99:41"
+ address: 192.168.1.8
+ <<: *interface_common_nic4
+ - mac_address: "00:1e:67:fd:99:41"
+ address: 172.30.12.88
+ <<: *interface_common_nic5
diff --git a/labs/lf/pod5.yaml b/labs/lf/pod5.yaml
index f55e4655..47ebc9e8 100644
--- a/labs/lf/pod5.yaml
+++ b/labs/lf/pod5.yaml
@@ -1,6 +1,14 @@
+##############################################################################
+# Copyright (c) 2018 Linux Foundation, 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
+##############################################################################
---
### LF POD 5 descriptor file ###
+version: 1.0
details:
pod_owner: Trevor Bramwell
contact: tbramwell@linuxfoundation.org
@@ -10,7 +18,7 @@ details:
link: https://wiki.opnfv.org/display/pharos/LF+POD+5
jumphost:
name: pod5-jump
- node: &nodeparas
+ node: &nodeparams
type: baremetal
vendor: Intel Corporation
model: S2600WT2R
@@ -24,32 +32,14 @@ jumphost:
disk_capacity: 480G
disk_type: ssd
disk_interface: sata
- disk_rotation:
+ disk_rotation: 0
os: centos-7
remote_params: &remote_params
type: ipmi
versions:
- 2.0
- user: >
- ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
- DQYJKoZIhvcNAQEBBQAEggEAR9BS+HE2rTstFbsIQBPMWkmza7bcE+g+6jJG
- luOe/dNPi5Ez/ut7fZ28rb4+3cUgvXDLLVDNiBSjUpKa0QbJrybfSNoEuX+f
- Sjaxom36hjHDn7J8wTG2T9KAPTxL1Kmc16T2i6cdpv8NUMOKhgwnhgqtYDco
- MnOTDJve0tNh4kLDSWo26+KbnQ1HejfGLfNtG6R1fjg6BQMYp8lFo3q7ZRq4
- nR34/mXW39eeiySmMoMmAQg2t21LW5GiHEBSphrUcoPchU6nl/oWOvc2agxb
- Tf3hN75vumxN+3PpW8B7hj6TdaNCfmm1OL2WhrSTW1EpQEO0UXxAq7oLAF0D
- K62KaTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBbeaV0wWXX3M668Mh1
- CN+igBBApURxRAFMWQXtgAnbxlhr]
- pass: >
- ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
- DQYJKoZIhvcNAQEBBQAEggEAFwQbOO4grEw452H7WOAwXN2sb566gisUNhNk
- oOPdae4QLTD8Yu/pAjKIoQjyBgtmPwRJlocioIFJ2SpZfjlrVC4fIMULvmFJ
- 0CfuG77o950+XIFLdDrxqlEfOg7GetlByi6FdE+x4Cd4bc3SS4o1BIMFFn5R
- NP/QeCJGS5RkEi+AcRLzS04Jq+CM0YCbeK0/M5EDBtgSpcQqNSxG9uARKVHy
- bXaPso5/1RLwyEMXyMDtTSSJK6etjk4MxZjvMcKDCzSXq1SnrPS+VgjRhI2R
- 4Nx1aTm+0mRPtfwsXaaU6YZQLClS93QBQMHb3YsBO7/KqGL5jTpoT6K8AMyc
- Q7r/JzA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBO116CsJoAZzgnxo0Q
- R8HRgBBYArsrg4jLeOnZNJP4/yOK]
+ user: admin
+ pass: octopus
remote_management:
<<: *remote_params
address: 172.30.8.89
@@ -58,19 +48,19 @@ jumphost:
- mac_address: "a4:bf:01:01:ad:71"
speed: 1gb
features: 'dpdk|sriov'
+ address: 192.168.11.1
+ name: 'nic1'
- mac_address: "00:1e:67:fd:9c:c2"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:1e:67:fd:9c:c3"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 10.20.0.129
- mgmt: 192.168.0.130
- public: 172.30.13.89
+ name: 'nic3'
nodes:
- name: pod5-node1
- node: *nodeparas
+ node: *nodeparams
disks: *disks
remote_management:
<<: *remote_params
@@ -80,18 +70,17 @@ nodes:
- mac_address: "a4:bf:01:01:a9:fc"
speed: 1gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:1e:67:f6:9b:34"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:1e:67:f6:9b:35"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 10.20.0.130
- mgmt: 192.168.0.131
- public: 172.30.13.90
+ name: 'nic3'
- name: pod5-node2
- node: *nodeparas
+ node: *nodeparams
disks: *disks
remote_management:
<<: *remote_params
@@ -101,18 +90,17 @@ nodes:
- mac_address: "a4:bf:01:01:a9:d4"
speed: 1gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:1e:67:f6:9b:36"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:1e:67:f6:9b:37"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 10.20.0.131
- mgmt: 192.168.0.132
- public: 172.30.13.91
+ name: 'nic3'
- name: pod5-node3
- node: *nodeparas
+ node: *nodeparams
disks: *disks
remote_management:
<<: *remote_params
@@ -122,18 +110,17 @@ nodes:
- mac_address: "a4:bf:01:00:97:a2"
speed: 1gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:1e:67:fd:9c:b0"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:1e:67:fd:9c:b1"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 10.20.0.132
- mgmt: 192.168.0.133
- public: 172.30.13.92
+ name: 'nic3'
- name: pod5-node4
- node: *nodeparas
+ node: *nodeparams
disks: *disks
remote_management:
<<: *remote_params
@@ -143,18 +130,17 @@ nodes:
- mac_address: "a4:bf:01:01:72:73"
speed: 1gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:1e:67:fd:99:24"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:1e:67:fd:99:25"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 10.20.0.133
- mgmt: 192.168.0.134
- public: 172.30.13.93
+ name: 'nic3'
- name: pod5-node5
- node: *nodeparas
+ node: *nodeparams
disks: *disks
remote_management:
<<: *remote_params
@@ -164,13 +150,12 @@ nodes:
- mac_address: "a4:bf:01:01:74:30"
speed: 1gb
features: 'dpdk|sriov'
+ name: 'nic1'
- mac_address: "00:1e:67:f6:9b:96"
speed: 10gb
features: 'dpdk|sriov'
+ name: 'nic2'
- mac_address: "00:1e:67:f6:9b:97"
speed: 10gb
features: 'dpdk|sriov'
- fixed_ips:
- admin: 10.20.0.134
- mgmt: 192.168.0.135
- public: 172.30.13.94
+ name: 'nic3'
diff --git a/labs/nokia/idf-pod1.yaml b/labs/nokia/idf-pod1.yaml
new file mode 100644
index 00000000..3fc47e20
--- /dev/null
+++ b/labs/nokia/idf-pod1.yaml
@@ -0,0 +1,12 @@
+##############################################################################
+# Copyright (c) 2018 Nokia, 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
+##############################################################################
+---
+idf:
+ version: 0.1
+ # NOTE: Fuel checking is disabled until 'idf.fuel' is defined below
+ installer: ['apex', 'compass4nfv', 'daisy']
diff --git a/labs/nokia/pod1.yaml b/labs/nokia/pod1.yaml
new file mode 100644
index 00000000..6b684aeb
--- /dev/null
+++ b/labs/nokia/pod1.yaml
@@ -0,0 +1,244 @@
+##############################################################################
+# Copyright (c) 2018 Nokia, 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
+##############################################################################
+---
+### Nokia POD descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Mika Rautakumpu
+ contact: opnfv-public-lab-admin@list.nokia.com
+ lab: Nokia Pharos Lab
+ location: Espoo, Finland
+ type: development
+ link: https://wiki.opnfv.org/display/pharos/Nokia+Hosting
+###########################################################
+
+jumphost:
+ name: nokiapod-jumpserver
+ node: &nodeparamscomp
+ type: baremetal
+ vendor: Intel
+ model: E5-2680
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: broadwell
+ cores: 14
+ memory: 128G
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 1TB
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ - name: 'disk2'
+ disk_capacity: 1TB
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ os: centos-7
+ remote_params: &remote_params
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: admin
+ pass: admin
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.10
+ mac_address: "54:ab:3a:14:11:e9"
+ interfaces:
+ - mac_address: "90:e2:ba:b0:b6:4d"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic1'
+ - mac_address: "90:e2:ba:b0:b6:4c"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ - mac_address: "54:ab:3a:09:99:06"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ - mac_address: "54:ab:3a:09:99:05"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ - mac_address: "54:ab:3a:14:11:e8"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic5'
+ - mac_address: "54:ab:3a:14:11:e7"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic6'
+####################################################
+nodes:
+ - name: nokiapod-node1
+ node: &nodeparams
+ type: baremetal
+ vendor: Intel
+ model: E5-2630
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: haswell
+ cores: 8
+ memory: 64G
+ disks: &diskscont
+ - name: 'disk1'
+ disk_capacity: 800GB
+ disk_type: ssd
+ disk_interface: sata
+ disk_rotation: 0
+ - name: 'disk2'
+ disk_capacity: 1TB
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ - name: 'disk3'
+ disk_capacity: 1TB
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.20
+ mac_address: "54:ab:3a:29:18:38"
+ interfaces:
+ - mac_address: "54:ab:3a:24:3b:e2"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ - mac_address: "54:ab:3a:24:3b:e1"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ - mac_address: "54:ab:3a:29:18:37"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic5'
+ - mac_address: "54:ab:3a:29:18:36"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic6'
+ ####################################################
+ - name: nokiapod-node2
+ node: *nodeparams
+ disks: *diskscont
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.21
+ mac_address: "54:ab:3a:16:84:45"
+ interfaces:
+ - mac_address: "54:ab:3a:24:3f:ac"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ - mac_address: "54:ab:3a:24:3f:ab"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ - mac_address: "54:ab:3a:16:84:44"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic5'
+ - mac_address: "54:ab:3a:16:84:43"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic6'
+ ####################################################
+ - name: nokiapod-node3
+ node: *nodeparams
+ disks: *diskscont
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.22
+ mac_address: "54:ab:3a:16:84:6f"
+ interfaces:
+ - mac_address: "54:ab:3a:24:41:be"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ - mac_address: "54:ab:3a:24:41:bd"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ - mac_address: "54:ab:3a:16:84:6e"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic5'
+ - mac_address: "54:ab:3a:16:84:6d"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic6'
+ ####################################################
+ - name: nokiapod-node4
+ node: *nodeparamscomp
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.30
+ mac_address: "54:ab:3a:13:72:9c"
+ interfaces:
+ - mac_address: "90:e2:ba:b0:f2:3d"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic1'
+ - mac_address: "90:e2:ba:b0:f2:3c"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ - mac_address: "54:ab:3a:09:8b:84"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ - mac_address: "54:ab:3a:09:8b:83"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ - mac_address: "54:ab:3a:13:72:9b"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic5'
+ - mac_address: "54:ab:3a:13:72:9a"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic6'
+ ####################################################
+ - name: nokiapod-node5
+ node: *nodeparamscomp
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.31
+ mac_address: "54:ab:3a:13:71:94"
+ interfaces:
+ - mac_address: "90:e2:ba:b0:a6:e5"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic1'
+ - mac_address: "90:e2:ba:b0:a6:e4"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic2'
+ - mac_address: "54:ab:3a:09:94:ea"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic3'
+ - mac_address: "54:ab:3a:09:94:e9"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic4'
+ - mac_address: "54:ab:3a:13:71:93"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic5'
+ - mac_address: "54:ab:3a:13:71:92"
+ speed: 10gb
+ features: 'dpdk|sriov'
+ name: 'nic6'
diff --git a/labs/ool/idf-pod1.yaml b/labs/ool/idf-pod1.yaml
new file mode 100644
index 00000000..d27b0acc
--- /dev/null
+++ b/labs/ool/idf-pod1.yaml
@@ -0,0 +1,66 @@
+##############################################################################
+# Copyright (c) 2018 Okinawa Open Labratory.
+# 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
+##############################################################################
+---
+### This is a OOL Installer descriptor file ###
+
+idf:
+ version: 0.1
+ # NOTE: Temporarily disable Daisy check, since it requires 'storage' network
+ # to be defined in 'idf.net_config' below.
+ installer: ['apex', 'fuel']
+ net_config:
+ admin:
+ interface: 0
+ vlan: native
+ network: 192.168.103.0
+ mask: 24
+ mgmt:
+ interface: 2
+ vlan: 101
+ network: 192.168.104.0
+ mask: 24
+ public:
+ interface: 2
+ vlan: 102
+ network: 192.168.106.0
+ mask: 24
+ private:
+ interface: 1
+ vlan: native
+ network: 192.168.25.0
+ mask: 24
+ gateway: 192.168.20.254
+ dns:
+ - 8.8.8.8
+ fuel:
+ jumphost:
+ bridges:
+ admin: 'br-em1'
+ mgmt: 'br0'
+ public: 'br-ex'
+ private: ~
+ 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
+ - 'eno2'
+ - 'eno3'
+ - 'eno4'
+ busaddr: &busaddr
+ - '0000:01:00.0'
+ - '0000:07:00.0'
+ - '0000:07:00.1'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
diff --git a/labs/ool/pod1.yaml b/labs/ool/pod1.yaml
new file mode 100644
index 00000000..befb3ab5
--- /dev/null
+++ b/labs/ool/pod1.yaml
@@ -0,0 +1,204 @@
+##############################################################################
+# Copyright (c) 2018 Okinawa Open Labratory Inc.
+# 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
+##############################################################################
+---
+### Okinawa Open Labratory POD descriptor file ###
+version: 1.0
+details:
+ pod_owner: Hideayasu Hayashi
+ contact: opnfv-ool-member@okinawaopenlabs.org
+ lab: Okinawa Open Lab Testlab
+ location: Okinawa, Japan
+ type: development
+ link: https://wiki.opnfv.org/display/pharos/OOL+Hosting
+###########################################################
+
+jumphost:
+ name: OPNFV-Jump
+ node:
+ type: baremetal
+ vendor: SuperMicro
+ model: SYS-5018R-WR
+ arch: x86_64
+ cpus: 1
+ cpu_cflags: Haswell
+ cores: 16
+ memory: 32GB
+ disks:
+ - name: 'disk1'
+ disk_capacity: 2TB
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ os: ubuntu-16.04
+ remote_params: &remote_params
+ type: ipmi
+ versions:
+ - 1.0
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAF2ppKLPzAigPgVqFhC0wnAJPImX04Ql5kKr7
+ cq3G8eiDIm4AfTOwW3iJf8srdChaVnseriher6cdietFwr3xoVYe/r1qD/Bp
+ IrmD79lNrbPMTwA8ESRmroKhxpxvRDziOUc5T9ev942n6BGs0iBjHMl96ZcN
+ UscPrV6iHtUfEN1ZaEx0kv217vSv5JWUp4gf10ZHJEN12gAxZBuuKRr59dbw
+ kGtn5QRjEQ1g7PKDTa3HIKUkxN9snPzAIrXtXsG4O/HmUl0UEUlJ4O5/+wBN
+ kE/a9/OqMs9+KWmFZ1PRw35WIFpk7vS2HI7HfLab3AHKRySBnTAoGIdnqd+I
+ se5pQzA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBXF6x8Rg0xNCGXOUio
+ 2oqhgBCQ0jBbqpN9e904KFAjRZWA]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEARKDnZBM1SMOd3e/dxlRV21TGiIs5ezpHqG7f
+ CbKlOim5KW/siiHGN9S5JnTY62CDGLrSgen5Sstk7LzAOPNRJKxf3sjhE2jT
+ 1AlyQ7TuYYSeyOzgaV0Us5okOP3BcAZwM5Dvb4HLyg2S48Auy7Vx34DpWrTr
+ yxh6v3VJbLYyD2G5bhU4lHzNfaTifiYoV16lmCD4ZlCfQVqjVcKIqztQUGJ4
+ NpoJhjAwE07+M3jQWYNdHKoHBTNqe3ZVT3w5ee80zQHZ8yhwISHYB5RWUwzG
+ FKGBBBl0LuxXJBGv7KorRso9v5TBB1m9V8Yl+k/4YHrOfeZBkU1kTjQ2WnNx
+ jbzBQzA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBA6Ipn6y8ilwzbgu3Xa
+ 2N/VgBBn8rx1meQwP0Wc7lYkqn/5]
+ remote_management:
+ <<: *remote_params
+ address: 192.168.25.10
+ mac_address: "0c:c4:7a:6c:a2:b2"
+ interfaces:
+ - mac_address: "0c:c4:7a:6c:a2:b2"
+ speed: 1gb
+ features: null
+ name: 'nic1'
+ - mac_address: "0c:c4:7a:6c:a2:b3"
+ speed: 1gb
+ features: null
+ name: 'nic2'
+
+####################################################
+nodes:
+ - name: node-9
+ node: &nodeparams
+ type: baremetal
+ vendor: FUJITSU
+ model: RX2530 M1
+ arch: x86_64
+ cpus: 1
+ cpu_cflags: Haswell
+ cores: 16
+ memory: 32GB
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 2TB
+ disk_type: hdd
+ disk_interface: sata
+ disk_rotation: 7200
+ - name: 'disk2'
+ disk_capacity: 100GB
+ disk_type: ssd
+ disk_interface: sata
+ disk_rotation: 0
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.20"
+ mac_address: "90:1b:0e:6b:e8:a8"
+ interfaces:
+ - mac_address: "90:1b:0e:6b:e8:a9"
+ speed: 1gb
+ features: null
+ name: 'nic2'
+ - mac_address: "90:1b:0e:6b:e8:aa"
+ speed: 1gb
+ features: null
+ name: 'nic3'
+ - mac_address: "90:1b:0e:6b:e8:ab"
+ speed: 1gb
+ features: null
+ name: 'nic4'
+
+ ####################################################
+ - name: node-10
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.21"
+ mac_address: "90:1b:0e:6b:e3:00"
+ interfaces:
+ - mac_address: "90:1b:0e:6b:e3:01"
+ speed: 1gb
+ features: null
+ name: 'nic2'
+ - mac_address: "90:1b:0e:6b:e3:02"
+ speed: 1gb
+ features: null
+ name: 'nic3'
+ - mac_address: "90:1b:0e:6b:e3:03"
+ speed: 1gb
+ features: null
+ name: 'nic4'
+
+ ####################################################
+ - name: node-11
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.22
+ mac_address: "90:1b:0e:6b:e5:b4"
+ interfaces:
+ - mac_address: "90:1b:0e:6b:e5:b5"
+ speed: 1gb
+ features: null
+ name: 'nic2'
+ - mac_address: "90:1b:0e:6b:e5:b6"
+ speed: 1gb
+ features: null
+ name: 'nic3'
+ - mac_address: "90:1b:0e:6b:e5:b7"
+ speed: 1gb
+ features: null
+ name: 'nic4'
+
+ ####################################################
+ - name: node-12
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.23
+ mac_address: "90:1b:0e:6b:e8:a8"
+ interfaces:
+ - mac_address: "90:1b:0e:6b:e8:a9"
+ speed: 1gb
+ features: null
+ name: 'nic2'
+ - mac_address: "90:1b:0e:6b:e8:aa"
+ speed: 1gb
+ features: null
+ name: 'nic3'
+ - mac_address: "90:1b:0e:6b:e8:ab"
+ speed: 1gb
+ features: null
+ name: 'nic4'
+
+ ####################################################
+ - name: node-13
+ node: *nodeparams
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.1.24
+ mac_address: "90:1b:0e:6b:e3:00"
+ interfaces:
+ - mac_address: "90:1b:0e:6b:e3:01"
+ speed: 1gb
+ features: null
+ name: 'nic2'
+ - mac_address: "90:1b:0e:6b:e3:02"
+ speed: 1gb
+ features: null
+ name: 'nic3'
+ - mac_address: "90:1b:0e:6b:e3:03"
+ speed: 1gb
+ features: null
+ name: 'nic4'
diff --git a/labs/unh/idf-pod1.yaml b/labs/unh/idf-pod1.yaml
new file mode 100644
index 00000000..e8a57f0d
--- /dev/null
+++ b/labs/unh/idf-pod1.yaml
@@ -0,0 +1,113 @@
+##############################################################################
+# 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
+ mask: 29
+ admin:
+ interface: 0
+ vlan: native
+ network: 10.10.53.0
+ mask: 24
+ mgmt:
+ interface: 0
+ vlan: 55
+ 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: 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
+ ip-range: 10.10.50.100-10.10.50.253 # Some IPs are in use by lab infra
+ 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: 15
+ timeout_deploying: 25
+ 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
+ # 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
+ 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/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 42e5dda0..ff7ad820 100644
--- a/labs/zte/idf-pod1.yaml
+++ b/labs/zte/idf-pod1.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 ZTE, Mirantis Inc., Enea AB and others.
+# Copyright (c) 2018 ZTE, 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
@@ -10,14 +10,51 @@
idf:
version: 0.1
+ installer: ['apex', 'compass4nfv', 'daisy', 'fuel']
+ net_config:
+ oob:
+ interface: 0
+ ip-range: 192.168.1.101-192.168.1.105
+ vlan: null
+ mask: 29
+ admin:
+ interface: 0
+ vlan: native
+ network: 10.10.6.0
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 161
+ network: 192.168.61.0
+ mask: 24
+ storage:
+ interface: 2
+ vlan: 162
+ network: 192.168.62.0
+ mask: 24
+ private:
+ interface: 3
+ vlan: 1120-1150
+ network: 192.168.63.0
+ mask: 24
+ public:
+ interface: 4
+ vlan: 163
+ network: 172.60.0.0
+ mask: 24
+ gateway: 172.60.0.1
+ dns:
+ - 172.10.0.1
fuel:
jumphost:
bridges:
- admin: 'pxebr'
+ admin: 'br6'
mgmt: 'br-mgmt'
- private: ''
+ 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
diff --git a/labs/zte/idf-pod2.yaml b/labs/zte/idf-pod2.yaml
index e8d7f781..2bae8a12 100644
--- a/labs/zte/idf-pod2.yaml
+++ b/labs/zte/idf-pod2.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 ZTE, Mirantis Inc., Enea AB and others.
+# Copyright (c) 2018 ZTE, 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
@@ -10,6 +10,42 @@
idf:
version: 0.1
+ # NOTE: Fuel checking is disabled until 'idf.fuel' is defined below
+ installer: ['apex', 'compass4nfv', 'daisy']
+ net_config:
+ oob:
+ interface: 0
+ ip-range: 192.168.1.106-192.168.1.110
+ vlan: null
+ mask: 29
+ admin:
+ interface: 0
+ vlan: native
+ network: 10.20.7.0
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 171
+ network: 192.168.71.0
+ mask: 24
+ storage:
+ interface: 2
+ vlan: 172
+ network: 192.168.72.0
+ mask: 24
+ private:
+ interface: 3
+ vlan: 1170
+ network: 192.168.73.0
+ mask: 24
+ public:
+ interface: 4
+ vlan: 173
+ network: 172.70.0.0
+ mask: 24
+ gateway: 172.70.0.1
+ dns:
+ - 172.10.0.1
daisy:
jumphost:
bridges:
diff --git a/labs/zte/idf-pod3.yaml b/labs/zte/idf-pod3.yaml
index d1bb156e..25b061a6 100644
--- a/labs/zte/idf-pod3.yaml
+++ b/labs/zte/idf-pod3.yaml
@@ -1,5 +1,5 @@
##############################################################################
-# Copyright (c) 2017 ZTE, Mirantis Inc., Enea AB and others.
+# Copyright (c) 2018 ZTE, 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
@@ -10,6 +10,42 @@
idf:
version: 0.1
+ # NOTE: Fuel checking is disabled until 'idf.fuel' is defined below
+ installer: ['apex', 'compass4nfv', 'daisy']
+ net_config:
+ oob:
+ interface: 0
+ ip-range: 192.168.1.32-192.168.1.36
+ vlan: null
+ mask: 29
+ admin:
+ interface: 0
+ vlan: native
+ network: 10.20.0.0
+ mask: 24
+ mgmt:
+ interface: 1
+ vlan: 101
+ network: 192.168.11.0
+ mask: 24
+ storage:
+ interface: 2
+ vlan: 102
+ network: 192.168.12.0
+ mask: 24
+ private:
+ interface: 3
+ vlan: native
+ network: 192.168.13.0
+ mask: 24
+ public:
+ interface: 3
+ vlan: native
+ network: 172.10.0.0
+ mask: 24
+ gateway: 172.10.0.1
+ dns:
+ - 172.10.0.1
daisy:
jumphost:
bridges:
diff --git a/labs/zte/idf-pod9.yaml b/labs/zte/idf-pod9.yaml
new file mode 100644
index 00000000..a6c7dfa6
--- /dev/null
+++ b/labs/zte/idf-pod9.yaml
@@ -0,0 +1,72 @@
+##############################################################################
+# Copyright (c) 2018 ZTE, 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
+##############################################################################
+---
+### ZTE POD 9 installer descriptor file ###
+
+idf:
+ version: 0.1
+ # NOTE: For now, only Daisy supports 3-node clusters
+ installer: ['daisy']
+ net_config:
+ # NOTE: Network names are likely to change after the PDF spec is updated
+ oob:
+ interface: 0
+ ip-range: 192.168.176.166-192.168.176.168
+ vlan: null
+ mask: 29
+ admin:
+ interface: 0
+ vlan: null
+ network: 10.20.7.0
+ mask: 24
+ mgmt:
+ interface: 0
+ vlan: null
+ network: 10.20.7.0
+ mask: 24
+ storage:
+ interface: 0
+ vlan: null
+ network: 10.20.7.0
+ mask: 24
+ private:
+ interface: 1
+ vlan: null
+ network: 172.70.0.0
+ mask: 24
+ public:
+ interface: 1
+ vlan: null
+ network: 172.71.0.0
+ mask: 24
+ gateway: 172.71.0.1
+ dns:
+ - 172.71.0.1
+ daisy:
+ jumphost:
+ bridges:
+ admin: 'br0'
+ 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
+ - 'ens4f0'
+ - 'ens44f0'
+ busaddr: &busaddr
+ # Bus-info reported by `ethtool -i ethX`
+ - '0000:01:00.0'
+ - '0000:81:00.0'
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
+ - interfaces: *interfaces
+ busaddr: *busaddr
diff --git a/labs/zte/pod1.yaml b/labs/zte/pod1.yaml
index 950c2d89..9a4a8a02 100644
--- a/labs/zte/pod1.yaml
+++ b/labs/zte/pod1.yaml
@@ -1,7 +1,15 @@
+##############################################################################
+# Copyright (c) 2018 ZTE, 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
+##############################################################################
---
### ZTE POD 1 descriptor file ###
# refering to https://gerrit.opnfv.org/gerrit/#/c/23727/9/config/pod1.yaml
+version: 1.0
details:
pod_owner: Alex Yang
contact: yangyang1@zte.com.cn
@@ -10,41 +18,6 @@ details:
type: production
link: https://wiki.opnfv.org/display/pharos/ZTE+SH+Testlab
##############################################################################
-net_config:
- # NOTE: Network names are likely to change after the PDF spec is updated
- oob:
- interface: 0
- ip-range: 192.168.1.101-192.168.1.105
- vlan: null
- admin:
- interface: 0
- vlan: native
- network: 10.10.6.0
- mask: 24
- mgmt:
- interface: 1
- vlan: 161
- network: 192.168.61.0
- mask: 24
- storage:
- interface: 2
- vlan: 162
- network: 192.168.62.0
- mask: 24
- private:
- interface: 3
- vlan: 1120
- network: 192.168.63.0
- mask: 24
- public:
- interface: 4
- vlan: 163
- network: 172.60.0.0
- mask: 24
- gateway: 172.60.0.1
- dns:
- - 172.10.0.1
-##############################################################################
jumphost:
name: pod1-jump
node:
@@ -99,15 +72,14 @@ jumphost:
4IoqgBAYdFlBw90sTOBqrhoHmRbr]
remote_management:
<<: *remote_params
- address:
- mac_address:
+ # Not used, fill in with dummy values
+ address: 0.0.0.0
+ mac_address: "00:00:00:00:00:00"
interfaces:
- mac_address: "74:4a:a4:00:91:b3"
speed: 1gb
- fixed_ips:
- admin: 10.20.6.1
- mgmt: 192.168.61.238
- public: 172.60.0.238
+ address: 10.20.6.1
+ name: 'nic1'
nodes:
- name: pod1-node1
node: &nodeparas
@@ -138,18 +110,23 @@ nodes:
- mac_address: "74:4a:a4:00:cf:dc"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:b0:e1"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:b0:e2"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:b0:dd"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:b0:de"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod1-node2
node: *nodeparas
disks: *disks
@@ -161,18 +138,23 @@ nodes:
- mac_address: "74:4a:a4:00:ce:ce"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d6:ad"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d6:ae"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d6:a9"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d6:aa"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod1-node3
node: *nodeparas
disks: *disks
@@ -184,18 +166,23 @@ nodes:
- mac_address: "74:4a:a4:00:cf:58"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d6:ab"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d6:ac"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d6:af"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d6:b0"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod1-node4
node: *nodeparas
disks: *disks
@@ -207,18 +194,23 @@ nodes:
- mac_address: "74:4a:a4:00:49:84"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:b1:a5"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:b1:a6"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:b1:b1"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:b1:b2"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod1-node5
node: *nodeparas
disks: *disks
@@ -230,15 +222,20 @@ nodes:
- mac_address: "74:4a:a4:00:ce:c2"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d6:8d"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d6:8e"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d6:9b"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d6:9c"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
diff --git a/labs/zte/pod2.yaml b/labs/zte/pod2.yaml
index 5b3915fe..e5dd5e67 100644
--- a/labs/zte/pod2.yaml
+++ b/labs/zte/pod2.yaml
@@ -1,7 +1,15 @@
+##############################################################################
+# Copyright (c) 2018 ZTE, 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
+##############################################################################
---
### ZTE POD 2 descriptor file ###
# refering to https://gerrit.opnfv.org/gerrit/#/c/23727/9/config/pod1.yaml
+version: 1.0
details:
pod_owner: Alex Yang
contact: yangyang1@zte.com.cn
@@ -10,41 +18,6 @@ details:
type: production
link: https://wiki.opnfv.org/display/pharos/ZTE+SH+Testlab
##############################################################################
-net_config:
- # NOTE: Network names are likely to change after the PDF spec is updated
- oob:
- interface: 0
- ip-range: 192.168.1.106-192.168.1.110
- vlan: null
- admin:
- interface: 0
- vlan: native
- network: 10.20.7.0
- mask: 24
- mgmt:
- interface: 1
- vlan: 171
- network: 192.168.71.0
- mask: 24
- storage:
- interface: 2
- vlan: 172
- network: 192.168.72.0
- mask: 24
- private:
- interface: 3
- vlan: 1170
- network: 192.168.73.0
- mask: 24
- public:
- interface: 4
- vlan: 173
- network: 172.70.0.0
- mask: 24
- gateway: 172.70.0.1
- dns:
- - 172.10.0.1
-##############################################################################
jumphost:
name: pod2-jump
node:
@@ -61,7 +34,7 @@ jumphost:
disk_capacity: 600G
disk_type: hdd
disk_interface: sas
- disk_rotation: 10500
+ disk_rotation: 10000
- name: 'disk2'
disk_capacity: 4000G
disk_type: hdd
@@ -100,14 +73,14 @@ jumphost:
2+PxgBC5OzeXar0HSyATMD/Z7K0x]
remote_management:
<<: *remote_params
- address:
- mac_address:
+ # Not used, fill in with dummy values
+ address: 0.0.0.0
+ mac_address: "00:00:00:00:00:00"
interfaces:
- mac_address: "74:4a:a4:00:91:18"
speed: 1gb
- fixed_ips:
- admin: 10.20.7.1
- public: 172.70.0.239
+ address: 10.20.7.1
+ name: 'nic1'
nodes:
- name: pod2-node1
node: &nodeparas
@@ -138,18 +111,23 @@ nodes:
- mac_address: "74:4a:a4:00:cd:72"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:b0:e9"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:b0:ea"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:b0:eb"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:b0:ec"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod2-node2
node: *nodeparas
disks: *disks
@@ -161,18 +139,23 @@ nodes:
- mac_address: "74:4a:a4:00:ca:cc"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d6:a3"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d6:a4"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d6:99"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d6:9a"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod2-node3
node: *nodeparas
disks: *disks
@@ -184,18 +167,23 @@ nodes:
- mac_address: "74:4a:a4:00:cd:12"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d6:9d"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d6:9e"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d3:15"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d3:16"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod2-node4
node: *nodeparas
disks: *disks
@@ -207,18 +195,23 @@ nodes:
- mac_address: "74:4a:a4:00:cf:40"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d6:a5"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d6:a6"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d6:a7"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d6:a8"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
- name: pod2-node5
node: *nodeparas
disks: *disks
@@ -230,15 +223,20 @@ nodes:
- mac_address: "74:4a:a4:00:ce:d4"
speed: 1gb
features: null
+ name: 'nic1'
- mac_address: "74:4a:a4:00:d2:c3"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:d2:c4"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:d2:c1"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- mac_address: "74:4a:a4:00:d2:c2"
speed: 10gb
features: dpdk|sriov
+ name: 'nic5'
diff --git a/labs/zte/pod3.yaml b/labs/zte/pod3.yaml
index b44602f2..b6768396 100644
--- a/labs/zte/pod3.yaml
+++ b/labs/zte/pod3.yaml
@@ -1,7 +1,15 @@
+##############################################################################
+# Copyright (c) 2018 ZTE, 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
+##############################################################################
---
### ZTE POD 3 descriptor file ###
# refering to https://gerrit.opnfv.org/gerrit/#/c/23727/9/config/pod1.yaml
+version: 1.0
details:
pod_owner: Alex Yang
contact: yangyang1@zte.com.cn
@@ -10,41 +18,6 @@ details:
type: production
link: https://wiki.opnfv.org/display/pharos/ZTE+SH+Testlab
##############################################################################
-net_config:
- # NOTE: Network names are likely to change after the PDF spec is updated
- oob:
- interface: 0
- ip-range: 192.168.1.32-192.168.1.36
- vlan: null
- admin:
- interface: 0
- vlan: native
- network: 10.20.0.0
- mask: 24
- mgmt:
- interface: 1
- vlan: 101
- network: 192.168.11.0
- mask: 24
- storage:
- interface: 2
- vlan: 102
- network: 192.168.12.0
- mask: 24
- private:
- interface: 3
- vlan: 1030
- network: 192.168.13.0
- mask: 24
- public:
- interface: 3
- vlan: 103
- network: 172.10.0.0
- mask: 24
- gateway: 172.10.0.1
- dns:
- - 172.10.0.1
-##############################################################################
jumphost:
name: pod3-jump
node:
@@ -99,14 +72,14 @@ jumphost:
ZIpvgBCa0QYVwRsEcqVofk2pmPKq]
remote_management:
<<: *remote_params
- address:
- mac_address:
+ # Not used, fill in with dummy values
+ address: 0.0.0.0
+ mac_address: "00:00:00:00:00:00"
interfaces:
- mac_address: "74:4a:a4:00:21:0c"
speed: 1gb
- fixed_ips:
- admin: 10.20.0.1
- public: 172.10.0.240
+ address: 10.20.0.1
+ name: 'nic1'
nodes:
- name: pod3-node1
node: &nodeparas
@@ -137,15 +110,19 @@ nodes:
- mac_address: "74:4a:a4:00:0b:85"
speed: 10gb
features: dpdk|sriov
+ name: 'nic1'
- mac_address: "74:4a:a4:00:0b:86"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:0b:87"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:0b:88"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- name: pod3-node2
node: *nodeparas
disks: *disks
@@ -157,15 +134,19 @@ nodes:
- mac_address: "74:4a:a4:00:5c:5d"
speed: 10gb
features: dpdk|sriov
+ name: 'nic1'
- mac_address: "74:4a:a4:00:5c:5e"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:5c:5f"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:5c:60"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- name: pod3-node3
node: *nodeparas
disks: *disks
@@ -177,15 +158,19 @@ nodes:
- mac_address: "74:4a:a4:00:5c:35"
speed: 10gb
features: dpdk|sriov
+ name: 'nic1'
- mac_address: "74:4a:a4:00:5c:36"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:5c:37"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:5c:38"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- name: pod3-node4
node: *nodeparas
disks: *disks
@@ -197,15 +182,19 @@ nodes:
- mac_address: "74:4a:a4:00:5c:69"
speed: 10gb
features: dpdk|sriov
+ name: 'nic1'
- mac_address: "74:4a:a4:00:5c:6a"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:5c:6b"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:5c:6c"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
- name: pod3-node5
node: *nodeparas
disks: *disks
@@ -217,12 +206,16 @@ nodes:
- mac_address: "74:4a:a4:00:5c:6d"
speed: 10gb
features: dpdk|sriov
+ name: 'nic1'
- mac_address: "74:4a:a4:00:5c:6e"
speed: 10gb
features: dpdk|sriov
+ name: 'nic2'
- mac_address: "74:4a:a4:00:5c:6f"
speed: 10gb
features: dpdk|sriov
+ name: 'nic3'
- mac_address: "74:4a:a4:00:5c:70"
speed: 10gb
features: dpdk|sriov
+ name: 'nic4'
diff --git a/labs/zte/pod9.yaml b/labs/zte/pod9.yaml
new file mode 100644
index 00000000..c18d244e
--- /dev/null
+++ b/labs/zte/pod9.yaml
@@ -0,0 +1,143 @@
+##############################################################################
+# Copyright (c) 2018 ZTE, 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
+##############################################################################
+---
+### ZTE POD 9 descriptor file ###
+
+version: 1.0
+details:
+ pod_owner: Zhiijang Hu
+ contact: huzhijiang@zte.com.cn
+ lab: ZTE Pharos Lab
+ location: Nanjing, China
+ type: production
+ link: https://wiki.opnfv.org/display/pharos/ZTE+SH+Testlab
+##############################################################################
+jumphost:
+ name: pod9-jump
+ node:
+ type: baremetal
+ vendor: ZTE
+ model: R5300
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: haswell
+ cores: 12
+ memory: 35G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 107G
+ disk_type: hdd
+ disk_interface: sas
+ disk_rotation: 10000
+ os: CentOS-7
+ remote_params: &remote_params
+ type: ipmi
+ versions:
+ - 2.0
+ user: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAIX8TfBkmSFZEE/44AXRKK8ATlkqmfMBcDHM5
+ IrDbb8KXzyuKXK82u4KPaCxS1dmQehyba6WHih9euMrDFVTobZ/EIW4cKEvx
+ oS7DoFRDh3j9+lAE35ggHPWQnkGhgERUuMUtyia4xk+EURG/wO0iQhxrNoUg
+ fKe1jbuKq4Tr1ldunYJqmxtZn/SwVWiJfoGRIdFGJ0iO6ApVnqDIC+5IeBVv
+ gm9BLT39o7M37rY/5AQt0SoTRtnQo2kKhjUsp+46LL3/tQBlzZBLCsGwskru
+ qcZmWlg9SsLePSkqrLBiNeL1EJVu7VRdikKWu43qRLZSMhEQsu6rqkeCviYu
+ QOkh+TA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCRBGGIXFDcQnOO1MjU
+ 36+DgBB7IJHcJciyO0PTGqIs58OH]
+ pass: >
+ ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
+ DQYJKoZIhvcNAQEBBQAEggEAOnq6dIeck0YPh1OiXSU+gsUKG5cmIlqCB7ks
+ Jj0F524a8mojWB3GGSi0tdy+ZcBotTgMFm5yV4JaSmUi7f+w+3T5y7e7meKB
+ MmnuGq8AOKOfSxnI8+sUOcY8zLgNaztZk0dv/PzLydoSc5k+1uqHkakcPBHy
+ dJW9rWLSKcbFUHSOWI+tcKxx5UYY26BdqNy77YRu5ZnbW1z+xHmpcXuU4XHY
+ +Dt1qb1EkkOQ9p0wuBRNsn+xCLFNHv5tKod3nsQk0fkPsMSRGY57rSkPs8HI
+ bmkmoII5biA02bTjtb3jATPoH5mMa7hU8aaZM1qkXCejP2QIDikAgyWeiMp8
+ /kt2bjA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDehpNTtsY3HlqAGCLe
+ WSgUgBDYj5D5l/12XoUNXxGDebYT]
+ remote_management:
+ <<: *remote_params
+ # Not used, fill in with dummy values
+ address: 0.0.0.0
+ mac_address: "00:00:00:00:00:00"
+ interfaces:
+ - mac_address: "00:1b:21:89:30:87"
+ speed: 10gb
+ address: 10.20.7.1
+ name: 'nic1'
+nodes:
+ - name: pod9-node1
+ node: &nodeparas
+ type: baremetal
+ vendor: ZTE
+ model: E9000
+ arch: x86_64
+ cpus: 2
+ cpu_cflags: hasewell
+ cores: 14
+ memory: 128G
+ disks:
+ - name: 'disk1'
+ disk_capacity: 1198G
+ disk_type: hdd
+ disk_interface: sas
+ disk_rotation: 10000
+ remote_management:
+ <<: *remote_params
+ address: 192.168.176.166
+ mac_address: "74:4a:a4:03:bf:93"
+ interfaces:
+ - mac_address: "74:4a:a4:03:bf:96"
+ speed: 1gb
+ features: null
+ name: 'nic1'
+ - mac_address: "74:4a:a4:05:ee:86"
+ speed: 10gb
+ features: dpdk|sriov
+ name: 'nic2'
+ - name: pod9-node2
+ node: *nodeparas
+ disks: &disks
+ - name: 'disk1'
+ disk_capacity: 600G
+ disk_type: hdd
+ disk_interface: sas
+ disk_rotation: 10000
+ - name: 'disk2'
+ disk_capacity: 600G
+ disk_type: hdd
+ disk_interface: sas
+ disk_rotation: 10000
+ remote_management:
+ <<: *remote_params
+ address: 192.168.176.167
+ mac_address: "74:4a:a4:03:bf:c3"
+ interfaces:
+ - mac_address: "74:4a:a4:03:bf:c6"
+ speed: 1gb
+ features: null
+ name: 'nic1'
+ - mac_address: "74:4a:a4:05:ee:9a"
+ speed: 10gb
+ features: dpdk|sriov
+ name: 'nic2'
+ - name: pod9-node3
+ node: *nodeparas
+ disks: *disks
+ remote_management:
+ <<: *remote_params
+ address: 192.168.176.168
+ mac_address: "74:4a:a4:03:bf:fb"
+ interfaces:
+ - mac_address: "74:4a:a4:03:bf:fe"
+ speed: 1gb
+ features: null
+ name: 'nic1'
+ - mac_address: "74:4a:a4:05:ee:7e"
+ speed: 10gb
+ features: dpdk|sriov
+ name: 'nic2'
diff --git a/scenarios/README b/scenarios/README
new file mode 100644
index 00000000..a858bd7d
--- /dev/null
+++ b/scenarios/README
@@ -0,0 +1 @@
+This folder will contain all scenario descriptor yaml files.
diff --git a/scenarios/examples/sdf-fdio-example.yaml b/scenarios/examples/sdf-fdio-example.yaml
new file mode 100644
index 00000000..7ea0ba8a
--- /dev/null
+++ b/scenarios/examples/sdf-fdio-example.yaml
@@ -0,0 +1,134 @@
+---
+##############################################################################
+# Copyright (c) 2017 Huawei others.
+# ulrich.kleber@huawei.com
+# 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
+##############################################################################
+
+##############################################################################
+# Description:
+# This an example for a specific scenario.
+# It is derived from:
+# apex/config/deploy/os-odl_l2-fdio-ha
+##############################################################################
+
+##############################################################################
+# scenario meta-data
+scenario-metadata:
+ name: odl-fdio-devops
+ title: fdio odl basic for devops
+ generic-scenario: false
+ version: 1.0.0
+ creation-date: 2017-03-16
+ # This scenario introduces fd.io with odl and a basic feature set.
+ # It is derived from parent odl_l2 nofeature. In a next step, odl_l2 and
+ # old_l3 functionality shall be merged and provide sfc as well as other
+ # features.
+ # This scenario will use newer versions of ODL and other upstream components
+ # than used in Euphrates. It is planned to release it or DevOps use more
+ # often than regular OPNFV release cycle.
+ opnfv-release: colorado
+ opnfv-version: 3.1.0 # the first opnfv version, the scenario was introduced
+ owner: Frank Brockners, frank.brockners@cisco.com
+ # Add additional contact persons e.g. from installers or major components
+
+##############################################################################
+
+##############################################################################
+# components
+components:
+ - sdn-controller:
+ component-type: opendaylight
+ release: carbon
+ version: ">6.0.1"
+ features:
+ - odl_l2
+ - vpp
+ - storage:
+ component-type: ceph
+ # $$$$ Should we add num-replicas 3 here?
+
+ - cloud-controller:
+ type: openstack
+ release: ocata
+ modules:
+ - nova
+ - cinder
+ - dashboard
+ - glance
+ - heat
+ - neutron
+ - tacker
+ - congress
+ - dataplane:
+ type: fdio
+ release: xx
+ version: 9.9.9
+ features:
+ - performance:
+ controller-nodes:
+ kernel:
+ hugepages: 1024 # decimal number
+ hugepagesz: 2M # values like 2M, 1G
+ intel_iommu: 'on'
+ iommu: pt
+ isolcpus: 1,2
+ vpp:
+ main-core: 1
+ corelist-workers: 2
+ uio-driver: uio_pci_generic
+ compute-nodes:
+ kernel:
+ hugepagesz: 2M
+ hugepages: 2048
+ intel_iommu: 'on'
+ iommu: pt
+ isolcpus: 1,2
+ vpp:
+ main-core: 1
+ corelist-workers: 2
+ uio-driver: uio_pci_generic
+##############################################################################
+
+##############################################################################
+# deployment options
+deployment-options:
+ deployment-types: # only intel baremetal is supported
+ - baremetal:
+ architecture: x86_64
+ availability:
+ - ha: # We support only HA
+ nodes:
+ - name: host1
+ roles:
+ - openstack-controller # need to add fd.io?
+ - odl
+ - name: host2
+ roles:
+ - openstack-controller
+ - odl
+ - name: host3
+ roles:
+ - openstack-controller
+ - odl
+ - name: host4 # need to add fd.io?
+ roles:
+ - openstack-compute
+ - name: host5
+ roles:
+ - openstack-compute
+ deployment-tools:
+ # fuel support shall be added soon
+ - apex:
+ cpu: intel
+ pod: baremetal
+ availability: ha
+##############################################################################
+
+##############################################################################
+# Prerequisites
+# No other prerequisites
+##############################################################################
diff --git a/scenarios/examples/sdf-mano-example.yaml b/scenarios/examples/sdf-mano-example.yaml
new file mode 100644
index 00000000..66063163
--- /dev/null
+++ b/scenarios/examples/sdf-mano-example.yaml
@@ -0,0 +1,128 @@
+---
+##############################################################################
+# Copyright (c) 2017 Huawei and others.
+# ulrich.kleber@huawei.com
+# 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
+##############################################################################
+
+##############################################################################
+# Description:
+# This is an example for a MANO scenario
+# It illustrates how MANO components can test orchestration capabilities
+# together with various infrastructure scenarios.
+# This way, the SDF describes the MANO components (NFVO and VNFM) only. For
+# the infrastructure (NFVI and VIM) part another scenario is just referenced;
+# that scenario is deployed independently in a separate deployment step, and
+# can be deployed even using a different installer tool.
+#
+# More details can be found in the scenario lifecycle document.
+# http://artifacts.opnfv.org/octopus/docs/scenario-lifecycle/index.html
+##############################################################################
+
+##############################################################################
+# scenario meta-data: Metadata describing this sdf.yaml file and the
+# scenario history and purpose, like in any other scenario descriptor
+scenario-metadata:
+ name: orchestra-example
+ title: "orchestra main scenario"
+ generic-scenario: false
+ version: 1.0.3
+ creation-date: 2017-07-13
+ # This scenario integrates the main open-baton NFVO components to OPNFV
+ # infrastructure.
+ # In the first step, no sdn controller scenarios are supported, but only
+ # os-nosdn-nofeature and os-nosdn-ovs, installed by compass.
+ opnfv-release: euphrates
+ opnfv-version:
+ - begins: 5.1.0
+ owner: Ulrich Kleber, ulrich.kleber@huawei.com
+
+##############################################################################
+
+##############################################################################
+# components
+components:
+ - nfvo:
+ type: open-baton
+ version: 3.0
+ # here a list of optional features or artifacts to deploy could follow
+
+ - vnfm:
+ type: juju
+ # juju doesn't have release name
+ version: 2.2
+
+ - opnfv-infrastructure:
+ release: euphrates # this determines also ocata as openstack version
+ version: 5.0.0
+ scenarios:
+ - os-nosdn-nofeature:
+ options:
+ - availability: [HA, NOHA]
+ - tools: [compass, joid]
+ # this is for the example. In first step only joid will work
+ - os-nosdn-ovs:
+ options:
+ - availability: [HA, NOHA]
+ - tools: compass
+
+##############################################################################
+
+##############################################################################
+# deployment options
+
+deployment-options:
+ deployment-types:
+ - baremetal:
+ architecture: x86_64
+
+ # $$$$ following proposal 2 from the template (patchset 6)
+ roles:
+ - jump-host:
+ components:
+ - open-baton
+ - juju-controller
+ - controller-node:
+ components:
+ - juju-client
+ # this is in addition to the components defined in the
+ # opnfv-infrastructure scenario.
+ - compute-node: # no additional component to be deployed here
+
+ role-distribution:
+ - ha:
+ controller-node: 3
+ compute-node: 2
+ jump-host: 1
+ - noha:
+ controller-node: 1
+ compute-node: 4
+ jump-host: 1
+
+ deployment-tools:
+ # Please note that the component "opnfv-infrastructure" specified their
+ # own deployment tools and options. Definition here is related only
+ # for the nfvo and vnfm components specified above.
+
+ - joid:
+ cpu: intel
+ pod: baremetal
+ availability: HA
+ - joid:
+ cpu: intel
+ pod: baremetal
+ availability: NOHA
+ - joid:
+ cpu: intel
+ pod: virtual
+ availability: NOHA
+
+##############################################################################
+
+##############################################################################
+# Prerequisites
+prerequisites:
+ RAM: 128GB
diff --git a/scenarios/templates/sdf-template.yaml b/scenarios/templates/sdf-template.yaml
new file mode 100644
index 00000000..2f0121be
--- /dev/null
+++ b/scenarios/templates/sdf-template.yaml
@@ -0,0 +1,303 @@
+---
+##############################################################################
+# Copyright (c) 2017 Huawei and others.
+# ulrich.kleber@huawei.com
+# 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
+##############################################################################
+
+##############################################################################
+# Description:
+# This is the template for all scenario descriptor files (sdf)
+# Every OPNFV scenario is described in an sdf.yaml located in the
+# scenarios folder in Octopus repo.
+# The sdf is provided by the scenario owner and consumed by CI, deployment
+# tools and test frameworks.
+#
+# Main sections:
+#
+# metadata (owner, history, description)
+# list of components (names, versions, submodules)
+# deployment options (HA/NOHA, hardware&virtualization, installers,
+# configurations)
+# other prerequisites (e.g. memory requirement more than pharos spec)
+#
+# More details can be found in the scenario lifecycle document.
+##############################################################################
+
+##############################################################################
+# scenario meta-data # Metadata describing this sdf.yaml file and the
+# scenario history and purpose.
+scenario-metadata:
+ name: SDF-Template # mandatory
+ # This is a free name.
+ # For Generic scenarios, the main distiguishing components can be included in
+ # the name. The name will be approved by TSC when the generic scenario is
+ # established. Examples: OS-ODL-OVSNSH, OS-ONOS, OS-ODL-FDIO,
+ # OS-OVSBasic, OS-FDIOBasic, ...
+ # For specific scenarios, the name should characterize the main
+ # feature that is implemented here. Examples: Bgpvpn, Netvirt-gbp-vpp,
+ # Dpdk-bar, Onos-sfc, ...
+ # Final rules for naming will be set by the lifecycle document and TSC
+ # approval.
+ title: "SDF template" # mandatory
+ # descriptive text title maximum 10-12 words telling the main purpose
+ generic-scenario: false # optional, default = false
+ version: 1.0.6 # mandatory
+ # version number of the sdf, three digits separated with dots
+ creation-date: 2017-05-09 # mandatory
+ # creation of this sdf file version
+ # Please add a clear description of the purpose of the scenario, including
+ # the main benefits and major features (mandatory).
+ # If applicable, the parent scenario should be mentioned.
+ opnfv-release: euphrates # mandatory
+ # the first opnfv release, the scenario was introduced
+ opnfv-version:
+ - begins: 5.1.0 # mandatory
+ # the first opnfv version, the scenario was released with
+ - ends: 7.3.0 # optional
+ # the last opnfv version that supports this scenario. Typically the features
+ # of the scenario should have been merged to generic scenarios then
+ owner: Ulrich Kleber, ulrich.kleber@huawei.com # mandatory
+# author of this file and thus owner of the scenario
+# Add additional contact persons e.g. from installers or major components
+
+##############################################################################
+
+##############################################################################
+# components
+# All components/submodules/features in the list shall be deployed
+components: # mandatory section
+ # In this section all components are listed together with their version.
+ # For some components in addtion submodules or optional features can
+ # be listed.
+ - sdn-controller: # optional, default = no sdn controller
+ # most important categories here are: sdn-controller, cloud-controller,
+ # storage, virtual-switching, dataplane, nfvo, vnfm, but new categories
+ # can be introduced any time.
+ # Every component to be deployed should be listed with such a section.
+ # If the component has submodules or optional features, they also need
+ # to be listed.
+ type: opendaylight # mandatory, other options e.g.onos, ocl, ovn
+ release: boron # either release or version or both must be given
+ # upstream version, human readable release name
+ version: 5.0.1
+ # exact semantic version including patch level
+ # Normally installers will not be able to pick exact semantic versions, but
+ # if the scenario requires specific versions, this can be checked offline.
+ # Following syntax variants can be allowed as well:
+ # version: 5.*.*
+ # version: ">5.0.3"
+ features: # optional
+ # additional feature configurations as recognized by the installers.
+ - odl_l2
+ - sfc
+ - bgpvpn
+
+ - storage: # optional
+ type: ceph
+
+ - cloud-controller: # seems to me mandatory
+ type: openstack # other option could be kubernetes
+ release: ocata # either release or version or both must be given
+ version: 15.0.0
+ # An OPNFV version can go only with one openstack version.
+ # Typically installers cannot pick different openstack version,
+ # but this can be checked offline.
+ modules: # optional
+ # Installers have a basic set of modules that are deployed by
+ # default. Those can be listed optional. Scenario owners can
+ # list additional optional modules with their name as on
+ # https://wiki.openstack.org/software/project-navigator, but
+ # with lower case and dashes, Examples: tacker, kuryr, horizon,
+ # vitrage, chef-openstack, openstack-charms, etc.
+ # Independent of big tent, modules can be used if installers
+ # support their deployment.
+ - nova
+ - cinder
+ - horizon
+ - glance
+ - heat
+ - neutron:
+ features: # In some cases features need to be listed specifically
+ - bgpvpn # listing service plugins as neutron features makes
+ # it easier for installers, they don't need to take this
+ # information from the features field in the sdn-controller.
+ - aodh
+ - tacker
+ - congress
+
+ - virtual-switching: # optional
+ # showing with this example how to include a separate
+ # configuration file for this
+ type: ovs
+ release: xx # either release or version or both must be given
+ version: 2.6.1
+ features: # optional
+ - vsperf:
+ file: scenarios/ovs-config.yaml
+# this file then should contain additional configurations to use like
+# hugepage-size, iommu, ...
+# it will be treated like a C #include statement.
+# Please note, the template cannot show all possible options here. There will be
+# more in an additional document.
+# Correct usage of the keywords/options will be enforced by a schema.
+# Also note that some component related deployment information will be
+# in the options section.
+##############################################################################
+
+##############################################################################
+# deployment options
+# In this section, CI will select one of the listed options and needs to pass
+# the information to the installer via a parameter or environment.
+deployment-options: # mandatory
+ deployment-types: # at least one section must be provided
+ - baremetal:
+ architecture: x86_64
+ features: # optional
+ - dpdk
+ - other
+ # $$$$ Discussion open whether we need features here after adding
+ # them in roles section
+ - baremetal:
+ architecture: arm64
+ - virtual:
+ # $$$$ Discussion open whether this is necessary here.
+ architecture: x86_64
+ features:
+ - xyz
+
+ # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+ # Discussion open how to specify the distribution of components on nodes.
+ # Three proposals:
+ # 1. specify availability options ha, noha by placing functions on nodes
+ # 2. specify roles like compute-node, controller-node and only their number,
+ # thus avoid coupling with hostnames and more flexible mapping to different
+ # sizes of PODs.
+ # 3. Leave it to installers and just specify whether ha or noha are supported
+ # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+ # Proposal 1:
+ availability: # mandatory
+ # here the configuration for a HA and NONHA deployment is described.
+ # It is similar to what compass has in host section (minus the POD info),
+ # or fuel in the dea-override-config or dha-override-config
+ - ha: # minimum one of ha or noha must be specified
+ nodes: # a description like this is mandatory
+ - name: [host1, host2, host3] # avoid to list the same multiple times
+ roles:
+ # took this from compass. Is it sufficient?
+ - openstack-controller
+ - odl
+ - ceph-adm
+ - ceph-mon
+ - name: [host4, host 5]
+ roles:
+ - openstack-compute
+ - ceph-osd
+ - noha:
+ hosts:
+ - name: host1
+ roles:
+ - openstack-controller
+ - odl
+ - ceph-adm
+ - ceph-mon
+ - name: host2
+ roles:
+ - openstack-compute
+ - ceph-osd
+ - name: host3
+ roles:
+ - openstack-compute
+ - ceph-osd
+
+ # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+ # Proposal 2:
+ roles: # mandatory
+ - controller-node:
+ components: # list all components that are deployed here.
+ - openstack: control
+ - opendaylight
+ - ceph: [ceph-adm, ceph-mon]
+ - ovs
+ - compute-node:
+ components:
+ - openstack: compute
+ - ceph: ceph-osd
+ - ovs
+ hardware-features:
+ - dpdk
+ - jump-host: # some scenarios, e.g. MANO might deploy components here
+
+ role-distribution: # mandatory
+ - ha:
+ controller-node: 3
+ compute-node: 2
+ jump-host: 1
+ - noha:
+ controller-node: 1
+ compute-node: 4
+ jump-host: 1
+
+ # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+ # Proposal 3:
+ # no specification of nodes/roles here. ha, noha are defined by installers
+
+ deployment-tools: # mandatory
+ # In the section for each deployment tool, the combinations of the
+ # first three options have to be listed. CI can pick any of the sections.
+ - fuel: # at least one section
+ cpu: intel # optional, default = intel
+ pod: baremetal
+ availability: ha
+ - fuel:
+ cpu: intel
+ pod: virtual
+ availability: ha
+ - fuel:
+ cpu: intel
+ pod: virtual
+ availability: noha
+ - fuel:
+ cpu: arm
+ pod: baremetal
+ availability: noha
+ - compass:
+ cpu: intel
+ pod: baremetal
+ availability: ha
+ - joid:
+ cpu: intel
+ pod: baremetal
+ availability: ha
+
+##############################################################################
+
+##############################################################################
+# Prerequisites
+# This section will list additional prerequisites. Currently there is only
+# one case where a scenario has additional prerequisites to the Pharos spec.
+# Open-O deployment requires 64GB of memory while Pharos spec requires 32GB.
+# In general it should be preferred to issue such requirements to pharos
+# using the pharos change request process, but in some cases in might be
+# better to specify additional prerequisites.
+# Another use case for these prerequisites will be usage of specilized
+# hardware, e.g. for acceleration. This needs further study.
+
+prerequisites: # The section can be empty or omitted.
+ - controller-node: # Prerequisites might be different
+ RAM: 128GB # optional, just to give examples
+ cpu: dual-core
+ features: # optional, see example below
+ - compute-node:
+ RAM: 128GB
+ cpu: dual-core
+ features:
+ - dpdk
+ - jumphost: # Prerequisites can be given also for jumphost
+ RAM: 128GB
+ cpu: dual-core
+
+##############################################################################