Skip to content

Commit 5cd9c8e

Browse files
Merge pull request #1384 from rackerlabs/fix-inspect-model-name
fix(ironic): update resource_class matching to make model more generic
2 parents 42f4ca8 + 3a3c756 commit 5cd9c8e

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

python/ironic-understack/ironic_understack/resource_class.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# from ironic.drivers.modules.inspector.hooks import base
2-
import re
32
from pathlib import Path
43

54
from flavor_matcher.device_type import DeviceType
@@ -31,22 +30,18 @@ def __call__(self, task, inventory, plugin_data):
3130
disk_size_gb = int(int(inventory["disks"][0]["size"]) / 10**9)
3231
cpu_model_name = inventory["cpu"]["model_name"]
3332

34-
model_name = re.search(
35-
r"ModelName=(.*)\)", inventory["system_vendor"]["product_name"]
36-
)
37-
38-
if not model_name:
39-
LOG.warning("No model_name detected. skipping resource class setting.")
40-
raise NoMatchError("mode_name not matched")
41-
else:
42-
model_name = model_name.group(1)
43-
4433
# Extract additional fields for new Machine API
4534
cpu_cores = inventory.get("cpu", {}).get("count", 0)
4635
manufacturer = inventory.get("system_vendor", {}).get("manufacturer", "")
47-
48-
# trim ' Inc.'
49-
manufacturer = manufacturer.replace(" Inc.", "")
36+
model_name = inventory.get("system_vendor", {}).get("product_name", "")
37+
38+
# trim 'Inc.'
39+
manufacturer = manufacturer.replace("Inc.", "").strip()
40+
# HP -> HPE
41+
if manufacturer == "HP":
42+
manufacturer = "HPE"
43+
# trim model info of SKUs by taking everything before the (
44+
model_name = model_name.split("(")[0].strip()
5045

5146
machine = Machine(
5247
memory_mb=memory_mb,

0 commit comments

Comments
 (0)