From 3c08037cf9527ced474bc847cf7d463fb0439954 Mon Sep 17 00:00:00 2001
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sat, 4 Aug 2018 18:46:48 +0200
Subject: [reclass] Move MaaS classes to common dir for NOHA

Prepare for reusing MaaS-related reclass classes for NOHA scenarios.

JIRA: FUEL-338

Change-Id: Ic8ddd5915563f58643ef8c7ac4055a1000db7d45
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 mcp/reclass/classes/cluster/.gitignore             |   4 +-
 .../cluster/all-mcp-arch-common/infra/maas.yml.j2  | 176 +++++++++++++++++++++
 .../all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 |  25 +++
 .../all-mcp-arch-common/opnfv/maas_proxy.yml.j2    |  27 ++++
 .../mcp-common-ha/include/lab_proxy_pdf.yml.j2     |  25 ---
 .../mcp-common-ha/include/maas_proxy.yml.j2        |  27 ----
 .../cluster/mcp-common-ha/infra/config.yml.j2      |   2 +-
 .../classes/cluster/mcp-common-ha/infra/kvm.yml    |   4 +-
 .../cluster/mcp-common-ha/infra/maas.yml.j2        | 176 ---------------------
 .../cluster/mcp-common-ha/openstack_compute.yml    |   4 +-
 .../cluster/mcp-common-ha/openstack_control.yml.j2 |   4 +-
 .../openstack_interface_vcp_biport.yml.j2          |   4 +-
 .../openstack_interface_vcp_triport.yml.j2         |   4 +-
 .../classes/cluster/mcp-odl-ha/infra/maas.yml.j2   |   2 +-
 .../classes/cluster/mcp-ovn-ha/infra/maas.yml      |   2 +-
 .../classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml |   2 +-
 .../classes/cluster/mcp-ovs-ha/infra/maas.yml      |   2 +-
 17 files changed, 245 insertions(+), 245 deletions(-)
 create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2
 create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2
 create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2
 delete mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2
 delete mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2
 delete mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2

(limited to 'mcp')

diff --git a/mcp/reclass/classes/cluster/.gitignore b/mcp/reclass/classes/cluster/.gitignore
index a7efc5744..78eb36c1c 100644
--- a/mcp/reclass/classes/cluster/.gitignore
+++ b/mcp/reclass/classes/cluster/.gitignore
@@ -3,9 +3,9 @@ all-mcp-arch-common/init.yml
 all-mcp-arch-common/opnfv/init.yml
 mcp*common-*/infra/config.yml
 mcp-common-ha/infra/init.yml
-mcp-common-ha/infra/maas.yml
+all-mcp-arch-common/infra/maas.yml
 mcp-common-ha/infra/kvm_novcp.yml
-mcp-common-ha/include/maas_proxy.yml
+all-mcp-arch-common/opnfv/maas_proxy.yml
 mcp-common-ha/openstack_control.yml
 mcp-common-ha/openstack_telemetry.yml
 mcp*common-*/openstack_init.yml
diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2
new file mode 100644
index 000000000..d980c29d4
--- /dev/null
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2
@@ -0,0 +1,176 @@
+##############################################################################
+# 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 %}
+---
+# NOTE: pod_config is generated and transferred into its final location on
+# cfg01 only during deployment to prevent leaking sensitive data
+classes:
+  - system.maas.region.single
+  - service.maas.cluster.single
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.pod_config
+parameters:
+  _param:
+    mcpcontrol_interface: ${_param:opnfv_fn_vm_primary_interface}
+    primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+    pxe_admin_interface: ${_param:opnfv_fn_vm_tertiary_interface}
+    interface_mtu: 1500
+    # MaaS has issues using MTU > 1500 for PXE interface
+    pxe_admin_interface_mtu: 1500
+    linux_system_codename: xenial
+    maas_admin_username: opnfv
+    maas_admin_password: opnfv_secret
+    maas_db_password: opnfv_secret
+    dns_server01: '{{ nm.dns_public[0] }}'
+    single_address: ${_param:infra_maas_node01_deploy_address}
+    hwe_kernel: 'hwe-16.04'
+    opnfv_maas_timeout_comissioning: {{ nm.maas_timeout_comissioning }}
+    opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }}
+  maas:
+    region:
+      boot_sources_delete_all_others: true
+      boot_sources:
+        resources_mirror:
+          url: http://images.maas.io/ephemeral-v3/daily
+          keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
+      boot_sources_selections:
+        xenial:
+          url: "http://images.maas.io/ephemeral-v3/daily"
+          os: "ubuntu"
+          release: "${_param:linux_system_codename}"
+          arches:
+{%- for arch in nm.cluster.arch %}
+            - "{{ arch | dpkg_arch }}"
+{%- endfor %}
+          subarches:
+            - "generic"
+            - "ga-16.04"
+            - "hwe-16.04"
+          labels: '"*"'
+      fabrics:
+        pxe_admin:
+          name: 'pxe_admin'
+          description: Fabric for PXE/admin
+          vlans:
+            0:
+              name: 'vlan 0'
+              description: PXE/admin VLAN
+              dhcp: true
+              primary_rack: "${linux:network:hostname}"
+      subnets:
+        {{ nm.net_admin }}:
+          name: {{ nm.net_admin }}
+          cidr: {{ nm.net_admin }}
+          gateway_ip: ${_param:single_address}
+          fabric: ${maas:region:fabrics:pxe_admin:name}
+          vlan: 0
+          ipranges:
+            1:
+              start: {{ nm.net_admin_pool_start }}
+              end: {{ nm.net_admin_pool_end }}
+              type: dynamic
+      sshprefs:
+        - '{{ conf.MAAS_SSH_KEY }}'
+{%- if 'aarch64' in nm.cluster.arch %}
+      package_repositories:
+        armband:
+          name: armband
+          enabled: '1'
+          url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}'
+          distributions: '${_param:openstack_version}-armband'
+          components: 'main'
+          arches: 'arm64'
+          key: &armband_key |
+            -----BEGIN PGP PUBLIC KEY BLOCK-----
+            Version: GnuPG v2.0.14 (GNU/Linux)
+
+            mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
+            qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
+            SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
+            mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
+            BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
+            ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
+            ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC
+            BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw
+            nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe
+            t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY
+            4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx
+            AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K
+            IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu
+            W/9PMAlgE/U=
+            =m+zE
+            -----END PGP PUBLIC KEY BLOCK-----
+{%- endif %}
+      machines:
+      {%- set pxe_interface = conf.idf.net_config.admin.interface %}
+      {%- for node in conf.nodes %}
+      {%- if node.node.type == 'baremetal' %}
+        {%- if loop.index > nm.cmp001.idx %}
+        cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}:
+        {%- else %}
+        kvm{{ '%02d' | format(loop.index) }}:
+        {%- endif %}
+          interface:
+            mac: {{ node.interfaces[pxe_interface].mac_address }}
+          power_parameters:
+            power_address: {{ node.remote_management.address.rsplit('/')[0] }}
+            power_password: {{ node.remote_management.pass }}
+            power_type: {{ node.remote_management.type }}
+            power_user: {{ node.remote_management.user }}
+          architecture: {{ node.node.arch | dpkg_arch }}/generic
+          distro_series: xenial
+          hwe_kernel: ${_param:hwe_kernel}
+          {%- if loop.index > nm.cmp001.idx %}
+          disk_layout:
+            type: lvm
+            root_device: sda
+            volume_group: vgroot
+            volume_name: lvroot
+            volume_size: 100
+          {%- endif %}
+      {%- endif %}
+      {%- endfor %}
+      salt_master_ip: ${_param:reclass_config_master}
+      domain: ${_param:cluster_domain}
+      maas_config:
+        commissioning_distro_series: 'xenial'
+        default_distro_series: 'xenial'
+        default_osystem: 'ubuntu'
+        default_storage_layout: 'lvm'
+        enable_http_proxy: true
+        disk_erase_with_secure_erase: false
+        dnssec_validation: 'no'
+        enable_third_party_drivers: true
+        network_discovery: 'enabled'
+        default_min_hwe_kernel: ${_param:hwe_kernel}
+    cluster:
+      saltstack_repo_xenial: "deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main"
+  linux:
+    network:
+      interface:
+        mcpcontrol_interface:
+          enabled: true
+          name: ${_param:mcpcontrol_interface}
+          type: eth
+          proto: dhcp
+        primary_interface:
+          enabled: true
+          name: ${_param:primary_interface}
+          mtu: ${_param:interface_mtu}
+          proto: static
+          address: ${_param:infra_maas_node01_address}
+          netmask: ${_param:opnfv_net_mgmt_mask}
+          type: eth
+        pxe_admin_interface:
+          enabled: true
+          name: ${_param:pxe_admin_interface}
+          mtu: ${_param:pxe_admin_interface_mtu}
+          proto: static
+          address: ${_param:single_address}
+          netmask: ${_param:opnfv_net_admin_mask}
+          type: eth
diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2
new file mode 100644
index 000000000..3f238d667
--- /dev/null
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2
@@ -0,0 +1,25 @@
+##############################################################################
+# 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
+##############################################################################
+---
+# We'll craft this class so it can be reused on both cfg01 and mas01
+{%- if conf.idf.fuel.network.upstream_proxy is defined %}
+{%- set upstream_proxy=conf.idf.fuel.network.upstream_proxy %}
+parameters:
+  maas:
+    region:
+      upstream_proxy:
+        address: {{ upstream_proxy.address }}
+        port: {{ upstream_proxy.port }}
+  linux:
+    system:
+      proxy:
+        pkg:
+          enabled: true
+          http: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }}
+          https: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }}
+{%- endif %}
diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2
new file mode 100644
index 000000000..58ea46cad
--- /dev/null
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2
@@ -0,0 +1,27 @@
+##############################################################################
+# 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 'maas' in conf.cluster.states %}
+parameters:
+  # NOTE: Apt proxy is set by curtin, Salt minion proxy is configured below,
+  # only enable proxy via /etc/environment if you need it for smth else
+  # linux:
+  #   system:
+  #     env:
+  #       http_proxy: http://${_param:infra_maas_node01_deploy_address}:8000
+  #       https_proxy: http://${_param:infra_maas_node01_deploy_address}:8000
+  #       no_proxy:
+  #         - .local
+  linux:
+    system:
+      proxy:
+        pkg:
+          enabled: true
+          http: http://${_param:infra_maas_node01_deploy_address}:8000
+          https: http://${_param:infra_maas_node01_deploy_address}:8000
+{%- endif %}
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2
deleted file mode 100644
index 3f238d667..000000000
--- a/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2
+++ /dev/null
@@ -1,25 +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
-##############################################################################
----
-# We'll craft this class so it can be reused on both cfg01 and mas01
-{%- if conf.idf.fuel.network.upstream_proxy is defined %}
-{%- set upstream_proxy=conf.idf.fuel.network.upstream_proxy %}
-parameters:
-  maas:
-    region:
-      upstream_proxy:
-        address: {{ upstream_proxy.address }}
-        port: {{ upstream_proxy.port }}
-  linux:
-    system:
-      proxy:
-        pkg:
-          enabled: true
-          http: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }}
-          https: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }}
-{%- endif %}
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2
deleted file mode 100644
index 58ea46cad..000000000
--- a/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2
+++ /dev/null
@@ -1,27 +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
-##############################################################################
----
-{%- if 'maas' in conf.cluster.states %}
-parameters:
-  # NOTE: Apt proxy is set by curtin, Salt minion proxy is configured below,
-  # only enable proxy via /etc/environment if you need it for smth else
-  # linux:
-  #   system:
-  #     env:
-  #       http_proxy: http://${_param:infra_maas_node01_deploy_address}:8000
-  #       https_proxy: http://${_param:infra_maas_node01_deploy_address}:8000
-  #       no_proxy:
-  #         - .local
-  linux:
-    system:
-      proxy:
-        pkg:
-          enabled: true
-          http: http://${_param:infra_maas_node01_deploy_address}:8000
-          https: http://${_param:infra_maas_node01_deploy_address}:8000
-{%- endif %}
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2
index f6e0baa11..8cd3b33d1 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2
@@ -19,7 +19,7 @@ classes:
   # - system.reclass.storage.system.stacklight_monitor_cluster
   # - system.reclass.storage.system.stacklight_telemetry_cluster
   - system.reclass.storage.system.infra_maas_single
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
   - cluster.all-mcp-arch-common.infra.config_pdf
 parameters:
   _param:
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml
index 868f324f6..62af0893a 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml
@@ -22,8 +22,8 @@ classes:
   # - system.salt.control.cluster.stacklight_log_cluster
   # - system.salt.control.cluster.stacklight_telemetry_cluster
   - cluster.mcp-common-ha.infra.kvm_pdf
