From: Alexandru Avadanii Date: Tue, 10 Dec 2019 10:43:25 +0000 (+0100) Subject: zbaremetalnodeinventory: Add aarch64 support X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ta%2Fcm-plugins.git;a=commitdiff_plain;h=3deea1d586f92efdb13951574a9e03f7f31702d1 zbaremetalnodeinventory: Add aarch64 support os_ironic_node properties capabilities [1] should use "boot_mode:uefi" for aarch64 platforms [2] (since EFI is the only supported firmware on aarch64). [1] https://docs.ansible.com/ansible/latest/modules/os_ironic_module.html [2] https://docs.openstack.org/ironic/latest/install/advanced.html Signed-off-by: Alexandru Avadanii Change-Id: I362f1e56c2e2c4713aa13938568a2cc249eaa14e --- diff --git a/inventoryhandlers.spec b/inventoryhandlers.spec index 2af61bf..8a275b1 100644 --- a/inventoryhandlers.spec +++ b/inventoryhandlers.spec @@ -14,7 +14,7 @@ Name: inventoryhandlers Version: %{_version} -Release: 2%{?dist} +Release: 3%{?dist} Summary: Inventory handlers License: %{_platform_licence} Source0: %{name}-%{version}.tar.gz diff --git a/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py b/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py index b6b90e9..9d038b2 100644 --- a/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py +++ b/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py @@ -13,6 +13,7 @@ # limitations under the License. import json +import platform from jinja2 import Environment from cmframework.apis import cmansibleinventoryconfig @@ -152,7 +153,7 @@ class zbaremetalnodeinventory(cmansibleinventoryconfig.CMAnsibleInventoryConfigP properties = { "capabilities": "boot_option:local", - "cpu_arch": "x86_64", + "cpu_arch": platform.machine(), "cpus": 8, "disk_size": 40, "ram": 16384 @@ -163,6 +164,10 @@ class zbaremetalnodeinventory(cmansibleinventoryconfig.CMAnsibleInventoryConfigP "virtmedia_deploy_iso": "file:///opt/images/ironic-deploy.iso", } + # aarch64 platforms only support EFI bootloaders + if platform.machine() == 'aarch64': + properties["capabilities"] += ",boot_mode:uefi" + if utils.is_virtualized(): driver = "ssh_virtmedia" properties["root_device"] = {"by_path": host_hdd_mapping['os']}