Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[reconfigurator] Add RPW to reconcile debug dataset rendezvous table #7342

Merged
merged 7 commits into from
Jan 16, 2025

Conversation

jgallagher
Copy link
Contributor

This is PR 2 of 2 and builds on #7341; it adds an RPW that calls the library added in that PR to actually reconcile blueprint+inventory and update the debug dataset rendezvous table, and changes the support bundle query that picks a debug dataset to use this new table.

@jgallagher
Copy link
Contributor Author

Testing on a4x2 - after RSS, we see the 5 debug datasets for each of the 3 sleds present in the initial "rack":

root@[fd00:1122:3344:103::3]:32221/omicron> select * from rendezvous_debug_dataset;
                   id                  |         time_created          | time_tombstoned |               pool_id                |      blueprint_id_when_recorded
---------------------------------------+-------------------------------+-----------------+--------------------------------------+---------------------------------------
  0af3c994-6621-4b7f-9638-b710b891412c | 2025-01-14 18:42:30.817322+00 | NULL            | 9cf4e89a-6472-4a13-9364-1ccf4f17ad3d | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  113c6b41-ca6a-4dae-bcde-ed2fdc016fdf | 2025-01-14 18:42:30.642638+00 | NULL            | 9a961d6d-a4a3-463b-92dc-410606f786a6 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  14be8451-24e0-4f4d-8cff-678201c6d24a | 2025-01-14 18:42:30.735597+00 | NULL            | 861c447c-c695-494a-a08a-3a24dac26e7a | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  155adf80-9cff-4bd9-b8d0-b8a0d519099c | 2025-01-14 18:42:30.832684+00 | NULL            | 6a499a5a-556c-489b-be56-a8b0c9672b2a | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  1ef0e906-c9af-4dd3-9d56-ebe1b2acc018 | 2025-01-14 18:42:30.847826+00 | NULL            | 9b9380ae-65bf-4097-96c6-15505831e2c2 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  3ac9245f-4857-43e1-8280-1c4f3ffb7f9f | 2025-01-14 18:42:30.864837+00 | NULL            | cf2f2ba6-f115-489c-b919-2b0ce2e9c180 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  447fbc2b-70e1-4b5b-864d-13bc2a9f94fe | 2025-01-14 18:42:30.663572+00 | NULL            | 020f65cd-c030-4faf-bd20-453810c4f598 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  45480b64-f217-4b56-8f0f-42697a4542f0 | 2025-01-14 18:42:30.752307+00 | NULL            | 8aae7ae5-967c-4ae0-bb73-606dccdd1206 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  48e11554-a12a-4776-8435-a70ecbd38548 | 2025-01-14 18:42:30.768861+00 | NULL            | 30089867-7b54-4c52-be04-bf57eb0ae854 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  5e67536c-54fc-49b7-924c-328f11b9ed19 | 2025-01-14 18:42:30.679082+00 | NULL            | 4d708c82-adb9-4d32-87dc-5278e98f6f42 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  64092ef6-ba8c-4250-9b49-02d8015a8ef1 | 2025-01-14 18:42:30.880456+00 | NULL            | e01788e3-3738-47aa-b50d-32c5ed0ad214 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  7215e3a3-cc9c-490f-bb60-7787d024ac95 | 2025-01-14 18:42:30.700654+00 | NULL            | 574a1f11-59ef-415b-be97-1e0b9bf42bcd | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  8b96bfdb-4938-4866-9dce-cb424b62dbb5 | 2025-01-14 18:42:30.7209+00   | NULL            | 6bc3faeb-2ce7-4f81-8eeb-170f6619c894 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  a66300a8-f8b7-484b-9434-c5586e4f57c4 | 2025-01-14 18:42:30.783879+00 | NULL            | 8fcacb0e-6502-434d-965f-055a84d29c99 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  c0f25f75-fe9f-438a-8c65-e88ce9d9bbe8 | 2025-01-14 18:42:30.799695+00 | NULL            | 89f9c9ec-cd18-464b-93ab-3cbdb2190e7d | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
(15 rows)

After adding a fourth sled and waiting a bit, that sled's new debug datasets also showed up:

root@[fd00:1122:3344:103::3]:32221/omicron> select * from rendezvous_debug_dataset order by time_created asc;
                   id                  |         time_created          | time_tombstoned |               pool_id                |      blueprint_id_when_recorded
