summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules1
-rw-r--r--mcp/config/scenario/os-ovn-nofeature-ha.yaml26
-rwxr-xr-xmcp/config/states/baremetal_init2
-rwxr-xr-xmcp/config/states/virtual_control_plane1
-rw-r--r--mcp/patches/0001-Disable-root_helper_daemon-option.patch40
-rw-r--r--mcp/patches/patches.list1
-rw-r--r--mcp/patches/reclass-system-salt-model/0001-ceilometer-server-publisher-Add-enabled-default.patch31
-rw-r--r--mcp/patches/reclass-system-salt-model/0002-Use-keystone-v3-endpoints-by-default.patch (renamed from mcp/patches/reclass-system-salt-model/0003-Use-keystone-v3-endpoints-by-default.patch)0
-rw-r--r--mcp/patches/reclass-system-salt-model/0002-mongodb-Parameterize-cluster-hostnames.patch37
-rw-r--r--mcp/patches/reclass-system-salt-model/0003-Revert-Admin-endpoint-for-keystone-v3.patch (renamed from mcp/patches/reclass-system-salt-model/0004-Revert-Admin-endpoint-for-keystone-v3.patch)0
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml5
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml5
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml14
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml11
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml11
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml17
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j248
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml13
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml13
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml12
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml12
m---------mcp/reclass/classes/system0
-rw-r--r--mcp/reclass/nodes/cfg01.mcp-pike-ovn-ha.local.yml18
30 files changed, 330 insertions, 42 deletions
diff --git a/.gitmodules b/.gitmodules
index 565943da6..c7c44587c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,7 +2,6 @@
path = mcp/reclass/classes/system
url = https://github.com/Mirantis/reclass-system-salt-model
branch = master
- ignore = all
[submodule "scripts"]
path = mcp/deploy/scripts
url = https://github.com/salt-formulas/salt-formulas-scripts
diff --git a/mcp/config/scenario/os-ovn-nofeature-ha.yaml b/mcp/config/scenario/os-ovn-nofeature-ha.yaml
new file mode 100644
index 000000000..6efc11a3f
--- /dev/null
+++ b/mcp/config/scenario/os-ovn-nofeature-ha.yaml
@@ -0,0 +1,26 @@
+##############################################################################
+# 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
+##############################################################################
+---
+cluster:
+ domain: mcp-pike-ovn-ha.local
+ states:
+ - maas
+ - baremetal_init
+ - virtual_control_plane
+ - openstack_ha
+ - networks
+virtual:
+ nodes:
+ - cfg01
+ - mas01
+ cfg01:
+ vcpus: 4
+ ram: 6144
+ mas01:
+ vcpus: 4
+ ram: 6144
diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init
index d3a255d48..a7941e00e 100755
--- a/mcp/config/states/baremetal_init
+++ b/mcp/config/states/baremetal_init
@@ -27,7 +27,7 @@ salt -C 'kvm*' state.apply linux.network,linux.system.kernel
salt -C 'kvm* or cmp*' state.apply salt.minion
salt -C 'cmp*' state.apply linux.system
# wrap distro `route` binary to silence errors when route already exists
-salt -C 'cmp*' state.apply opnfv.route_wrapper
+wait_for 5.0 "salt -C 'kvm* or cmp*' state.apply opnfv.route_wrapper"
salt -C 'cmp*' state.apply linux.network || true
wait_for 30.0 "salt -C 'kvm* or cmp*' test.ping"
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
index 48e45d426..80c0c87e6 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -57,6 +57,7 @@ wait_for 10.0 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_
# Disable proxy dhcp routes after installation
salt -C 'prx*' file.write /etc/dhcp/dhclient-enter-hooks.d/no-default-route \
args='unset new_routers'
+salt -C 'prx*' state.apply opnfv.route_wrapper
salt -C 'prx*' system.reboot
wait_for 30.0 "salt -C 'prx*' test.ping"
diff --git a/mcp/patches/0001-Disable-root_helper_daemon-option.patch b/mcp/patches/0001-Disable-root_helper_daemon-option.patch
new file mode 100644
index 000000000..389393975
--- /dev/null
+++ b/mcp/patches/0001-Disable-root_helper_daemon-option.patch
@@ -0,0 +1,40 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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: Michael Polenchuk <mpolenchuk@mirantis.com>
+Date: Tue, 6 Mar 2018 16:15:57 +0400
+Subject: [PATCH] Disable root_helper_daemon option
+
+Change-Id: I4cc6cce4868ea95e806ce4b41069805fb995dcdb
+
+diff --git a/neutron/files/pike/neutron-generic.conf.Debian b/neutron/files/pike/neutron-generic.conf.Debian
+index a94a24b..bec041f 100644
+--- a/neutron/files/pike/neutron-generic.conf.Debian
++++ b/neutron/files/pike/neutron-generic.conf.Debian
+@@ -668,7 +668,7 @@ root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
+ # needs to execute commands in Dom0 in the hypervisor of XenServer, this item
+ # should be set to 'xenapi_root_helper', so that it will keep a XenAPI session
+ # to pass commands to Dom0. (string value)
+-root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf
++#root_helper_daemon = <None>
+
+ # Seconds between nodes reporting state to server; should be less than
+ # agent_down_time, best if it is half or less than agent_down_time. (floating
+diff --git a/neutron/files/pike/neutron-server.conf.Debian b/neutron/files/pike/neutron-server.conf.Debian
+index 2daaebf..c9554c8 100644
+--- a/neutron/files/pike/neutron-server.conf.Debian
++++ b/neutron/files/pike/neutron-server.conf.Debian
+@@ -717,7 +717,7 @@ root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
+ # needs to execute commands in Dom0 in the hypervisor of XenServer, this item
+ # should be set to 'xenapi_root_helper', so that it will keep a XenAPI session
+ # to pass commands to Dom0. (string value)
+-root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf
++#root_helper_daemon = <None>
+
+ # Seconds between nodes reporting state to server; should be less than
+ # agent_down_time, best if it is half or less than agent_down_time. (floating
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
index e0ad1f704..d1cd1b5b9 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
@@ -5,6 +5,7 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+/usr/share/salt-formulas/env: 0001-Disable-root_helper_daemon-option.patch
/usr/share/salt-formulas/env: 0002-maas-region-skip-credentials-update.patch
/usr/share/salt-formulas/env: 0003-maas-region-force-artifact-download.patch
/usr/share/salt-formulas/env: 0004-network.dpdk-Move-ifcfg-br-prv-to-interfaces.u.patch
diff --git a/mcp/patches/reclass-system-salt-model/0001-ceilometer-server-publisher-Add-enabled-default.patch b/mcp/patches/reclass-system-salt-model/0001-ceilometer-server-publisher-Add-enabled-default.patch
new file mode 100644
index 000000000..ab818df70
--- /dev/null
+++ b/mcp/patches/reclass-system-salt-model/0001-ceilometer-server-publisher-Add-enabled-default.patch
@@ -0,0 +1,31 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Tue, 6 Mar 2018 22:40:06 +0100
+Subject: [PATCH] ceilometer:server:publisher: Add 'enabled' default
+
+Fixes: #306
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ ceilometer/server/cluster.yml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ceilometer/server/cluster.yml b/ceilometer/server/cluster.yml
+index 11488fb..2d19e31 100644
+--- a/ceilometer/server/cluster.yml
++++ b/ceilometer/server/cluster.yml
+@@ -14,6 +14,7 @@ parameters:
+ ttl: 86400
+ publisher:
+ default:
++ enabled: false
+ bind:
+ host: ${_param:cluster_local_address}
+ port: 8777
diff --git a/mcp/patches/reclass-system-salt-model/0003-Use-keystone-v3-endpoints-by-default.patch b/mcp/patches/reclass-system-salt-model/0002-Use-keystone-v3-endpoints-by-default.patch
index b22951a8f..b22951a8f 100644
--- a/mcp/patches/reclass-system-salt-model/0003-Use-keystone-v3-endpoints-by-default.patch
+++ b/mcp/patches/reclass-system-salt-model/0002-Use-keystone-v3-endpoints-by-default.patch
diff --git a/mcp/patches/reclass-system-salt-model/0002-mongodb-Parameterize-cluster-hostnames.patch b/mcp/patches/reclass-system-salt-model/0002-mongodb-Parameterize-cluster-hostnames.patch
deleted file mode 100644
index e77496001..000000000
--- a/mcp/patches/reclass-system-salt-model/0002-mongodb-Parameterize-cluster-hostnames.patch
+++ /dev/null
@@ -1,37 +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: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Sun, 10 Dec 2017 21:58:52 +0100
-Subject: [PATCH] mongodb: Parameterize cluster hostnames
-
-Replace mdb{01,02,03} with reclass params, similar to prev commit.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- mongodb/server/cluster.yml | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/mongodb/server/cluster.yml b/mongodb/server/cluster.yml
-index f3c16d6..1d1e397 100644
---- a/mongodb/server/cluster.yml
-+++ b/mongodb/server/cluster.yml
-@@ -3,9 +3,9 @@ classes:
- parameters:
- _param:
- mongodb_server_replica_set: mongodb
-- mongodb_master: mdb01
-+ mongodb_master: ${_param:openstack_telemetry_node01_hostname}
- mongodb_server_members:
-- - host: mdb01
-+ - host: ${_param:openstack_telemetry_node01_hostname}
- priority: 2
-- - host: mdb02
-- - host: mdb03
-+ - host: ${_param:openstack_telemetry_node02_hostname}
-+ - host: ${_param:openstack_telemetry_node03_hostname}
diff --git a/mcp/patches/reclass-system-salt-model/0004-Revert-Admin-endpoint-for-keystone-v3.patch b/mcp/patches/reclass-system-salt-model/0003-Revert-Admin-endpoint-for-keystone-v3.patch
index d0ddc58c2..d0ddc58c2 100644
--- a/mcp/patches/reclass-system-salt-model/0004-Revert-Admin-endpoint-for-keystone-v3.patch
+++ b/mcp/patches/reclass-system-salt-model/0003-Revert-Admin-endpoint-for-keystone-v3.patch
diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml
index 92d4a407c..a32640e7e 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_proxy.yml
@@ -43,3 +43,8 @@ parameters:
proxy:
alternative_names: "IP:${_param:openstack_proxy_address}"
key_usage: 'digitalSignature, keyEncipherment'
+ keepalived:
+ cluster:
+ vrrp_scripts:
+ check_pidof:
+ args: 'nginx'
diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml
index f763d94fc..6c3e0d04c 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/compute.yml
@@ -7,10 +7,10 @@
##############################################################################
---
classes:
+ - service.neutron.gateway.opendaylight.single
- cluster.mcp-pike-common-ha.openstack_compute
- cluster.mcp-pike-odl-ha.openstack.compute_pdf
- cluster.mcp-pike-odl-ha.infra
- - service.gateway.opendaylight.single
parameters:
neutron:
gateway:
diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml
index a6c8bc1df..c50f5b2cc 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/openstack/control.yml
@@ -11,3 +11,8 @@ classes:
- cluster.mcp-pike-common-ha.openstack_interface_vcp_biport
- cluster.mcp-pike-common-ha.openstack_control
- cluster.mcp-pike-odl-ha.infra
+parameters:
+ neutron:
+ server:
+ backend:
+ enable_websocket: false
diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml
index faf51fd6d..35940d556 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/compute.yml
@@ -8,7 +8,7 @@
---
classes:
- service.neutron.compute.single
- - service.compute.opendaylight.single
+ - service.neutron.compute.opendaylight.single
- cluster.mcp-pike-common-noha.openstack_compute
- cluster.mcp-pike-odl-noha
parameters:
diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml
index d92f1ab6d..f4f646160 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-odl-noha/openstack/gateway.yml
@@ -8,7 +8,7 @@
---
classes:
- cluster.mcp-pike-common-noha.openstack_gateway
- - service.gateway.opendaylight.single
+ - service.neutron.gateway.opendaylight.single
- cluster.mcp-pike-odl-noha
parameters:
linux:
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/config.yml
new file mode 100644
index 000000000..ca7491a02
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.infra.config
+ - cluster.mcp-pike-ovn-ha.infra
+ - cluster.all-mcp-arch-common.infra.config_pdf
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/init.yml
new file mode 100644
index 000000000..5c7438ab4
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.infra
+ - cluster.mcp-pike-ovn-ha.openstack
+parameters:
+ _param:
+ cluster_name: mcp-pike-ovn-ha
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.yml
new file mode 100644
index 000000000..fe8f2d472
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/kvm.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.mcp-pike-common-ha.infra.kvm
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/infra/maas.yml
new file mode 100644
index 000000000..398768e08
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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.mcp-pike-common-ha.infra.maas
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/init.yml
new file mode 100644
index 000000000..69e8033c1
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-ovn-ha.infra
+ - cluster.mcp-pike-ovn-ha.openstack
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute.yml
new file mode 100644
index 000000000..36073827a
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_compute
+ - cluster.mcp-pike-ovn-ha.openstack.compute_pdf
+ - cluster.mcp-pike-ovn-ha.infra
+parameters:
+ nova:
+ compute:
+ libvirt_service: libvirtd
+ libvirt_bin: /etc/default/libvirtd
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2
new file mode 100644
index 000000000..a3a86723f
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/compute_pdf.yml.j2
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 %}
+{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #}
+{%- set nics = { nm.cmp001.nic_private: True } %}
+{%- set vlans = { nm.vlan_private: nm.cmp001.nic_private } %}
+---
+parameters:
+ linux:
+ network:
+ interface:
+{%- for nic in nics %}
+ {{ nic }}:
+ enabled: true
+ type: eth
+ {%- if nic == nm.cmp001.nic_admin %}
+ proto: dhcp
+ {%- else %}
+ proto: manual
+ {%- endif %}
+ name: {{ nic }}
+{%- endfor %}
+
+{%- 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 %}
+
+ br-mesh:
+ enabled: true
+ type: bridge
+ address: ${_param:tenant_address}
+ netmask: 255.255.255.0
+ mtu: 1500
+ use_interfaces:
+ - {{ nm.cmp001.nic_private }}{% if nm.vlan_private | int > 0 %}.{{ nm.vlan_private }}{% endif %}
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/control.yml
new file mode 100644
index 000000000..96ea48ea2
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-pike-common-ha.openstack_control
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/database.yml
new file mode 100644
index 000000000..95762ae5f
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-pike-common-ha.openstack_database
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/init.yml
new file mode 100644
index 000000000..02cd14adb
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_init
+parameters:
+ _param:
+ neutron_tenant_network_types: "flat,vxlan"
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/message_queue.yml
new file mode 100644
index 000000000..71e4a4e97
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-pike-common-ha.openstack_message_queue
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/proxy.yml
new file mode 100644
index 000000000..775fbca26
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_interface_vcp_triport
+ - cluster.mcp-pike-common-ha.openstack_proxy
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/mcp-pike-ovn-ha/openstack/telemetry.yml
new file mode 100644
index 000000000..5221cfb9f
--- /dev/null
+++ b/mcp/reclass/classes/cluster/mcp-pike-ovn-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-pike-common-ha.openstack_interface_vcp_biport
+ - cluster.mcp-pike-common-ha.openstack_telemetry
+ - cluster.mcp-pike-ovn-ha.infra
diff --git a/mcp/reclass/classes/system b/mcp/reclass/classes/system
-Subproject a798f6aecd54642865b19752a7f22d2ad3a36ac
+Subproject 20afa5cea210bf6b991dc6ed394d3378bf98c13
diff --git a/mcp/reclass/nodes/cfg01.mcp-pike-ovn-ha.local.yml b/mcp/reclass/nodes/cfg01.mcp-pike-ovn-ha.local.yml
new file mode 100644
index 000000000..2c370db60
--- /dev/null
+++ b/mcp/reclass/nodes/cfg01.mcp-pike-ovn-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-pike-ovn-ha.infra.config
+parameters:
+ _param:
+ linux_system_codename: xenial
+ reclass_data_revision: master
+ linux:
+ system:
+ name: cfg01
+ domain: mcp-pike-ovn-ha.local