-  - cluster.mcp-common-ha.include.maas_proxy
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.maas_proxy
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
 parameters:
   _param:
     linux_system_codename: xenial
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2
deleted file mode 100644
index b2d7cefad..000000000
--- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2
+++ /dev/null
@@ -1,176 +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
-##############################################################################
-{%- import 'net_map.j2' as nm with context %}
----
-# NOTE: pod_config is generated and transferred into its final location on
-# cfg01 only during deployment to prevent leaking sensitive data
-classes:
-  - system.maas.region.single
-  - service.maas.cluster.single
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
-  - cluster.all-mcp-arch-common.opnfv.pod_config
-parameters:
-  _param:
-    mcpcontrol_interface: ${_param:opnfv_fn_vm_primary_interface}
-    primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
-    pxe_admin_interface: ${_param:opnfv_fn_vm_tertiary_interface}
-    interface_mtu: 1500
-    # MaaS has issues using MTU > 1500 for PXE interface
-    pxe_admin_interface_mtu: 1500
-    linux_system_codename: xenial
-    maas_admin_username: opnfv
-    maas_admin_password: opnfv_secret
-    maas_db_password: opnfv_secret
-    dns_server01: '{{ nm.dns_public[0] }}'
-    single_address: ${_param:infra_maas_node01_deploy_address}
-    hwe_kernel: 'hwe-16.04'
-    opnfv_maas_timeout_comissioning: {{ nm.maas_timeout_comissioning }}
-    opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }}
-  maas:
-    region:
-      boot_sources_delete_all_others: true
-      boot_sources:
-        resources_mirror:
-          url: http://images.maas.io/ephemeral-v3/daily
-          keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
-      boot_sources_selections:
-        xenial:
-          url: "http://images.maas.io/ephemeral-v3/daily"
-          os: "ubuntu"
-          release: "${_param:linux_system_codename}"
-          arches:
-{%- for arch in nm.cluster.arch %}
-            - "{{ arch | dpkg_arch }}"
-{%- endfor %}
-          subarches:
-            - "generic"
-            - "ga-16.04"
-            - "hwe-16.04"
-          labels: '"*"'
-      fabrics:
-        pxe_admin:
-          name: 'pxe_admin'
-          description: Fabric for PXE/admin
-          vlans:
-            0:
-              name: 'vlan 0'
-              description: PXE/admin VLAN
-              dhcp: true
-              primary_rack: "${linux:network:hostname}"
-      subnets:
-        {{ nm.net_admin }}:
-          name: {{ nm.net_admin }}
-          cidr: {{ nm.net_admin }}
-          gateway_ip: ${_param:single_address}
-          fabric: ${maas:region:fabrics:pxe_admin:name}
-          vlan: 0
-          ipranges:
-            1:
-              start: {{ nm.net_admin_pool_start }}
-              end: {{ nm.net_admin_pool_end }}
-              type: dynamic
-      sshprefs:
-        - '{{ conf.MAAS_SSH_KEY }}'
-{%- if 'aarch64' in nm.cluster.arch %}
-      package_repositories:
-        armband:
-          name: armband
-          enabled: '1'
-          url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}'
-          distributions: '${_param:openstack_version}-armband'
-          components: 'main'
-          arches: 'arm64'
-          key: &armband_key |
-            -----BEGIN PGP PUBLIC KEY BLOCK-----
-            Version: GnuPG v2.0.14 (GNU/Linux)
-
-            mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
-            qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
-            SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
-            mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
-            BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
-            ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
-            ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC
-            BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw
-            nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe
-            t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY
-            4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx
-            AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K
-            IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu
-            W/9PMAlgE/U=
-            =m+zE
-            -----END PGP PUBLIC KEY BLOCK-----
-{%- endif %}
-      machines:
-      {%- set pxe_interface = conf.idf.net_config.admin.interface %}
-      {%- for node in conf.nodes %}
-      {%- if node.node.type == 'baremetal' %}
-        {%- if loop.index > nm.cmp001.idx %}
-        cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}:
-        {%- else %}
-        kvm{{ '%02d' | format(loop.index) }}:
-        {%- endif %}
-          interface:
-            mac: {{ node.interfaces[pxe_interface].mac_address }}
-          power_parameters:
-            power_address: {{ node.remote_management.address.rsplit('/')[0] }}
-            power_password: {{ node.remote_management.pass }}
-            power_type: {{ node.remote_management.type }}
-            power_user: {{ node.remote_management.user }}
-          architecture: {{ node.node.arch | dpkg_arch }}/generic
-          distro_series: xenial
-          hwe_kernel: ${_param:hwe_kernel}
-          {%- if loop.index > nm.cmp001.idx %}
-          disk_layout:
-            type: lvm
-            root_device: sda
-            volume_group: vgroot
-            volume_name: lvroot
-            volume_size: 100
-          {%- endif %}
-      {%- endif %}
-      {%- endfor %}
-      salt_master_ip: ${_param:reclass_config_master}
-      domain: ${_param:cluster_domain}
-      maas_config:
-        commissioning_distro_series: 'xenial'
-        default_distro_series: 'xenial'
-        default_osystem: 'ubuntu'
-        default_storage_layout: 'lvm'
-        enable_http_proxy: true
-        disk_erase_with_secure_erase: false
-        dnssec_validation: 'no'
-        enable_third_party_drivers: true
-        network_discovery: 'enabled'
-        default_min_hwe_kernel: ${_param:hwe_kernel}
-    cluster:
-      saltstack_repo_xenial: "deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main"
-  linux:
-    network:
-      interface:
-        mcpcontrol_interface:
-          enabled: true
-          name: ${_param:mcpcontrol_interface}
-          type: eth
-          proto: dhcp
-        primary_interface:
-          enabled: true
-          name: ${_param:primary_interface}
-          mtu: ${_param:interface_mtu}
-          proto: static
-          address: ${_param:infra_maas_node01_address}
-          netmask: ${_param:opnfv_net_mgmt_mask}
-          type: eth
-        pxe_admin_interface:
-          enabled: true
-          name: ${_param:pxe_admin_interface}
-          mtu: ${_param:pxe_admin_interface_mtu}
-          proto: static
-          address: ${_param:single_address}
-          netmask: ${_param:opnfv_net_admin_mask}
-          type: eth
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 df90bc451..70ff789d0 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml
@@ -19,8 +19,8 @@ classes:
   - system.ceilometer.agent.polling.default
   - service.barbican.client.cluster
   - cluster.mcp-common-ha.openstack_compute_pdf
