using provided RNG seed: reconfigurator-cli-test
> # Load an example system.
> load-example --nsleds 3 --ndisks-per-sled 3
loaded example system with:
- collection: f45ba181-4b56-42cc-a762-874d90184a43
- blueprint: dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21


> # Set CockroachDB settings.
> set cockroachdb-settings --fingerprint abcdef0123456789abcdef0123456789abcdef01
cockroachdb settings updated:
*   state fingerprint::   (none) -> abcdef0123456789abcdef0123456789abcdef01
    version::::::::::::   (none) (unchanged)
    preserve downgrade:   (not set) (unchanged)


> set cockroachdb-settings --version 22.1
cockroachdb settings updated:
    state fingerprint::   abcdef0123456789abcdef0123456789abcdef01 (unchanged)
*   version::::::::::::   (none) -> 22.1
    preserve downgrade:   (not set) (unchanged)


> set cockroachdb-settings --preserve-downgrade 22.1
cockroachdb settings updated:
    state fingerprint::   abcdef0123456789abcdef0123456789abcdef01 (unchanged)
    version::::::::::::   22.1 (unchanged)
*   preserve downgrade:   (not set) -> 22.1



> # Try a no-op update.
> set cockroachdb-settings --preserve-downgrade 22.1
no changes to cockroachdb settings:
    state fingerprint::   abcdef0123456789abcdef0123456789abcdef01
    version::::::::::::   22.1
    preserve downgrade:   22.1



> # Run the planner and verify CRDB settings appear in the new blueprint.
> blueprint-plan latest
INFO skipping noop image source check for all sleds, reason: no target release is currently set
generated blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 based on parent blueprint dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21
blueprint source: planner with report:
planning report:
* zone adds and updates are blocked:
  - sleds have deployment units with image sources not set to Artifact:
    - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c: 9 zones
    - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: 8 zones
    - sled d81c6a84-79b8-4958-ae41-ea46c9b19763: 8 zones

* adding zones despite being blocked, because: target release generation is 1
* zone updates waiting on zone add blockers
* will ensure cockroachdb setting: "22.1"
Measurement updates:
Waiting on zone add/update blockers



> blueprint-diff latest
from: blueprint dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21
to:   blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1

 COCKROACHDB SETTINGS:
*   state fingerprint:::::::::::::::::   (none) -> abcdef0123456789abcdef0123456789abcdef01
*   cluster.preserve_downgrade_option:   (do not modify) -> "22.1"

 METADATA:
    internal DNS version:::   1 (unchanged)
    external DNS version:::   1 (unchanged)
    target release min gen:   1 (unchanged)
    nexus gen::::::::::::::   1 (unchanged)

 OXIMETER SETTINGS:
    generation:   1 (unchanged)
    read from::   SingleNode (unchanged)


internal DNS:
  DNS zone: "control-plane.oxide.internal" (unchanged)
    unchanged names: 52 (records: 68)

external DNS:
  DNS zone: "oxide.example" (unchanged)
    unchanged names: 5 (records: 9)




> # Run blueprint-edit and verify CRDB settings are preserved.
> blueprint-edit latest noop
blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 created from latest blueprint (8da82a8e-bf97-4fbd-8ddd-9f6462732cf1): noop

> blueprint-diff latest
from: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1
to:   blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4

 COCKROACHDB SETTINGS:
    state fingerprint:::::::::::::::::   abcdef0123456789abcdef0123456789abcdef01 (unchanged)
    cluster.preserve_downgrade_option:   "22.1" (unchanged)

 METADATA:
    internal DNS version:::   1 (unchanged)
    external DNS version:::   1 (unchanged)
    target release min gen:   1 (unchanged)
    nexus gen::::::::::::::   1 (unchanged)

 OXIMETER SETTINGS:
    generation:   1 (unchanged)
    read from::   SingleNode (unchanged)


internal DNS:
  DNS zone: "control-plane.oxide.internal" (unchanged)
    unchanged names: 52 (records: 68)

external DNS:
  DNS zone: "oxide.example" (unchanged)
    unchanged names: 5 (records: 9)




> # Save and reload to verify round-trip preservation.
> save saved-crdb.json
saved planning input, collections, and blueprints to "saved-crdb.json"

> wipe system
wiped system

> load saved-crdb.json
loaded data from "saved-crdb.json"
result:
  system:
    using collection f45ba181-4b56-42cc-a762-874d90184a43 as source of sled inventory data
    loaded sleds: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, d81c6a84-79b8-4958-ae41-ea46c9b19763
    loaded collections: f45ba181-4b56-42cc-a762-874d90184a43
    loaded blueprints: 184f10b3-61cb-41ef-9b93-3489b2bac559, 58d5e830-0884-47d8-a7cd-b2b3751adeb4, 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1, dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21
    loaded external IP policy: ExternalIpPolicy { service_pool_ipv4_ranges: [Ipv4Range { first: 192.0.2.2, last: 192.0.2.20 }, Ipv4Range { first: 198.51.100.1, last: 198.51.100.30 }], service_pool_ipv6_ranges: [], external_dns_ips: {198.51.100.1, 198.51.100.2, 198.51.100.3} }
    loaded cockroachdb settings: fingerprint = abcdef0123456789abcdef0123456789abcdef01, version = 22.1, preserve downgrade = 22.1
    loaded internal DNS generations: (none)
    loaded external DNS generations: (none)
  config:
    configured external DNS zone name: oxide.example
    configured silo names: example-silo
    active Nexus generation: 1



> # Generate a new blueprint. The new blueprint should not show any
> # CRDB setting changes.
> blueprint-plan latest
INFO skipping noop image source check for all sleds, reason: no target release is currently set
generated blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 based on parent blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4
blueprint source: planner with report:
planning report:
* zone adds and updates are blocked:
  - sleds have deployment units with image sources not set to Artifact:
    - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c: 9 zones
    - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: 8 zones
    - sled d81c6a84-79b8-4958-ae41-ea46c9b19763: 8 zones

* adding zones despite being blocked, because: target release generation is 1
* zone updates waiting on zone add blockers
* will ensure cockroachdb setting: "22.1"
Measurement updates:
Waiting on zone add/update blockers



> blueprint-diff latest
from: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4
to:   blueprint af934083-59b5-4bf6-8966-6fb5292c29e1

 COCKROACHDB SETTINGS:
    state fingerprint:::::::::::::::::   abcdef0123456789abcdef0123456789abcdef01 (unchanged)
    cluster.preserve_downgrade_option:   "22.1" (unchanged)

 METADATA:
    internal DNS version:::   1 (unchanged)
    external DNS version:::   1 (unchanged)
    target release min gen:   1 (unchanged)
    nexus gen::::::::::::::   1 (unchanged)

 OXIMETER SETTINGS:
    generation:   1 (unchanged)
    read from::   SingleNode (unchanged)


internal DNS:
  DNS zone: "control-plane.oxide.internal" (unchanged)
    unchanged names: 52 (records: 68)

external DNS:
  DNS zone: "oxide.example" (unchanged)
    unchanged names: 5 (records: 9)



