zbaremetalnodeinventory: Add aarch64 support
[ta/cm-plugins.git] / inventoryhandlers / baremetal-node-inventory / zbaremetalnodeinventory.py
index b6b90e9..9d038b2 100644 (file)
@@ -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']}