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

add end-to-end test that new blueprint on a fresh system is a noop #7323

Merged
merged 1 commit into from
Jan 9, 2025

Conversation

davepacheco
Copy link
Collaborator

Fixes #7300.

@davepacheco davepacheco marked this pull request as ready for review January 9, 2025 00:14
@davepacheco
Copy link
Collaborator Author

CI passes and it did run the test, so that's good.

I'd like to confirm that it would correctly fail if the blueprint did show changes. To do that, I've created a branch with #7310 reverted:
dap/end-to-end...dap/end-to-end-test

I'll be looking to see that this "deploy" CI job fails in the expected way:
https://github.com/oxidecomputer/omicron/runs/35345043913

@davepacheco
Copy link
Collaborator Author

Confirmed that with that fix reverted, the test fails as expected:
https://buildomat.eng.oxide.computer/wg/0/details/01JH46Y6HZZZS0H0WJ0TXAFZFE/fhIeAi3V78xElwXI8nVfHjh5bAEHZnBKu86OAvI4mIMYU1ak/01JH46YM661HPW7DA7EWETHNQE#S1190

test noop_blueprint::new_blueprint_noop ... FAILED
test instance_launch::instance_launch ... ok
failures:
---- noop_blueprint::new_blueprint_noop stdout ----
rack subnet: fd00:1122:3344:100::/56
log file: /tmp/end_to_end_tests-517e010e9925d683-new_blueprint_noop.1173.0.log
Nexus is running and has a target blueprint
new blueprint generated: d6dcc4c4-85c1-4551-a92b-8dbce959a7cb
parent blueprint id:     955da9d5-c8b1-467a-bada-b813ca146aad
new blueprint:     d6dcc4c4-85c1-4551-a92b-8dbce959a7cb
differences:
from: blueprint 955da9d5-c8b1-467a-bada-b813ca146aad
to:   blueprint d6dcc4c4-85c1-4551-a92b-8dbce959a7cb
 MODIFIED SLEDS:
  sled 2a5ec8ce-31e5-4982-a156-7cc817b136d7 (active):
    physical disks at generation 2:
    ----------------------------------------------------------
    vendor             model                serial
    ----------------------------------------------------------
    synthetic-vendor   synthetic-model-U2   synthetic-serial-0
    synthetic-vendor   synthetic-model-U2   synthetic-serial-1
    synthetic-vendor   synthetic-model-U2   synthetic-serial-2
    synthetic-vendor   synthetic-model-U2   synthetic-serial-3
    synthetic-vendor   synthetic-model-U2   synthetic-serial-4
    synthetic-vendor   synthetic-model-U2   synthetic-serial-5
    synthetic-vendor   synthetic-model-U2   synthetic-serial-6
    synthetic-vendor   synthetic-model-U2   synthetic-serial-7
    synthetic-vendor   synthetic-model-U2   synthetic-serial-8
    datasets generation 1 -> 2:
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    dataset name                                                                                                   dataset uuid                           quota     reservation   compression
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crucible                                                              14cf9b65-598c-444b-bd6d-601ea33ac793   none      none          off
    oxp_1f19b5a0-1514-4bd1-aec0-dcd636bd3fa5/crucible                                                              2ec55c84-bffc-4cd6-9958-24aaa743b971   none      none          off
    oxp_5d2c401d-cd11-4b98-97b7-da3f7ca8fb59/crucible                                                              d90d7e1e-90d4-4e23-8da5-a29da9948379   none      none          off
    oxp_629544c0-27f4-4020-b514-332802874b60/crucible                                                              821a6599-b746-4f2e-86a5-32e36c3465a7   none      none          off
    oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crucible                                                              475c629d-e779-4425-bebf-2ce89f753ff6   none      none          off
    oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crucible                                                              4e9706cd-ddb5-4e5a-b027-881c1401a259   none      none          off
    oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crucible                                                              b9ccb748-89f6-42a7-bcd7-46b6bd508e40   none      none          off
    oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crucible                                                              117a58e9-1a9f-416c-8870-52a36c1654c9   none      none          off
    oxp_a5da334f-19cb-4d72-b915-499edbcccd72/crucible                                                              afc46ab3-4d84-4b6a-95a4-601dc40956df   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/cockroachdb                                                     99e73b15-8005-4fc6-8f54-9e49234a041f   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/debug                                                           a69e5ef6-5950-45cb-8e55-d7826e4de298   100 GiB   none          gzip-9
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/internal_dns                                                    584f7234-4ab9-45e8-ace3-1d200552f056   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/zone                                                            9c230e4f-b40f-4a83-96fd-0d28c4543b11   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/zone/oxz_cockroachdb_51674af7-c107-40dc-95d4-4e5d6a25c76f       51cf25ab-5be1-448c-b838-afbc0613a369   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/zone/oxz_crucible_7f673996-71f3-460d-8744-05523682c460          907cf10f-d49a-466f-bb92-92685c297b94   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/zone/oxz_crucible_pantry_1d317d7a-f13a-4512-9dbb-1f40f69031cb   2b11a9e2-928b-4466-873b-47847a11a18d   none      none          off
*   oxp_16cfcf81-c429-4ad0-9803-f2c7d8af58c2/crypt/zone/oxz_internal_dns_1587a3be-b05d-4475-8c28-83a2cddb206f      4397025c-ca78-42cf-af4e-1adff55b77ff   none      none          off
*   oxp_1f19b5a0-1514-4bd1-aec0-dcd636bd3fa5/crypt/debug                                                           435293ed-0db6-4a3f-bad2-7377bbae0582   100 GiB   none          gzip-9
*   oxp_1f19b5a0-1514-4bd1-aec0-dcd636bd3fa5/crypt/zone                                                            e2c9aadc-7689-4e9f-9022-b7112066b452   none      none          off
*   oxp_1f19b5a0-1514-4bd1-aec0-dcd636bd3fa5/crypt/zone/oxz_crucible_6c1355e5-9754-43a6-8942-2feda17ecc62          9ab30b7a-2ba8-4d9e-ae8c-8c4134f9bd9c   none      none          off
*   oxp_1f19b5a0-1514-4bd1-aec0-dcd636bd3fa5/crypt/zone/oxz_nexus_3ca012d2-322f-4398-94cf-49e9d02ebe0a             60ba0aee-f660-4e6c-849d-5e731e2475f2   none      none          off
*   oxp_1f19b5a0-1514-4bd1-aec0-dcd636bd3fa5/crypt/zone/oxz_ntp_6feb68c5-225d-45a2-9d9e-86b600533114               647a5607-d497-476c-b47b-25732e0dabfc   none      none          off
*   oxp_5d2c401d-cd11-4b98-97b7-da3f7ca8fb59/crypt/debug                                                           ac38da6f-d4d7-4ebc-a72e-afc4f8765f90   100 GiB   none          gzip-9
*   oxp_5d2c401d-cd11-4b98-97b7-da3f7ca8fb59/crypt/zone                                                            323f32fc-0ca0-4558-ac1b-2b32c43fec8e   none      none          off
*   oxp_5d2c401d-cd11-4b98-97b7-da3f7ca8fb59/crypt/zone/oxz_crucible_4b9925c3-a895-43c4-bcfa-3fddb51cc112          95c48c30-3766-47fa-8ee9-67760b216b18   none      none          off
*   oxp_629544c0-27f4-4020-b514-332802874b60/crypt/debug                                                           d5b08f33-80a4-46c3-9fff-cf9a73edfa48   100 GiB   none          gzip-9
*   oxp_629544c0-27f4-4020-b514-332802874b60/crypt/zone                                                            93bcfe6d-b224-47d9-aa32-0c9592825540   none      none          off
*   oxp_629544c0-27f4-4020-b514-332802874b60/crypt/zone/oxz_crucible_6b405e8e-f031-4046-b8ac-dfbaf3c5ea98          553dc4dc-b4c7-4256-a39b-e76bc0d4d4b7   none      none          off
*   oxp_629544c0-27f4-4020-b514-332802874b60/crypt/zone/oxz_crucible_pantry_21441bb6-7ed9-4a23-91b8-3b05cb12d9be   279d756a-3af7-4b3f-abf2-ad0db3ae14be   none      none          off
*   oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crypt/cockroachdb                                                     ec2d8297-aa06-48a9-a458-0d6b880e3fd7   none      none          off
*   oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crypt/debug                                                           654c0dbb-421b-49ed-90c9-4973c7983d13   100 GiB   none          gzip-9
*   oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crypt/zone                                                            99744f69-5799-4ae7-ab92-89a139a93c90   none      none          off
*   oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crypt/zone/oxz_cockroachdb_33bac3ce-17ae-4a72-a521-7fa522c24590       8ce7abe2-3420-4595-b7b1-c367771b4ee0   none      none          off
*   oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crypt/zone/oxz_crucible_2f42c619-047c-4816-8c03-1b4b869f74ee          4ff5bb5a-8651-4aaa-8751-240d45d561c4   none      none          off
*   oxp_6ff08246-782d-4058-9e5f-ff095db6560c/crypt/zone/oxz_crucible_pantry_3155a5a4-e862-487e-9a3f-c9900ca9a189   e51754ba-87c9-45b2-b74a-ac84d4172d73   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/cockroachdb                                                     5f76f9df-282b-42b0-aecc-7381a2aa9f01   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/debug                                                           70fd8b7d-cd4d-4ecb-b247-1c61a2b67c90   100 GiB   none          gzip-9
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/external_dns                                                    c247755d-c039-4382-8fb6-d359b058d0e3   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/internal_dns                                                    afc87388-564e-4689-99ea-8f1b8c460a2c   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/zone                                                            479762b5-8492-406d-b40c-b228f68d9572   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/zone/oxz_cockroachdb_7ae14c61-6fa7-4b7e-bc1e-96bd385ea9f5       842a6cfa-e9ad-4d7f-a39e-09904d622969   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/zone/oxz_crucible_ffa3c7f5-edad-49e3-89f8-cc158f82d442          60be5a8a-ac34-4ae4-8480-fea819221786   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/zone/oxz_external_dns_d28db04c-86dc-4788-b08f-467ff8a673dc      404c5799-07d6-4e7d-bcbf-24292e57d206   none      none          off
*   oxp_83efebd9-d04a-4495-9c2a-3f0e609d5d86/crypt/zone/oxz_internal_dns_db7bb166-91ce-4196-80af-3fafccfe99a2      d23ebb20-799e-434f-8576-004beb568405   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/clickhouse                                                      15ff782e-7168-4681-b987-07d15aa2c3f6   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/cockroachdb                                                     2d8f9c9c-f8da-4ed1-bebf-78ea4b958687   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/debug                                                           1ad7873c-4530-4d19-a004-d612167812c2   100 GiB   none          gzip-9
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/external_dns                                                    63b7907b-b63f-4c82-bceb-a00c19de4f98   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/internal_dns                                                    dd40b5bb-7f1b-4f79-a794-ce6bf1ac52c1   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/zone                                                            d3fe1ed6-0681-4ba4-b604-16b819ac68e7   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/zone/oxz_clickhouse_9ea55d6e-bfe1-41bd-83b2-e6b52df5ecec        b9439599-6eff-4473-b5ac-b99c83ad80c3   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/zone/oxz_cockroachdb_d0744eff-8742-451e-98ef-94f40ac1d1df       c301aa66-cb4e-4228-b2b4-2e2831582d4f   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/zone/oxz_crucible_fb10fea9-36d5-42a4-9bd1-be85290923fe          dca9b76b-c0f3-4964-9c55-6ec00637fc62   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/zone/oxz_external_dns_5cb79fd4-3b79-4466-bb86-657f7f0ada22      39daae4e-bacc-4714-8f21-aa0307071427   none      none          off
*   oxp_9979ed37-d6a2-48bf-a63c-5d900fb82be1/crypt/zone/oxz_internal_dns_4008b857-31de-45a2-bfb6-156254963434      8fc31126-603a-4ce8-af57-d2a79f4d2c64   none      none          off
*   oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crypt/cockroachdb                                                     3fc70f6b-d8bf-4444-98e3-20306b26ac5c   none      none          off
*   oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crypt/debug                                                           dc9834f3-33b3-4243-842b-c6d97baf7bc4   100 GiB   none          gzip-9
*   oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crypt/zone                                                            6763f8d2-a327-4a58-ae1f-4057b209bf85   none      none          off
*   oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crypt/zone/oxz_cockroachdb_8eaf51f5-df38-4cb2-a3b9-98a78a1630e1       26c04133-4dc7-4bd4-8e17-fd8ca3da0066   none      none          off
*   oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crypt/zone/oxz_crucible_689b4313-df50-4333-a289-9b10cf7a7050          2629e29c-3ae9-4962-9eea-5bf50d8a6333   none      none          off
*   oxp_9cd62b00-ac25-4ba0-9920-be1d74493ebf/crypt/zone/oxz_oximeter_ba5ebd3e-b5e4-46af-a4f1-d5a3e28b622a          20646734-16cd-4e66-813c-e700313d77f2   none      none          off
*   oxp_a5da334f-19cb-4d72-b915-499edbcccd72/crypt/debug                                                           3dcddcc7-e451-4af6-b17f-56bbb363e80e   100 GiB   none          gzip-9
*   oxp_a5da334f-19cb-4d72-b915-499edbcccd72/crypt/zone                                                            e97cf080-6a63-45b3-a037-0f5cc864a918   none      none          off
*   oxp_a5da334f-19cb-4d72-b915-499edbcccd72/crypt/zone/oxz_crucible_02ea87e1-ad72-4067-9c09-1c75a6db0346          49ee03af-b0ae-4912-ad36-90760c926345   none      none          off
*   oxp_a5da334f-19cb-4d72-b915-499edbcccd72/crypt/zone/oxz_nexus_74d09270-c94b-4c18-b2b3-d5f83a0dc096             98e175a8-b9c7-4e2a-a9c3-fc061e9ba232   none      none          off
*   oxp_a5da334f-19cb-4d72-b915-499edbcccd72/crypt/zone/oxz_nexus_94da342f-e446-47fd-a8fe-112f8b9a9fc9             6d11abc9-c347-4787-910b-bb9c1843768d   none      none          off
    omicron zones at generation 5:
    ---------------------------------------------------------------------------------------------
    zone type         zone id                                disposition   underlay IP
    ---------------------------------------------------------------------------------------------
    boundary_ntp      6feb68c5-225d-45a2-9d9e-86b600533114   in service    fd00:1122:3344:101::1b
    clickhouse        9ea55d6e-bfe1-41bd-83b2-e6b52df5ecec   in service    fd00:1122:3344:101::e
    cockroach_db      33bac3ce-17ae-4a72-a521-7fa522c24590   in service    fd00:1122:3344:101::7
    cockroach_db      51674af7-c107-40dc-95d4-4e5d6a25c76f   in service    fd00:1122:3344:101::5
    cockroach_db      7ae14c61-6fa7-4b7e-bc1e-96bd385ea9f5   in service    fd00:1122:3344:101::4
    cockroach_db      8eaf51f5-df38-4cb2-a3b9-98a78a1630e1   in service    fd00:1122:3344:101::6
    cockroach_db      d0744eff-8742-451e-98ef-94f40ac1d1df   in service    fd00:1122:3344:101::3
    crucible          02ea87e1-ad72-4067-9c09-1c75a6db0346   in service    fd00:1122:3344:101::18
    crucible          2f42c619-047c-4816-8c03-1b4b869f74ee   in service    fd00:1122:3344:101::16
    crucible          4b9925c3-a895-43c4-bcfa-3fddb51cc112   in service    fd00:1122:3344:101::17
    crucible          689b4313-df50-4333-a289-9b10cf7a7050   in service    fd00:1122:3344:101::15
    crucible          6b405e8e-f031-4046-b8ac-dfbaf3c5ea98   in service    fd00:1122:3344:101::19
    crucible          6c1355e5-9754-43a6-8942-2feda17ecc62   in service    fd00:1122:3344:101::1a
    crucible          7f673996-71f3-460d-8744-05523682c460   in service    fd00:1122:3344:101::14
    crucible          fb10fea9-36d5-42a4-9bd1-be85290923fe   in service    fd00:1122:3344:101::12
    crucible          ffa3c7f5-edad-49e3-89f8-cc158f82d442   in service    fd00:1122:3344:101::13
    crucible_pantry   1d317d7a-f13a-4512-9dbb-1f40f69031cb   in service    fd00:1122:3344:101::10
    crucible_pantry   21441bb6-7ed9-4a23-91b8-3b05cb12d9be   in service    fd00:1122:3344:101::11
    crucible_pantry   3155a5a4-e862-487e-9a3f-c9900ca9a189   in service    fd00:1122:3344:101::f
    external_dns      5cb79fd4-3b79-4466-bb86-657f7f0ada22   in service    fd00:1122:3344:101::8
    external_dns      d28db04c-86dc-4788-b08f-467ff8a673dc   in service    fd00:1122:3344:101::9
    internal_dns      1587a3be-b05d-4475-8c28-83a2cddb206f   in service    fd00:1122:3344:3::1
    internal_dns      4008b857-31de-45a2-bfb6-156254963434   in service    fd00:1122:3344:1::1
    internal_dns      db7bb166-91ce-4196-80af-3fafccfe99a2   in service    fd00:1122:3344:2::1
    nexus             3ca012d2-322f-4398-94cf-49e9d02ebe0a   in service    fd00:1122:3344:101::a
    nexus             74d09270-c94b-4c18-b2b3-d5f83a0dc096   in service    fd00:1122:3344:101::c
    nexus             94da342f-e446-47fd-a8fe-112f8b9a9fc9   in service    fd00:1122:3344:101::b
    oximeter          ba5ebd3e-b5e4-46af-a4f1-d5a3e28b622a   in service    fd00:1122:3344:101::d
 COCKROACHDB SETTINGS:
    state fingerprint:::::::::::::::::   d4d87aa2ad877a4cc2fddd0573952362739110de (unchanged)
    cluster.preserve_downgrade_option:   "22.1" (unchanged)
 METADATA:
    internal DNS version:   1 (unchanged)
    external DNS version:   2 (unchanged)
thread 'noop_blueprint::new_blueprint_noop' panicked at end-to-end-tests/src/noop_blueprint.rs:82:9:
unexpected changes between initial blueprint and newly-generated one (see above)

Copy link
Contributor

@jgallagher jgallagher left a comment

Choose a reason for hiding this comment

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

Looks great!

@davepacheco davepacheco merged commit d9a6a8b into main Jan 9, 2025
17 checks passed
@davepacheco davepacheco deleted the dap/end-to-end branch January 9, 2025 17:45
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.

add end-to-end test that generating a new blueprint produces no diff?
2 participants