X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=inventoryhandlers%2Fbaremetal-node-inventory%2Fzbaremetalnodeinventory.py;h=9d038b245c46afb4b7a3d6d77b301f52ea82299c;hb=3deea1d586f92efdb13951574a9e03f7f31702d1;hp=249a5c063d9c00c4a546f1963c138105cea2aafc;hpb=b4c24eb199d07b2b896658a50de941168b7ae43b;p=ta%2Fcm-plugins.git diff --git a/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py b/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py index 249a5c0..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 @@ -96,6 +97,7 @@ class zbaremetalnodeinventory(cmansibleinventoryconfig.CMAnsibleInventoryConfigP def handle(self): usersconf = self.confman.get_users_config_handler() + hostsconf = self.confman.get_hosts_config_handler() admin_user = usersconf.get_admin_user() self.add_global_var("home_dir", "/home/" + admin_user) all_vars = self.inventory['all']['vars'] @@ -151,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 @@ -162,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']} @@ -177,6 +183,7 @@ class zbaremetalnodeinventory(cmansibleinventoryconfig.CMAnsibleInventoryConfigP power["ipmi_address"] = all_vars['hosts'][host]['hwmgmt']['address'] power["ipmi_password"] = all_vars['hosts'][host]['hwmgmt']['password'] power["ipmi_username"] = all_vars['hosts'][host]['hwmgmt']['user'] + power["ipmi_priv_level"] = hostsconf.get_hwmgmt_priv_level(host) power["product_family"] = all_vars['hw_inventory_details'][host]['product_family'] power["vendor"] = all_vars['hw_inventory_details'][host]['vendor']