Skip to content

Commit 12f1827

Browse files
committed
Update hypervisor properties
Catch missing key error instead of defaulting to None Remove deprecated current workload property
1 parent ffeb1e2 commit 12f1827

File tree

3 files changed

+30
-30
lines changed

3 files changed

+30
-30
lines changed

openstackquery/enums/props/hypervisor_properties.py

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class HypervisorProperties(PropEnum):
1212
An enum class for all hypervisor properties
1313
"""
1414

15-
HYPERVISOR_CURRENT_WORKLOAD = auto()
15+
# HYPERVISOR_CURRENT_WORKLOAD = auto()
1616
HYPERVISOR_DISK_FREE = auto()
1717
HYPERVISOR_DISK_SIZE = auto()
1818
HYPERVISOR_DISK_USED = auto()
@@ -35,10 +35,10 @@ def _get_aliases() -> Dict:
3535
A method that returns all valid string alias mappings
3636
"""
3737
return {
38-
HypervisorProperties.HYPERVISOR_CURRENT_WORKLOAD: [
39-
"current_workload",
40-
"workload",
41-
],
38+
# HypervisorProperties.HYPERVISOR_CURRENT_WORKLOAD: [
39+
# "current_workload",
40+
# "workload",
41+
# ],
4242
HypervisorProperties.HYPERVISOR_DISK_FREE: [
4343
"local_disk_free",
4444
"free_disk_gb",
@@ -74,39 +74,39 @@ def get_prop_mapping(prop) -> Optional[PropFunc]:
7474
:param prop: A HypervisorProperty Enum for which a function may exist for
7575
"""
7676
mapping = {
77-
HypervisorProperties.HYPERVISOR_CURRENT_WORKLOAD: lambda a: a[
78-
"current_workload"
77+
# HypervisorProperties.HYPERVISOR_CURRENT_WORKLOAD: lambda a: a[
78+
# "current_workload"
79+
# ],
80+
HypervisorProperties.HYPERVISOR_DISK_FREE: lambda a: a.resources["DISK_GB"][
81+
"free"
82+
],
83+
HypervisorProperties.HYPERVISOR_DISK_SIZE: lambda a: a.resources["DISK_GB"][
84+
"total"
85+
],
86+
HypervisorProperties.HYPERVISOR_DISK_USED: lambda a: a.resources["DISK_GB"][
87+
"usage"
7988
],
80-
HypervisorProperties.HYPERVISOR_DISK_FREE: lambda a: a.resources.get(
81-
"DISK_GB"
82-
).get("free", None),
83-
HypervisorProperties.HYPERVISOR_DISK_SIZE: lambda a: a.resources.get(
84-
"DISK_GB"
85-
).get("total", None),
86-
HypervisorProperties.HYPERVISOR_DISK_USED: lambda a: a.resources.get(
87-
"DISK_GB"
88-
).get("usage", None),
8989
HypervisorProperties.HYPERVISOR_ID: lambda a: a["id"],
9090
HypervisorProperties.HYPERVISOR_IP: lambda a: a["host_ip"],
91-
HypervisorProperties.HYPERVISOR_MEMORY_FREE: lambda a: a.resources.get(
91+
HypervisorProperties.HYPERVISOR_MEMORY_FREE: lambda a: a.resources[
9292
"MEMORY_MB"
93-
).get("free", None),
94-
HypervisorProperties.HYPERVISOR_MEMORY_SIZE: lambda a: a.resources.get(
93+
]["free"],
94+
HypervisorProperties.HYPERVISOR_MEMORY_SIZE: lambda a: a.resources[
9595
"MEMORY_MB"
96-
).get("total", None),
97-
HypervisorProperties.HYPERVISOR_MEMORY_USED: lambda a: a.resources.get(
96+
]["total"],
97+
HypervisorProperties.HYPERVISOR_MEMORY_USED: lambda a: a.resources[
9898
"MEMORY_MB"
99-
).get("usage", None),
99+
]["usage"],
100100
HypervisorProperties.HYPERVISOR_NAME: lambda a: a["name"],
101101
# HypervisorProperties.HYPERVISOR_SERVER_COUNT: lambda a: a["runnning_vms"],
102102
HypervisorProperties.HYPERVISOR_STATE: lambda a: a["state"],
103103
HypervisorProperties.HYPERVISOR_STATUS: lambda a: a["status"],
104-
HypervisorProperties.HYPERVISOR_VCPUS: lambda a: a.resources.get(
105-
"VCPU"
106-
).get("total", None),
107-
HypervisorProperties.HYPERVISOR_VCPUS_USED: lambda a: a.resources.get(
108-
"VCPU"
109-
).get("usage", None),
104+
HypervisorProperties.HYPERVISOR_VCPUS: lambda a: a.resources["VCPU"][
105+
"total"
106+
],
107+
HypervisorProperties.HYPERVISOR_VCPUS_USED: lambda a: a.resources["VCPU"][
108+
"usage"
109+
],
110110
HypervisorProperties.HYPERVISOR_DISABLED_REASON: lambda a: a["service"][
111111
"disabled_reason"
112112
],

openstackquery/mappings/hypervisor_mapping.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def get_client_side_handlers() -> QueryClientSideHandlers:
8282
HypervisorProperties.HYPERVISOR_VCPUS,
8383
HypervisorProperties.HYPERVISOR_VCPUS_USED,
8484
# HypervisorProperties.HYPERVISOR_SERVER_COUNT, # Deprecated, use server query
85-
HypervisorProperties.HYPERVISOR_CURRENT_WORKLOAD,
85+
# HypervisorProperties.HYPERVISOR_CURRENT_WORKLOAD,
8686
]
8787

8888
return QueryClientSideHandlers(

openstackquery/query_blocks/result.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def get_prop(self, prop: PropEnum) -> PropValue:
3636
"""
3737
try:
3838
return self._prop_enum_cls.get_prop_mapping(prop)(self._obj_result)
39-
except AttributeError:
39+
except (AttributeError, KeyError):
4040
return self._default_prop_value
4141

4242
def update_forwarded_properties(self, forwarded_props: Dict[str, PropValue]):

0 commit comments

Comments
 (0)