joyent / kosh

Second-generation shell for accessing the Conch API
Mozilla Public License 2.0
2 stars 5 forks source link

Rack Layout and Assignment handling needs thought #35

Open perigrin opened 4 years ago

perigrin commented 4 years ago

When you' re in the middle of a build you're not really thinking about things at the global level and you maybe just need to add a rack layout slot to a single rack.

The rack layout should be easy to adjust from within the rack [ID] command tree.

karenetheridge commented 4 years ago

Note: these endpoints don't currently exist, but are fairly simple to add:

POST /room/:room_id_or_alias/rack/:rack_id_or_name/layout
POST /rack/:rack_id_or_full_name/layout

e.g. POST /room/iad103/rack/0104/layout, POST /rack/DC12:1F:211250:0102/layout

CORRECTION -- these endpoints do exist... this is Conch::Controller::Rack::overwrite_layouts (all layouts not present in the incoming payload for the target rack are removed). Perhaps some revisions are needed to fit the needs of the clients.

karenetheridge commented 4 years ago

I am leaning towards moving the existing POST /room/iad103/rack/0104/layout endpoint (which overwrites all existing layouts in the rack with the incoming payload) to the PUT method, which leaves POST open to implement "create a new layout in this rack, without touching the other layouts".

karenetheridge commented 4 years ago

see also https://github.com/joyent/conch/issues/966