reclass: Multiarch support for arch specific param 71/41471/6
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 9 Sep 2017 23:52:18 +0000 (01:52 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 11 Sep 2017 14:00:55 +0000 (16:00 +0200)
Introduce a simple mechanism that simulates an 'if-arch-then' cond
for reclass models:
- add new <all-mcp-ocata-common> class hierarchy;
- at runtime (via <salt.sh>) make 'all-mcp-ocata-common.arch' point
  to 'all-mcp-ocata-common.$(uname -i)' dynamically;
- inherit new 'arch' class in all cluster models;
- factor out current x86_64 default for "salt_control_xenial_image";
- add AArch64 default for param "salt_control_xenial_image";

Change-Id: I3b239b28d0fd1cc2ced8579e2e93b764eb71ffc3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
14 files changed:
mcp/reclass/classes/cluster/README.rst [new file with mode: 0644]
mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml [new file with mode: 0644]
mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml
mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/init.yml
mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml
mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/init.yml
mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/init.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/init.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml
mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/init.yml
mcp/scripts/salt.sh

diff --git a/mcp/reclass/classes/cluster/README.rst b/mcp/reclass/classes/cluster/README.rst
new file mode 100644 (file)
index 0000000..3fec9b0
--- /dev/null
@@ -0,0 +1,23 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) 2017 Mirantis Inc., Enea AB and others.
+
+Fuel@OPNFV Cluster Reclass Models
+=================================
+
+Overview
+--------
+
+#. Common classes (baremetal + virtual)
+
+   - all-mcp-ocata-common
+
+#. Common classes (specific to either baremetal or virtual deploys)
+
+   - baremetal-mcp-ocata-common
+   - virtual-mcp-ocata-common
+
+#. Cluster specific classes
+
+   - baremetal-mcp-ocata-*
+   - virtual-mcp-ocata-*
diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml
new file mode 100644 (file)
index 0000000..05aa5d2
--- /dev/null
@@ -0,0 +1,3 @@
+parameters:
+  _param:
+    salt_control_xenial_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml
new file mode 100644 (file)
index 0000000..1139b9d
--- /dev/null
@@ -0,0 +1,2 @@
+classes:
+- cluster.all-mcp-ocata-common.arch
diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml
new file mode 100644 (file)
index 0000000..87865fd
--- /dev/null
@@ -0,0 +1,3 @@
+parameters:
+  _param:
+    salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2
index 0baebb6..f1769d7 100644 (file)
@@ -54,7 +54,6 @@ parameters:
       address: ${_param:single_address}
       netmask: 255.255.255.0
 
-    salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2
     salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
   linux:
     system:
index 92d662c..b2c795f 100644 (file)
@@ -1,3 +1,4 @@
 classes:
+- cluster.all-mcp-ocata-common
 - cluster.baremetal-mcp-ocata-odl-ha.infra
 - cluster.baremetal-mcp-ocata-odl-ha.openstack
index 0bd74f8..1389aef 100644 (file)
@@ -54,7 +54,6 @@ parameters:
       address: ${_param:single_address}
       netmask: 255.255.255.0
 
-    salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2
     salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
   linux:
     system:
index 1147d35..1b839fb 100644 (file)
@@ -1,3 +1,4 @@
 classes:
+- cluster.all-mcp-ocata-common
 - cluster.baremetal-mcp-ocata-ovs-dpdk-ha.infra
 - cluster.baremetal-mcp-ocata-ovs-dpdk-ha.openstack
index 62f887d..d7e365a 100644 (file)
@@ -54,7 +54,6 @@ parameters:
       address: ${_param:single_address}
       netmask: 255.255.255.0
 
-    salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2
     salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
   linux:
     system:
index 4029239..e571689 100644 (file)
@@ -1,3 +1,4 @@
 classes:
+- cluster.all-mcp-ocata-common
 - cluster.baremetal-mcp-ocata-ovs-ha.infra
 - cluster.baremetal-mcp-ocata-ovs-ha.openstack
index e0311de..20d6d18 100644 (file)
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.single
+- cluster.all-mcp-ocata-common
 - cluster.virtual-mcp-ocata-common.init_options
 - cluster.virtual-mcp-ocata-common.infra
 - cluster.virtual-mcp-ocata-odl-router.openstack
index 77e2380..e4e09b5 100644 (file)
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.single
+- cluster.all-mcp-ocata-common
 - cluster.virtual-mcp-ocata-common.init_options
 - cluster.virtual-mcp-ocata-common.infra
 - cluster.virtual-mcp-ocata-ovs-dpdk.openstack
index 34dca1f..b6ff332 100644 (file)
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.single
+- cluster.all-mcp-ocata-common
 - cluster.virtual-mcp-ocata-common.init_options
 - cluster.virtual-mcp-ocata-common.infra
 - cluster.virtual-mcp-ocata-ovs.openstack
index 174471e..2097180 100755 (executable)
@@ -36,6 +36,8 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << SALT_INSTALL_END
   mv ${OPNFV_TMP_DIR} ${OPNFV_FUEL_DIR} && chown -R root.root ${OPNFV_FUEL_DIR}
   ln -s ${OPNFV_FUEL_DIR}/mcp/reclass /srv/salt/reclass
   ln -s ${OPNFV_FUEL_DIR}/mcp/deploy/scripts /srv/salt/scripts
+  cd /srv/salt/reclass/classes/cluster/all-mcp-ocata-common && \
+    ln -s "\$(uname -i)" arch
 
   cp -r ${OPNFV_FUEL_DIR}/mcp/metadata/service /usr/share/salt-formulas/reclass
   cd /srv/salt/reclass/classes/service && \