---------------------------------------+-------------------------------+-----------------+--------------------------------------+---------------------------------------
  113c6b41-ca6a-4dae-bcde-ed2fdc016fdf | 2025-01-14 18:42:30.642638+00 | NULL            | 9a961d6d-a4a3-463b-92dc-410606f786a6 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  447fbc2b-70e1-4b5b-864d-13bc2a9f94fe | 2025-01-14 18:42:30.663572+00 | NULL            | 020f65cd-c030-4faf-bd20-453810c4f598 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  5e67536c-54fc-49b7-924c-328f11b9ed19 | 2025-01-14 18:42:30.679082+00 | NULL            | 4d708c82-adb9-4d32-87dc-5278e98f6f42 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  7215e3a3-cc9c-490f-bb60-7787d024ac95 | 2025-01-14 18:42:30.700654+00 | NULL            | 574a1f11-59ef-415b-be97-1e0b9bf42bcd | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  8b96bfdb-4938-4866-9dce-cb424b62dbb5 | 2025-01-14 18:42:30.7209+00   | NULL            | 6bc3faeb-2ce7-4f81-8eeb-170f6619c894 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  14be8451-24e0-4f4d-8cff-678201c6d24a | 2025-01-14 18:42:30.735597+00 | NULL            | 861c447c-c695-494a-a08a-3a24dac26e7a | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  45480b64-f217-4b56-8f0f-42697a4542f0 | 2025-01-14 18:42:30.752307+00 | NULL            | 8aae7ae5-967c-4ae0-bb73-606dccdd1206 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  48e11554-a12a-4776-8435-a70ecbd38548 | 2025-01-14 18:42:30.768861+00 | NULL            | 30089867-7b54-4c52-be04-bf57eb0ae854 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  a66300a8-f8b7-484b-9434-c5586e4f57c4 | 2025-01-14 18:42:30.783879+00 | NULL            | 8fcacb0e-6502-434d-965f-055a84d29c99 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  c0f25f75-fe9f-438a-8c65-e88ce9d9bbe8 | 2025-01-14 18:42:30.799695+00 | NULL            | 89f9c9ec-cd18-464b-93ab-3cbdb2190e7d | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  0af3c994-6621-4b7f-9638-b710b891412c | 2025-01-14 18:42:30.817322+00 | NULL            | 9cf4e89a-6472-4a13-9364-1ccf4f17ad3d | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  155adf80-9cff-4bd9-b8d0-b8a0d519099c | 2025-01-14 18:42:30.832684+00 | NULL            | 6a499a5a-556c-489b-be56-a8b0c9672b2a | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  1ef0e906-c9af-4dd3-9d56-ebe1b2acc018 | 2025-01-14 18:42:30.847826+00 | NULL            | 9b9380ae-65bf-4097-96c6-15505831e2c2 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  3ac9245f-4857-43e1-8280-1c4f3ffb7f9f | 2025-01-14 18:42:30.864837+00 | NULL            | cf2f2ba6-f115-489c-b919-2b0ce2e9c180 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  64092ef6-ba8c-4250-9b49-02d8015a8ef1 | 2025-01-14 18:42:30.880456+00 | NULL            | e01788e3-3738-47aa-b50d-32c5ed0ad214 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a
  09e87eeb-5d76-4e85-942a-8c82abdf83f7 | 2025-01-14 19:09:48.134922+00 | NULL            | 0f95604c-b6d7-4ca4-9fe4-b85a21c97863 | fa2089c4-c22c-482b-bf94-879263f08209
  1889bc10-0091-4d77-8d78-fcbb3aa36d6d | 2025-01-14 19:09:48.160019+00 | NULL            | 4b03a063-641f-4257-a3b8-65d4f4cb3bb6 | fa2089c4-c22c-482b-bf94-879263f08209
  5d62ca43-b970-4e0e-8f0d-5e576009e3b1 | 2025-01-14 19:09:48.594571+00 | NULL            | c63f6676-4ed3-4833-ac2c-051c5ef1cb96 | fa2089c4-c22c-482b-bf94-879263f08209
  668eb8af-8aa1-42a9-820d-0d8bf6341268 | 2025-01-14 19:09:48.617143+00 | NULL            | b0f28a4a-54b5-4206-912e-7b5e7925a19b | fa2089c4-c22c-482b-bf94-879263f08209
  f7db3848-7417-47e8-92d0-e4f4bc6c807a | 2025-01-14 19:09:48.643575+00 | NULL            | 5336171e-050a-4479-b995-4b1832a60b0f | fa2089c4-c22c-482b-bf94-879263f08209
(20 rows)

@jgallagher
Copy link
Contributor Author

FWIW, the time lag between the current target blueprint being set and the new rows showing up in the rendezvous table was a little less than a minute (on a4x2, which might affect this significantly or might not; I'm not sure).

root@[fd00:1122:3344:103::3]:32221/omicron> select * from bp_target;
  version |             blueprint_id             | enabled |       time_made_target
----------+--------------------------------------+---------+--------------------------------
        1 | 9474d52b-2139-4ee9-a2ea-91c53e121d8a |  false  | 2025-01-14 18:42:11.989661+00
        2 | fa2089c4-c22c-482b-bf94-879263f08209 |  true   | 2025-01-14 19:08:55.244793+00
(2 rows)

};

// Actually perform rendezvous table reconciliation
let (_, blueprint) = &*update;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Would it be a problem to do this de-structuring above? I think the name update is a little confusing

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope and agreed; fixed in 7b5bf53

Base automatically changed from john/debug-dataset-rendezvous-1 to main January 15, 2025 21:26
@jgallagher jgallagher force-pushed the john/debug-dataset-rendezvous-2 branch from e1a0aa1 to c986515 Compare January 16, 2025 15:36
@jgallagher jgallagher merged commit 0cdfd08 into main Jan 16, 2025
17 checks passed
@jgallagher jgallagher deleted the john/debug-dataset-rendezvous-2 branch January 16, 2025 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants