Code Review
/
ta
/
cm-plugins.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
zbaremetalnodeinventory: Add aarch64 support
[ta/cm-plugins.git]
/
inventoryhandlers
/
baremetal-node-inventory
/
zbaremetalnodeinventory.py
diff --git
a/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py
b/inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py
index
249a5c0
..
9d038b2
100644
(file)
--- a/
inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py
+++ b/
inventoryhandlers/baremetal-node-inventory/zbaremetalnodeinventory.py
@@
-13,6
+13,7
@@
# limitations under the License.
import json
# limitations under the License.
import json
+import platform
from jinja2 import Environment
from cmframework.apis import cmansibleinventoryconfig
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()
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']
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",
properties = {
"capabilities": "boot_option:local",
- "cpu_arch":
"x86_64"
,
+ "cpu_arch":
platform.machine()
,
"cpus": 8,
"disk_size": 40,
"ram": 16384
"cpus": 8,
"disk_size": 40,
"ram": 16384
@@
-162,6
+164,10
@@
class zbaremetalnodeinventory(cmansibleinventoryconfig.CMAnsibleInventoryConfigP
"virtmedia_deploy_iso": "file:///opt/images/ironic-deploy.iso",
}
"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']}
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_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']
power["product_family"] = all_vars['hw_inventory_details'][host]['product_family']
power["vendor"] = all_vars['hw_inventory_details'][host]['vendor']