-  - cluster.mcp-common-ha.include.maas_proxy
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.maas_proxy
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
 parameters:
   _param:
     cluster_vip_address: ${_param:openstack_control_address}
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2
index 28d727eaa..33c74fda6 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2
@@ -45,8 +45,8 @@ classes:
   # - system.salt.control.cluster.stacklight_log_cluster
   # - system.salt.control.cluster.stacklight_telemetry_cluster
   - cluster.mcp-common-ha.infra.kvm_pdf
-  - cluster.mcp-common-ha.include.maas_proxy
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.maas_proxy
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
 {%- endif %}
 parameters:
   _param:
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2
index 3576acc2f..4fa959797 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2
@@ -9,8 +9,8 @@
 ---
 {%- if conf.MCP_VCP %}
 classes:
-  - cluster.mcp-common-ha.include.maas_proxy
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.maas_proxy
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
 parameters:
   _param:
     pxe_admin_interface: ${_param:opnfv_vcp_vm_primary_interface}
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2
index 1fa22aa7f..05550a299 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2
@@ -10,8 +10,8 @@
 ---
 {%- if conf.MCP_VCP %}
 classes:
-  - cluster.mcp-common-ha.include.maas_proxy
-  - cluster.mcp-common-ha.include.lab_proxy_pdf
+  - cluster.all-mcp-arch-common.opnfv.maas_proxy
+  - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
 parameters:
   _param:
     pxe_admin_interface: ${_param:opnfv_vcp_vm_primary_interface}
diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2
index c06643089..b5c40ef7b 100644
--- a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2
@@ -8,7 +8,7 @@
 {%- import 'net_map.j2' as nm with context %}
 ---
 classes:
-  - cluster.mcp-common-ha.infra.maas
+  - cluster.all-mcp-arch-common.infra.maas
   - cluster.mcp-odl-ha.infra
 {%- if 'aarch64' not in nm.cluster.arch %}
 parameters:
diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml
index 72a451652..655c2a396 100644
--- a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml
@@ -7,5 +7,5 @@
 ##############################################################################
 ---
 classes:
-  - cluster.mcp-common-ha.infra.maas
+  - cluster.all-mcp-arch-common.infra.maas
   - cluster.mcp-ovn-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml
index f3d605494..93fd6e7e5 100644
--- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml
@@ -7,5 +7,5 @@
 ##############################################################################
 ---
 classes:
-  - cluster.mcp-common-ha.infra.maas
+  - cluster.all-mcp-arch-common.infra.maas
   - cluster.mcp-ovs-dpdk-ha.infra
diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml
index c9102ea70..e666d007b 100644
--- a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml
@@ -7,5 +7,5 @@
 ##############################################################################
 ---
 classes:
-  - cluster.mcp-common-ha.infra.maas
+  - cluster.all-mcp-arch-common.infra.maas
   - cluster.mcp-ovs-ha.infra
-- 
cgit