Closed rcgoodfellow closed 11 months ago
When we call this code from the port settings clear saga
https://github.com/oxidecomputer/omicron/blob/ca9d90a79c2a7a9ffdca12a705d007d7f28ce61f/nexus/src/app/sagas/switch_port_settings_clear.rs#L154
We land here in the apply saga code
https://github.com/oxidecomputer/omicron/blob/ca9d90a79c2a7a9ffdca12a705d007d7f28ce61f/nexus/src/app/sagas/switch_port_settings_apply.rs#L728-L737
Line 732 is problematic there as the Params type is different in the clear and apply sagas and we wind up with this puddle of disappointment.
Params
02:51:25.959Z INFO 65a11c18-7f59-41ac-b9e7-680627f996e7 (dropshot_external): request completed error_message_external = Internal Server Error error_message_internal = saga ACTION error at node "switch_port_settings": deserialize failed: saga params ({"port_name":"qsfp0","serialized_authn":{"kind":{"Authenticated":[{"actor":{"SiloUser":{"silo_id":"bb5700e7-c5f7-4c45-a1bc-bd610c03c55b","silo_user_id":"5d3758e4-2360-4386-99cc-d22bef03e827"}}},{"mapped_fleet_roles":{"admin":["admin"]}}]}},"switch_port_id":"348b7e16-d806-4edc-b4ac-ba48014c14b5"}): missing field `switch_port_settings_id` file = /home/build/.cargo/git/checkouts/dropshot-a4a923d29dccc492/ff87a01/dropshot/src/server.rs:841 latency_us = 189133 local_addr = 172.30.2.5:443 method = DELETE remote_addr = 172.20.16.254:62131 req_id = d86a8413-78aa-4ad1-b5fa-263386b7dbf7 response_code = 500 uri = //v1/system/hardware/switch-port/qsfp0/settings?rack_id=de608e01-b8e4-4d93-b972-a7dbed36dd22&switch_location=switch1
This is not actually fixed. The test that I thought covered this is set to be ignored. We tried the port clear on rack 2 today, and the operation failed for the same reason in the OP.
When we call this code from the port settings clear saga
https://github.com/oxidecomputer/omicron/blob/ca9d90a79c2a7a9ffdca12a705d007d7f28ce61f/nexus/src/app/sagas/switch_port_settings_clear.rs#L154
We land here in the apply saga code
https://github.com/oxidecomputer/omicron/blob/ca9d90a79c2a7a9ffdca12a705d007d7f28ce61f/nexus/src/app/sagas/switch_port_settings_apply.rs#L728-L737
Line 732 is problematic there as the
Params
type is different in the clear and apply sagas and we wind up with this puddle of disappointment.