Werk #19313: HW/SW inventory plug-ins: Don't treat key columns as static data if inventory columns are empty and status columns are populated
| Component | HW/SW inventory | ||||
| Title | HW/SW inventory plug-ins: Don't treat key columns as static data if inventory columns are empty and status columns are populated | ||||
| Date | Feb 17, 2026 | ||||
| Level | Trivial Change | ||||
| Class | Bug Fix | ||||
| Compatibility | Incompatible - Manual interaction might be required | ||||
| Checkmk versions & editions |
|
This werk is aimed at plug-in developers, especially those who implement inventory plug-ins.
Inventory plug-ins are able to generate (static) inventory data or (dynamic)
status data via Attributes(...) or TableRow(...), see inline help below
Help > Plug-in API references > Agent based.
In case of TableRows a plug-in developer
- must populate the field
key_columnswhich are used to identiy a row and - might populate the fields
inventory_columnsorstatus_columns
where key_columns are always treated as static inventory data. Hence it is
not possible to generate pure status data.
With this werk we will change the behaviour in order to generate pure dynamic status data. Please take a look at the following possible and useful cases:
- As before: If an inventory plugin only populates
key_columnsthen this goes into the static inventory tree
TableRow(
path=["path", "to", "node"],
key_columns={...},
inventory_columns={},
status_columns={},
)
- As before: If an inventory plugin only populates
inventory_columnsthen this goes into the static inventory tree
TableRow(
path=["path", "to", "node"],
key_columns={...},
inventory_columns={...},
status_columns={},
)
- As before: If an inventory plugin populates
inventory_columnsandstatus_columnsthen this goes into the static inventory tree resp. status data tree
TableRow(
path=["path", "to", "node"],
key_columns={...},
inventory_columns={...},
status_columns={...},
)
- This has changed: If an inventory plugin only populates
status_columnsthen this goes into the status data tree. Thekey_columnsare not treated as static data anymore.
TableRow(
path=["path", "to", "node"],
key_columns={...},
inventory_columns={},
status_columns={...},
)