summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mcp/config/scenario/os-nosdn-vpp-ha.yaml.j258
-rw-r--r--mcp/config/scenario/os-nosdn-vpp-noha.yaml.j237
-rw-r--r--mcp/patches/0016-Disable-glance-signature-verification.patch36
-rw-r--r--mcp/patches/patches.list1
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml2
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml2
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j25
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j25
-rw-r--r--mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control.yml1
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/infra/config.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init.yml14
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init_vcp.yml.j212
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/infra/kvm.yml.j214
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/infra/maas.yml11
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/init.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute.yml17
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute_pdf.yml.j236
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/control.yml13
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/database.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/init.yml13
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/message_queue.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/proxy.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/telemetry.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/infra/config.yml22
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/infra/init.yml14
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/infra/maas.yml11
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/init.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/compute.yml.j232
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/control.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/gateway.yml.j228
-rw-r--r--mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/init.yml13
-rw-r--r--mcp/reclass/nodes/cfg01.mcp-vpp-ha.local.yml18
-rw-r--r--mcp/reclass/nodes/cfg01.mcp-vpp-noha.local.yml18
33 files changed, 490 insertions, 39 deletions
diff --git a/mcp/config/scenario/os-nosdn-vpp-ha.yaml.j2 b/mcp/config/scenario/os-nosdn-vpp-ha.yaml.j2
new file mode 100644
index 000000000..6ccb59061
--- /dev/null
+++ b/mcp/config/scenario/os-nosdn-vpp-ha.yaml.j2
@@ -0,0 +1,58 @@
+##############################################################################
+# 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 %}
+---
+cluster:
+ domain: mcp-vpp-ha.local
+ states:
+{%- if nm.cluster.has_baremetal_nodes %}
+ - maas
+ - baremetal_init
+{%- endif %}
+{%- if conf.MCP_VCP %}
+ - virtual_control_plane
+{%- endif %}
+ - openstack_ha
+ - networks
+virtual:
+ nodes:
+ infra:
+ - cfg01
+{%- if nm.cluster.has_baremetal_nodes %}
+ - mas01
+{%- endif %}
+ control:
+ - kvm01
+ - kvm02
+ - kvm03
+ compute:
+ - cmp001
+ - cmp002
+ # Below values are only used for each node if said node is virtual
+ cfg01:
+ vcpus: 4
+ ram: 6144
+ mas01:
+ vcpus: 4
+ ram: 6144
+ # NOTE: We might need to add more RAM here
+ kvm01:
+ vcpus: 4
+ ram: 14336
+ kvm02:
+ vcpus: 4
+ ram: 14336
+ kvm03:
+ vcpus: 4
+ ram: 14336
+ cmp001:
+ vcpus: 4
+ ram: 8192
+ cmp002:
+ vcpus: 4
+ ram: 8192
diff --git a/mcp/config/scenario/os-nosdn-vpp-noha.yaml.j2 b/mcp/config/scenario/os-nosdn-vpp-noha.yaml.j2
new file mode 100644
index 000000000..41cb504e1
--- /dev/null
+++ b/mcp/config/scenario/os-nosdn-vpp-noha.yaml.j2
@@ -0,0 +1,37 @@
+##############################################################################
+# Copyright (c) 2017 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 %}
+---
+cluster:
+ domain: mcp-vpp-noha.local
+ states:
+{%- if nm.cluster.has_baremetal_nodes %}
+ - maas
+ - baremetal_init
+{%- endif %}
+ - openstack_noha
+ - neutron_gateway
+ - networks
+virtual:
+ nodes:
+ infra:
+ - cfg01
+{%- if nm.cluster.has_baremetal_nodes %}
+ - mas01
+{%- endif %}
+ control:
+ - ctl01
+ - gtw01
+ compute:
+ - cmp001
+ - cmp002
+ ctl01:
+ vcpus: 4
+ ram: 14336
+ gtw01:
+ ram: 2048
diff --git a/mcp/patches/0016-Disable-glance-signature-verification.patch b/mcp/patches/0016-Disable-glance-signature-verification.patch
deleted file mode 100644
index 55f641800..000000000
--- a/mcp/patches/0016-Disable-glance-signature-verification.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: 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
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-From: Delia Popescu <delia.popescu@enea.com>
-Date: Mon, 6 Aug 2018 17:09:14 +0300
-Subject: [PATCH] Disable glance signature verification
-
-Disable glance signature verification if barbican
-integration is enabled on compute nodes
-
-Signed-off-by: Delia Popescu <delia.popescu@enea.com>
----
- nova/files/queens/nova-compute.conf.Debian | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/nova/files/queens/nova-compute.conf.Debian b/nova/files/queens/nova-compute.conf.Debian
-index d471a264..47a4e890 100644
---- a/nova/files/queens/nova-compute.conf.Debian
-+++ b/nova/files/queens/nova-compute.conf.Debian
-@@ -5447,9 +5447,9 @@ api_servers = {{ compute.image.get('protocol', 'http') }}://{{ compute.image.hos
- # below depend on this option being enabled.
- # (boolean value)
- {%- if compute.get('barbican', {}).get('enabled', False) %}
--verify_glance_signatures=true
-+#verify_glance_signatures=true
- {%- else %}
--#verify_glance_signatures=false
-+verify_glance_signatures=false
- {%- endif %}
-
- # DEPRECATED:
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
index 2f9107156..baa15d79d 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
@@ -10,4 +10,3 @@
/usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch
/usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.patch
/usr/share/salt-formulas/env: 0015-Set-ovs-bridges-as-L3-interfaces.patch
-/usr/share/salt-formulas/env: 0016-Disable-glance-signature-verification.patch
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
index 76573c0ea..9caea0d0f 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
@@ -80,3 +80,5 @@ parameters:
preallocate_images: space
barbican:
enabled: ${_param:barbican_integration_enabled}
+ image:
+ verify_glance_signatures: false
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
index 5c9c16d6b..0409974ba 100644
--- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
@@ -37,6 +37,8 @@ parameters:
password: ${_param:keystone_neutron_password}
barbican:
enabled: ${_param:barbican_integration_enabled}
+ image:
+ verify_glance_signatures: false
neutron:
compute:
notification: true
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2
index 38f57688f..3c7388a9c 100644
--- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute_pdf.yml.j2
@@ -10,8 +10,11 @@
{%- import 'net_macros.j2' as ma with context %}
{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #}
{%- set nics = { nm.cmp001.nic_mgmt: True, nm.cmp001.nic_private: True } %}
+{%- set vlans = { nm.vlan_mgmt: nm.cmp001.nic_mgmt } %}
+{%- if 'dpdk' not in conf.cluster.domain and not conf.MCP_DPDK_MODE %}
{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %}
-{%- set vlans = { nm.vlan_mgmt: nm.cmp001.nic_mgmt, vlan_private_start: nm.cmp001.nic_private } %}
+{%- do vlans.update({ vlan_private_start: nm.cmp001.nic_private }) %}
+{%- endif %}
---
parameters:
_param:
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2
index 972069ec1..72c381070 100644
--- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_gateway_pdf.yml.j2
@@ -10,8 +10,11 @@
{%- import 'net_macros.j2' as ma with context %}
{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #}
{%- set nics = { nm.ctl01.nic_mgmt: True, nm.ctl01.nic_private: True } %}
+{%- set vlans = { nm.vlan_mgmt: nm.ctl01.nic_mgmt } %}
+{%- if 'dpdk' not in conf.cluster.domain and not conf.MCP_DPDK_MODE %}
{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %}
-{%- set vlans = { nm.vlan_mgmt: nm.ctl01.nic_mgmt, vlan_private_start: nm.ctl01.nic_private } %}
+{%- do vlans.update({ vlan_private_start: nm.ctl01.nic_private }) %}
+{%- endif %}
parameters:
linux:
network:
diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control.yml b/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control.yml
index 536ebfad7..037bf0248 100644
--- a/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control.yml
+++ b/mcp/reclass/classes/cluster/mcp-odl-noha/opendaylight/control.yml
@@ -14,6 +14,7 @@ classes:
- cluster.mcp-odl-noha.opendaylight.control_pdf
parameters:
_param:
+ interface_mtu: 1500
linux_system_codename: xenial
opendaylight:
server:
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/config.yml
new file mode 100644
index 000000000..06347bf22
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/config.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.infra.config
+ - cluster.mcp-vpp-ha.infra
+ - cluster.all-mcp-arch-common.infra.config_pdf
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init.yml
new file mode 100644
index 000000000..a434ef7c1
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init.yml
@@ -0,0 +1,14 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.infra
+ - cluster.mcp-vpp-ha.openstack
+parameters:
+ _param:
+ cluster_name: mcp-vpp-ha
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init_vcp.yml.j2 b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init_vcp.yml.j2
new file mode 100644
index 000000000..21d2e42ce
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/init_vcp.yml.j2
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+{%- if conf.MCP_VCP %}
+classes:
+ - cluster.mcp-vpp-ha.infra
+{%- endif %}
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/kvm.yml.j2
new file mode 100644
index 000000000..2f72c4178
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/kvm.yml.j2
@@ -0,0 +1,14 @@
+##############################################################################
+# 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
+##############################################################################
+---
+{%- if conf.MCP_VCP %}
+# NOTE(armband): we don't want to pull in salt.control for novcp
+classes:
+ - cluster.mcp-common-ha.infra.kvm
+ - cluster.mcp-vpp-ha.infra
+{%- endif %}
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/maas.yml
new file mode 100644
index 000000000..b2b66992c
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/infra/maas.yml
@@ -0,0 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.all-mcp-arch-common.infra.maas
+ - cluster.mcp-vpp-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/init.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/init.yml
new file mode 100644
index 000000000..dc6b8bfef
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/init.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.all-mcp-arch-common
+ - cluster.mcp-vpp-ha.infra
+ - cluster.mcp-vpp-ha.openstack
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute.yml
new file mode 100644
index 000000000..0518a8b57
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.openstack_compute
+ - cluster.mcp-vpp-ha.openstack.compute_pdf
+ - cluster.mcp-vpp-ha.infra
+parameters:
+ nova:
+ compute:
+ libvirt_service: libvirtd
+ libvirt_bin: /etc/default/libvirtd
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute_pdf.yml.j2
new file mode 100644
index 000000000..f3844ad8c
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/compute_pdf.yml.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
+##############################################################################
+{%- import 'net_map.j2' as nm with context %}
+{%- import 'net_macros.j2' as ma with context %}
+{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #}
+{%- set nics = { nm.cmp001.nic_private: True } %}
+{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %}
+{%- set vlans = { vlan_private_start: nm.cmp001.nic_private } %}
+---
+parameters:
+ linux:
+ network:
+ interface:
+
+{#- prevent duplicates for tagged mgmt on the same physical interface as PXE/admin #}
+{%- if nm.cmp001.nic_admin in nics %}
+ {%- do nics.pop(nm.cmp001.nic_admin) %}
+{%- endif %}
+
+{{ ma.linux_network_interfaces_nic(nics) }}
+
+{{ ma.linux_network_interfaces_vlan(vlans) }}
+
+ br-mesh:
+ enabled: true
+ type: bridge
+ address: ${_param:tenant_address}
+ netmask: ${_param:opnfv_net_private_mask}
+ mtu: 1500
+ use_interfaces:
+ - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }}
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/control.yml
new file mode 100644
index 000000000..9bca1f084
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/control.yml
@@ -0,0 +1,13 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - system.neutron.control.openvswitch.cluster
+ - cluster.mcp-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-common-ha.openstack_control
+ - cluster.mcp-vpp-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/database.yml
new file mode 100644
index 000000000..a75fa675b
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/database.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-common-ha.openstack_database
+ - cluster.mcp-vpp-ha.infra.init_vcp
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/init.yml
new file mode 100644
index 000000000..9dbfd59a1
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/init.yml
@@ -0,0 +1,13 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.openstack_init
+parameters:
+ _param:
+ neutron_tenant_network_types: "flat,vxlan"
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/message_queue.yml
new file mode 100644
index 000000000..42a1b658e
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/message_queue.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-common-ha.openstack_message_queue
+ - cluster.mcp-vpp-ha.infra.init_vcp
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/proxy.yml
new file mode 100644
index 000000000..3a82e51a6
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/proxy.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.openstack_interface_vcp_triport
+ - cluster.mcp-common-ha.openstack_proxy
+ - cluster.mcp-vpp-ha.infra.init_vcp
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/telemetry.yml
new file mode 100644
index 000000000..402616868
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-ha/openstack/telemetry.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-common-ha.openstack_telemetry
+ - cluster.mcp-vpp-ha.infra.init_vcp
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/config.yml
new file mode 100644
index 000000000..0263a57d0
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/config.yml
@@ -0,0 +1,22 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - system.reclass.storage.system.openstack_gateway_single
+ - cluster.mcp-common-noha.infra.config
+ - cluster.mcp-vpp-noha
+ - cluster.all-mcp-arch-common.infra.config_pdf
+parameters:
+ reclass:
+ storage:
+ node:
+ openstack_gateway_node01:
+ params:
+ tenant_address: ${_param:opnfv_openstack_gateway_node01_tenant_address}
+ external_address: ${_param:opnfv_openstack_gateway_node01_external_address}
+ pxe_admin_address: ${_param:opnfv_openstack_gateway_node01_pxe_admin_address}
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/init.yml
new file mode 100644
index 000000000..f61519664
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/init.yml
@@ -0,0 +1,14 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-noha.infra
+
+parameters:
+ _param:
+ cluster_name: mcp-vpp-noha
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/maas.yml
new file mode 100644
index 000000000..e02d0304f
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/infra/maas.yml
@@ -0,0 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.all-mcp-arch-common.infra.maas
+ - cluster.mcp-vpp-noha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/init.yml b/mcp/reclass/classes/cluster/mcp-vpp-noha/init.yml
new file mode 100644
index 000000000..41515cf6d
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/init.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-noha.init_options
+ - cluster.mcp-vpp-noha.infra
+ - cluster.mcp-vpp-noha.openstack
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/compute.yml.j2
new file mode 100644
index 000000000..9142743da
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/compute.yml.j2
@@ -0,0 +1,32 @@
+##############################################################################
+# 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 %}
+{%- import 'net_macros.j2' as ma with context %}
+{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %}
+---
+classes:
+ - service.neutron.compute.single
+ - cluster.mcp-common-noha.openstack_compute
+ - cluster.mcp-vpp-noha
+parameters:
+ linux:
+ network:
+ interface:
+ pxe_admin_int:
+ # For scenarios without public network on cmp, set admin gw
+ gateway: {{ nm.net_admin_gw }}
+ name_servers:
+ - {{ nm.net_admin_gw }}
+ br-mesh:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:tenant_address}
+ netmask: ${_param:opnfv_net_private_mask}
+ use_interfaces:
+ - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }}
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/control.yml
new file mode 100644
index 000000000..49dc3da4a
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/control.yml
@@ -0,0 +1,12 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - system.neutron.control.openvswitch.single
+ - cluster.mcp-common-noha.openstack_control
+ - cluster.mcp-vpp-noha
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/gateway.yml.j2 b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/gateway.yml.j2
new file mode 100644
index 000000000..27e6372b0
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/gateway.yml.j2
@@ -0,0 +1,28 @@
+##############################################################################
+# 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 %}
+{%- import 'net_macros.j2' as ma with context %}
+{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %}
+---
+classes:
+ - cluster.mcp-common-noha.openstack_gateway
+ - service.neutron.gateway.single
+ - cluster.mcp-vpp-noha
+parameters:
+ linux:
+ network:
+ interface:
+ br-mesh:
+ enabled: true
+ type: bridge
+ mtu: ${_param:interface_mtu}
+ proto: static
+ address: ${_param:tenant_address}
+ netmask: ${_param:opnfv_net_private_mask}
+ use_interfaces:
+ - {{ ma.interface_str(nm.ctl01.nic_private, vlan_private_start) }}
diff --git a/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/init.yml
new file mode 100644
index 000000000..79e231825
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-vpp-noha/openstack/init.yml
@@ -0,0 +1,13 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-common-noha.openstack_init
+parameters:
+ _param:
+ neutron_tenant_network_types: "flat,vxlan"
diff --git a/mcp/reclass/nodes/cfg01.mcp-vpp-ha.local.yml b/mcp/reclass/nodes/cfg01.mcp-vpp-ha.local.yml
new file mode 100644
index 000000000..89bb3c3ca
--- /dev/null
+++ b/mcp/reclass/nodes/cfg01.mcp-vpp-ha.local.yml
@@ -0,0 +1,18 @@
+##############################################################################
+# 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-vpp-ha.infra.config
+parameters:
+ _param:
+ linux_system_codename: xenial
+ reclass_data_revision: master
+ linux:
+ system:
+ name: cfg01
+ domain: mcp-vpp-ha.local
diff --git a/mcp/reclass/nodes/cfg01.mcp-vpp-noha.local.yml b/mcp/reclass/nodes/cfg01.mcp-vpp-noha.local.yml
new file mode 100644
index 000000000..381243168
--- /dev/null
+++ b/mcp/reclass/nodes/cfg01.mcp-vpp-noha.local.yml
@@ -0,0 +1,18 @@
+##############################################################################
+# Copyright (c) 2017 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
+##############################################################################
+---
+classes:
+ - cluster.mcp-vpp-noha.infra.config
+parameters:
+ _param:
+ linux_system_codename: xenial
+ reclass_data_revision: master
+ linux:
+ system:
+ name: cfg01
+ domain: mcp-vpp-noha.local