"Power types" websocket api doesn't match "add chassis" api
Bug #1876855 reported by
Caleb Ellis
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Dougal Matthews |
Bug Description
According to the general.power_types websocket api, the following power types are possible for add chassis:
apc, dli, hmc, lxd, moonshot, mscm, msftocs, nova, recs_box, redfish, rsd, sm15k, ucsm, virsh, vmware
According to the add chassis http api, these are possible:
mscm, msftocs, powerkvm, recs_box, seamicro15k, ucsm, virsh, vmware
They should be aligned so in the UI we can render he power types + power parameters dynamically.
Things to note: powerkvm is missing from general.power_types and SeaMicro 15000 is returned from the websocket as sm15k but the add chassis api expects seamicro15k.
Related branches
~d0ugal/maas:bug/1876855
Merged
into
maas:master
- MAAS Lander: Approve
- Lee Trager (community): Approve
-
Diff: 675 lines (+122/-42)30 files modifiedsrc/maasserver/api/machines.py (+33/-17)
src/maasserver/api/tests/test_machines.py (+19/-4)
src/maasserver/clusterrpc/driver_parameters.py (+6/-0)
src/maasserver/clusterrpc/tests/test_driver_parameters.py (+5/-0)
src/provisioningserver/drivers/pod/lxd.py (+1/-0)
src/provisioningserver/drivers/pod/rsd.py (+1/-0)
src/provisioningserver/drivers/pod/tests/test_base.py (+2/-0)
src/provisioningserver/drivers/pod/tests/test_registry.py (+2/-0)
src/provisioningserver/drivers/pod/virsh.py (+1/-0)
src/provisioningserver/drivers/power/__init__.py (+6/-0)
src/provisioningserver/drivers/power/amt.py (+1/-0)
src/provisioningserver/drivers/power/apc.py (+1/-0)
src/provisioningserver/drivers/power/dli.py (+1/-0)
src/provisioningserver/drivers/power/hmc.py (+1/-0)
src/provisioningserver/drivers/power/ipmi.py (+1/-0)
src/provisioningserver/drivers/power/manual.py (+1/-0)
src/provisioningserver/drivers/power/moonshot.py (+1/-0)
src/provisioningserver/drivers/power/mscm.py (+1/-0)
src/provisioningserver/drivers/power/msftocs.py (+1/-0)
src/provisioningserver/drivers/power/nova.py (+1/-0)
src/provisioningserver/drivers/power/openbmc.py (+1/-0)
src/provisioningserver/drivers/power/recs.py (+1/-0)
src/provisioningserver/drivers/power/redfish.py (+1/-0)
src/provisioningserver/drivers/power/seamicro.py (+1/-0)
src/provisioningserver/drivers/power/tests/test_base.py (+4/-1)
src/provisioningserver/drivers/power/tests/test_registry.py (+4/-1)
src/provisioningserver/drivers/power/ucsm.py (+1/-0)
src/provisioningserver/drivers/power/vmware.py (+1/-0)
src/provisioningserver/drivers/power/wedge.py (+1/-0)
src/provisioningserver/tests/test_power_driver_command.py (+21/-19)
tags: | removed: blocking-ui |
Changed in maas: | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in maas: | |
assignee: | nobody → Dougal Matthews (d0ugal) |
Changed in maas: | |
milestone: | 2.8.0b4 → 2.8.0rc1 |
Changed in maas: | |
status: | Triaged → In Progress |
Changed in maas: | |
milestone: | 2.8.0rc1 → 2.8.0 |
Changed in maas: | |
milestone: | 2.8.0rc3 → 2.9.0b1 |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Looking at the code, maasserver. models. bmc.BMC. scope_power_ parameters makes use of the chassis parameter to indicate that the powerdriver can manage multiple nodes.
So all the power driver that current have chassis=True need to keep having it. We probably need another field (e.g. add_chassis) to indicate that a power driver can probe and enlist the machines it manages.
add_chassis should be False by default, but True for all the ones that the chassis http API accepts (and that should be changed to check the add_chassis attribute rather than having a hard coded list)