From 97b118133edd82d2558fc169ab3974cb0b5b3946 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 10 Sep 2017 01:52:18 +0200 Subject: reclass: Multiarch support for arch specific param Introduce a simple mechanism that simulates an 'if-arch-then' cond for reclass models: - add new class hierarchy; - at runtime (via ) 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 --- mcp/reclass/classes/cluster/README.rst | 23 ++++++++++++++++++++++ .../cluster/all-mcp-ocata-common/aarch64/init.yml | 3 +++ .../classes/cluster/all-mcp-ocata-common/init.yml | 2 ++ .../cluster/all-mcp-ocata-common/x86_64/init.yml | 3 +++ .../baremetal-mcp-ocata-odl-ha/infra/init.yml | 1 - .../cluster/baremetal-mcp-ocata-odl-ha/init.yml | 1 + .../baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml | 1 - .../baremetal-mcp-ocata-ovs-dpdk-ha/init.yml | 1 + .../baremetal-mcp-ocata-ovs-ha/infra/init.yml | 1 - .../cluster/baremetal-mcp-ocata-ovs-ha/init.yml | 1 + .../cluster/virtual-mcp-ocata-odl-router/init.yml | 1 + .../cluster/virtual-mcp-ocata-ovs-dpdk/init.yml | 1 + .../classes/cluster/virtual-mcp-ocata-ovs/init.yml | 1 + mcp/scripts/salt.sh | 2 ++ 14 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 mcp/reclass/classes/cluster/README.rst create mode 100644 mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml create mode 100644 mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml create mode 100644 mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml diff --git a/mcp/reclass/classes/cluster/README.rst b/mcp/reclass/classes/cluster/README.rst new file mode 100644 index 000000000..3fec9b0f2 --- /dev/null +++ b/mcp/reclass/classes/cluster/README.rst @@ -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 index 000000000..05aa5d237 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/aarch64/init.yml @@ -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 index 000000000..1139b9d72 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml @@ -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 index 000000000..87865fd4e --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/x86_64/init.yml @@ -0,0 +1,3 @@ +parameters: + _param: + salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml index 0baebb65e..f1769d714 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml @@ -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: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/init.yml index 92d662c82..b2c795fdd 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/init.yml @@ -1,3 +1,4 @@ classes: +- cluster.all-mcp-ocata-common - cluster.baremetal-mcp-ocata-odl-ha.infra - cluster.baremetal-mcp-ocata-odl-ha.openstack diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml index 0bd74f832..1389aefff 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml @@ -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: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/init.yml index 1147d35be..1b839fb19 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/init.yml @@ -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 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml index 62f887d1e..d7e365a1b 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml @@ -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: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/init.yml index 402923973..e571689ef 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/init.yml @@ -1,3 +1,4 @@ classes: +- cluster.all-mcp-ocata-common - cluster.baremetal-mcp-ocata-ovs-ha.infra - cluster.baremetal-mcp-ocata-ovs-ha.openstack diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/init.yml index e0311de55..20d6d18d3 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/init.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/init.yml @@ -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 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml index 77e238057..e4e09b52b 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/init.yml @@ -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 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/init.yml index 34dca1f5f..b6ff33202 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/init.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs/init.yml @@ -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 diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh index 174471e91..20971804d 100755 --- a/mcp/scripts/salt.sh +++ b/mcp/scripts/salt.sh @@ -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 && \ -- cgit 1.2.3-korg