]> 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>
Tue, 10 Feb 2026 15:02:39 +0000 (16:02 +0100)
commit4414437de1f4d83bed51acf4a3443f0eb3160faa
tree8b5e59a7ceed687851dc02edb1da64c9d48205bb
parent73e2743e710d03a2f7028eece9420d83c5da0a94
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