]> 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, 19 Feb 2026 12:51:33 +0000 (12:51 +0000)
commitf2bd844aa6d20dfa8d2ae5cb7d16f0b5a065282d
tree96491e841c7f61386d34af8d1f209e70c0690a72
parentf5211073b7c34532af191efc2b4b1550627c1469
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>
(cherry picked from commit a017e03d068450aa7e24e605b73e65e94d677281)
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