summaryrefslogtreecommitdiffstats
path: root/config/installers
diff options
context:
space:
mode:
Diffstat (limited to 'config/installers')
-rw-r--r--config/installers/apex/pod_config.yaml.j237
-rw-r--r--config/installers/compass4nfv/network.yml.j22
-rw-r--r--config/installers/compass4nfv/network_ocl.yml.j24
-rw-r--r--config/installers/compass4nfv/network_onos.yml.j22
-rw-r--r--config/installers/compass4nfv/network_openo.yml.j22
-rw-r--r--config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-nosdn-openo-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-odl_l2-moon-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-odl_l2-nofeature-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-odl_l3-nofeature-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-onos-nofeature-ha.yml.j210
-rw-r--r--config/installers/compass4nfv/os-onos-sfc-ha.yml.j210
-rw-r--r--config/installers/daisy/network.yaml.j224
-rw-r--r--config/installers/daisy/pod_config.yaml.j24
-rw-r--r--config/installers/fuel/net_macros.j249
-rw-r--r--config/installers/fuel/net_map.j2229
-rw-r--r--config/installers/fuel/pod_config.yml.j2179
-rw-r--r--config/installers/joid/pod_config.yaml.j2257
19 files changed, 535 insertions, 334 deletions
diff --git a/config/installers/apex/pod_config.yaml.j2 b/config/installers/apex/pod_config.yaml.j2
index b681215e..d4db9ef7 100644
--- a/config/installers/apex/pod_config.yaml.j2
+++ b/config/installers/apex/pod_config.yaml.j2
@@ -1,11 +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
@@ -15,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
@@ -27,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
@@ -39,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
@@ -51,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 a98cc4a9..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
diff --git a/config/installers/compass4nfv/network_ocl.yml.j2 b/config/installers/compass4nfv/network_ocl.yml.j2
index 4d1342d9..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
@@ -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 90174c85..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
diff --git a/config/installers/compass4nfv/network_openo.yml.j2 b/config/installers/compass4nfv/network_openo.yml.j2
index 37b34c7f..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
diff --git a/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-nosdn-nofeature-ha.yml.j2
index 2dcf048c..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,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] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
diff --git a/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2 b/config/installers/compass4nfv/os-nosdn-openo-ha.yml.j2
index 6deb19de..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:
diff --git a/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-ocl-nofeature-ha.yml.j2
index d03c7e87..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,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] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
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 d3d8aa1d..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,11 +9,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] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
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 1ba947a5..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,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] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
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 d81769c4..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,11 +9,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] }}'
odl_l3_agent: "Enable"
diff --git a/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2 b/config/installers/compass4nfv/os-onos-nofeature-ha.yml.j2
index 8c731a5b..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,11 +9,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] }}'
hosts:
- name: {{ conf['nodes'][0]['name'] }}
diff --git a/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2 b/config/installers/compass4nfv/os-onos-sfc-ha.yml.j2
index bbc4723d..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,11 +9,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] }}'
onos_sfc: "Enable"
diff --git a/config/installers/daisy/network.yaml.j2 b/config/installers/daisy/network.yaml.j2
index f5ac6150..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
@@ -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 8057f68c..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,7 +9,7 @@
---
-adapter: {{ conf['jumphost']['remote_params']['type'] }}
+adapter: {{ conf['jumphost']['remote_management']['type'] }}
hosts:
{%- set nodes_num = conf['nodes'] | length -%}
{%- if nodes_num == 5 %}
diff --git a/config/installers/fuel/net_macros.j2 b/config/installers/fuel/net_macros.j2
new file mode 100644
index 00000000..c0a5d329
--- /dev/null
+++ b/config/installers/fuel/net_macros.j2
@@ -0,0 +1,49 @@
+##############################################################################
+# 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, proto = 'manual') -%}
+{%- for nic in nics %}
+ {{ nic }}:
+ enabled: true
+ type: eth
+ proto: {{ proto }}
+ mtu: ${_param:interface_mtu}
+ name: {{ nic }}
+ noifupdown: true
+{%- endfor %}
+{%- endmacro -%}
+
+{%- macro linux_network_interfaces_vlan(vlans, proto = 'manual') -%}
+{%- for vlan in vlans %}
+ {%- if vlan | int > 0 %}
+ {{ vlans[vlan] }}.{{ vlan }}:
+ enabled: true
+ proto: {{ proto }}
+ mtu: ${_param:interface_mtu}
+ 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 -%}
+
+{%- macro vpp_interface_str(speed, pci_addr, driver = '') -%}
+ {%- set p = pci_addr.replace('.', ':').split(':') -%}
+ {%- set s = 'Ethernet%d/%d/%d' | format(p[-3] | int(0, 16),
+ p[-2] | int(0, 16),
+ p[-1] | int(0, 16)) -%}
+ {%- if 'vfio' in driver -%}
+ VirtualFunction{{ s }}
+ {%- else -%}
+ {% if '40g' in speed %}Forty{% elif '10g' in speed %}Ten{% endif %}Gigabit{{ s }}
+ {%- endif -%}
+{%- endmacro -%}
diff --git a/config/installers/fuel/net_map.j2 b/config/installers/fuel/net_map.j2
new file mode 100644
index 00000000..bc1ac789
--- /dev/null
+++ b/config/installers/fuel/net_map.j2
@@ -0,0 +1,229 @@
+##############################################################################
+# 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] %}
+ {%- if role.idx < conf.nodes | length %}
+ {%- 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 #}
+ {%- endif %}
+{%- 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_opendaylight_server_node02_pxe_admin_address',
+ 'opnfv_opendaylight_server_node03_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_address',
+ 'opnfv_opendaylight_server_node01_address',
+ 'opnfv_opendaylight_server_node02_address',
+ 'opnfv_opendaylight_server_node03_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',
+ 'opnfv_opendaylight_server_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 8a4d869e..657bc2c1 100644
--- a/config/installers/fuel/pod_config.yml.j2
+++ b/config/installers/fuel/pod_config.yml.j2
@@ -1,136 +1,47 @@
+##############################################################################
+# 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 conf.idf is defined and conf.idf.fuel is defined -%}
- {%- if conf.idf.net_config is defined -%}
- {%- set net_admin = conf.idf.net_config.admin.network -%}
- {%- set net_mgmt = conf.idf.net_config.mgmt.network -%}
- {%- set net_private = conf.idf.net_config.private.network -%}
- {%- set net_public = conf.idf.net_config.public.network -%}
- {%- set vlan_mgmt = conf.idf.net_config.mgmt.vlan -%}
- {%- set vlan_private = conf.idf.net_config.private.vlan -%}
- {%- if conf.idf.net_config.public.dns is defined -%}
- {%- set dns_public = conf.idf.net_config.public.dns -%}
- {%- endif -%}
- {%- set pxe_interface = conf.idf.net_config.admin.interface -%}
- {%- if conf.idf.net_config.public.gateway is defined -%}
- {%- set net_public_gw = conf.idf.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 %}
+{%- 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 %}
+ {%- set has_cmp = True if 'virtual' not in conf else 'compute' in conf.virtual.nodes %}
+ {%- for node in conf.nodes %}
+ {%- if (node.node.type == 'baremetal' and (
+ (has_cmp and loop.index > nm.cmp001.idx) or loop.index0 < ctl_roles)) %}
+ {%- if loop.index > nm.cmp001.idx %}
+ cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}:
+ {%- elif 'virtual' not in conf %} {#- strictly for Pharos verify job #}
+ kvm{{ '%02d' | format(loop.index) }}:
+ {%- else %}
+ {{ conf.virtual.nodes.control[loop.index0] }}:
+ {%- endif %}
+ interface:
+ mac: {{ node.interfaces[nm.idx_admin].mac_address }}
+ power_parameters:
+ power_address: {{ node.remote_management.address.rsplit('/')[0] }}
+ power_pass: {{ node.remote_management.pass }}
+ power_type: {{ node.remote_management.type }}
+ power_user: {{ node.remote_management.user }}
+ architecture: {{ node.node.arch | dpkg_arch }}/generic
+ distro_series: bionic
+ hwe_kernel: ${_param:hwe_kernel}
+ {%- if loop.index > nm.cmp001.idx %}
+ disk_layout:
+ type: lvm
+ root_device: sda
+ volume_group: vgroot
+ volume_name: lvroot
+ volume_size: 100
+ {%- endif %}
+ {%- endif %}
+ {%- endfor %}
+{%- endif %}
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