]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
node-proxy: introduce component spec registry and overrides for updates
authorGuillaume Abrioux <gabrioux@ibm.com>
Thu, 29 Jan 2026 12:27:22 +0000 (13:27 +0100)
committerGuillaume Abrioux <gabrioux@ibm.com>
Thu, 5 Feb 2026 16:40:10 +0000 (17:40 +0100)
commita5f17e84999a0f023a1da5026b801552d5346f38
tree15e3fae4d8a5faede0774a6e7a72a99acff5a43b
parenta8831293ac5744d4301ee89363d410ce9a461cb1
node-proxy: introduce component spec registry and overrides for updates

This change introduces a single COMPONENT_SPECS dict and get_update_spec(component)
as the single source of truth for RedFish component update config (collection, path,
fields, attribute). To support hardware that uses different paths or attributes,
get_component_spec_overrides() allows overriding only those fields (via dataclasses.replace())
without duplicating the rest of the spec.
All _update_network, _update_power, etc. now call _run_update(component).

For instance, AtollonSystem uses this to set the power path to 'PowerSubsystem'.

Fixes: https://tracker.ceph.com/issues/74749
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
src/ceph-node-proxy/ceph_node_proxy/atollon.py [new file with mode: 0644]
src/ceph-node-proxy/ceph_node_proxy/baseredfishsystem.py
src/ceph-node-proxy/ceph_node_proxy/redfishdellsystem.py