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 


From 092caeeaea900b78f1cca0e13ad8cd05edab583a Mon Sep 17 00:00:00 2001
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sun, 5 Aug 2018 06:24:54 +0200
Subject: [maas] Add reclass storage definitions for all

Reclass storage definitions for mas01 node should be added to all
ha/noha scenarios, only when/if baremetal cluster nodes are involved.

JIRA: FUEL-382

Change-Id: I455b07894b68eb89903df94352159ea6519275b0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 .../classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2        | 3 +++
 mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2          | 1 -
 2 files changed, 3 insertions(+), 1 deletion(-)

(limited to 'mcp')

diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2
index 495dfa27b..e94284df1 100644
--- a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2
@@ -12,6 +12,9 @@ classes:
   - system.linux.system.single
   - system.linux.system.repo.mcp.salt
   - system.reclass.storage.salt
+{%- if nm.cluster.has_baremetal_nodes %}
+  - system.reclass.storage.system.infra_maas_single
+{%- endif %}
   - system.salt.master.api
   - system.salt.master.pkg
   - system.salt.minion.ca.salt_master
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 8cd3b33d1..6bc508387 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
@@ -18,7 +18,6 @@ classes:
   # - system.reclass.storage.system.stacklight_log_cluster
   # - system.reclass.storage.system.stacklight_monitor_cluster
   # - system.reclass.storage.system.stacklight_telemetry_cluster
-  - system.reclass.storage.system.infra_maas_single
   - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
   - cluster.all-mcp-arch-common.infra.config_pdf
 parameters:
-- 
cgit 


From 873341864209ef28b596e405378fce2ae0ca7f97 Mon Sep 17 00:00:00 2001
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sun, 5 Aug 2018 09:57:44 +0200
Subject: [reclass] Move system.single class to common

Include system.linux.system.single class globally in the common
section, preparing for MaaS NOHA node definition.

JIRA: FUEL-382

Change-Id: Icdfb2a90f356cd537631abe653950c0c30020551
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 | 1 -
 mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2             | 1 +
 mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2             | 1 -
 mcp/reclass/classes/cluster/mcp-odl-noha/init.yml                       | 1 -
 mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml                       | 1 -
 mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml                  | 1 -
 mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml                       | 1 -
 7 files changed, 1 insertion(+), 6 deletions(-)

(limited to 'mcp')

diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2
index e94284df1..a12e15663 100644
--- a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2
@@ -9,7 +9,6 @@
 ---
 classes:
   - service.git.client
-  - system.linux.system.single
   - system.linux.system.repo.mcp.salt
   - system.reclass.storage.salt
 {%- if nm.cluster.has_baremetal_nodes %}
diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2
index 19475c717..987c5eb2c 100644
--- a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2
@@ -7,6 +7,7 @@
 ##############################################################################
 ---
 classes:
+  - system.linux.system.single
   - cluster.all-mcp-arch-common.opnfv
 parameters:
   _param:
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2
index 931dd1bab..c518d381f 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2
@@ -7,7 +7,6 @@
 ##############################################################################
 ---
 classes:
-  - system.linux.system.single
   - cluster.all-mcp-arch-common
   # - cluster.mcp-common-ha.stacklight
   # - cluster.mcp-common-ha.stacklight.client
diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml b/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml
index a595bf0b5..e0c642a9f 100644
--- a/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml
+++ b/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml
@@ -7,7 +7,6 @@
 ##############################################################################
 ---
 classes:
-  - system.linux.system.single
   - cluster.mcp-common-noha.init_options
   - cluster.mcp-odl-noha.infra
   - cluster.mcp-odl-noha.openstack
diff --git a/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml b/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml
index d4b6d85b7..82f4632bd 100644
--- a/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml
+++ b/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml
@@ -7,7 +7,6 @@
 ##############################################################################
 ---
 classes:
-  - system.linux.system.single
   - cluster.mcp-common-noha.init_options
   - cluster.mcp-ovn-noha.infra
   - cluster.mcp-ovn-noha.openstack
diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml
index 96e2c9425..35c3e7655 100644
--- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml
+++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml
@@ -7,7 +7,6 @@
 ##############################################################################
 ---
 classes:
-  - system.linux.system.single
   - cluster.mcp-common-noha.init_options
   - cluster.mcp-ovs-dpdk-noha.infra
   - cluster.mcp-ovs-dpdk-noha.openstack
diff --git a/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml
index a453af50b..24de77a24 100644
--- a/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml
+++ b/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml
@@ -7,7 +7,6 @@
 ##############################################################################
 ---
 classes:
-  - system.linux.system.single
   - cluster.mcp-common-noha.init_options
   - cluster.mcp-ovs-noha.infra
   - cluster.mcp-ovs-noha.openstack
-- 
cgit 


From 291d972bdd666d36e35f8bb3953b0da806ea0eea Mon Sep 17 00:00:00 2001
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sun, 5 Aug 2018 19:20:04 +0200
Subject: [noha] cinder: Align VG name with HA scenarios

Prepare for MaaS integration in NOHA scenarios by aligning cinder
VG naming across all scenarios.

JIRA: FUEL-382

Change-Id: I0cd7accf573ae0904efddd7aa67d880f2a6deb71
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 .../classes/cluster/mcp-common-noha/openstack_compute.yml        | 9 +++++++++
 1 file changed, 9 insertions(+)

(limited to 'mcp')

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 a027113ae..5c9c16d6b 100644
--- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml
@@ -49,6 +49,10 @@ parameters:
         host: ${_param:openstack_control_address}
   cinder:
     volume:
+      backend:
+        lvm-driver:
+          # Align system.cinder.volume.backend.lvm and MaaS data
+          volume_group: ${linux:storage:lvm:cinder-vg:name}
       my_ip: ${_param:single_address}
       database:
         host: ${_param:cluster_local_address}
@@ -68,6 +72,11 @@ parameters:
           fstype: nfs
           device: ${_param:openstack_control_address}:/srv/nova/instances
   linux:
+    storage:
+      lvm:
+        # Align with both system.cinder.volume.backend.lvm and MaaS data
+        cinder-vg:
+          name: vgroot
     system:
       kernel:
         sysctl:
-- 
cgit