Skip to content

Commit 094b59b

Browse files
committed
lib/host: add attribute in host to distinguish nested
Signed-off-by: Olivier Hoareau <olivier.hoareau@vates.tech>
1 parent eb64569 commit 094b59b

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

lib/host.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def __init__(self, pool: Pool, hostname_or_ip: str):
8181
self.saved_packages_list: list[str] | None = None
8282
self.saved_rollback_id: int | None = None
8383
self.inventory = self._get_xensource_inventory()
84+
self.nested = 'Xen' in self._get_bios_vendor()
8485
self.uuid = self.inventory['INSTALLATION_UUID']
8586
self.xcp_version = version.parse(self.inventory['PRODUCT_VERSION'])
8687
self.xcp_version_short = f"{self.xcp_version.major}.{self.xcp_version.minor}"
@@ -277,6 +278,18 @@ def _get_xensource_inventory(self) -> dict[str, str]:
277278
inventory[key] = raw_value.strip('\'')
278279
return inventory
279280

281+
def _get_bios_vendor(self) -> str:
282+
"""Get Bios Vendor information for Host.
283+
284+
Performs a dmidecode command to get this bios information::
285+
286+
dmidecode -s bios-vendor
287+
288+
>>> my_host._get_bios_vendor()
289+
Xen
290+
"""
291+
return self.ssh('dmidecode -s bios-vendor')
292+
280293
def xo_get_server_id(self, store: bool = True) -> str | None:
281294
servers = xo_cli('server.getAll', use_json=True)
282295
assert isinstance(servers, list)

0 commit comments

Comments
 (0)