using provided RNG seed: reconfigurator-cli-test
> # Test loading multiple state files at once.
> #
> # We make two saves of overlapping state and then load them in three ways:
> # via a glob, via explicit args in reversed order, and the same file twice.

> load-example --nsleds 3 --ndisks-per-sled 3
loaded example system with:
- collection: f45ba181-4b56-42cc-a762-874d90184a43
- blueprint: dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21

> save saved-1.out
saved planning input, collections, and blueprints to "saved-1.out"


> # Add another blueprint to the state.  This blueprint becomes part of
> # saved-2.out but not saved-1.out, so saved-2.out is a superset.
> blueprint-edit latest noop
blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 created from latest blueprint (dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21): noop

> save saved-2.out
saved planning input, collections, and blueprints to "saved-2.out"

> wipe system
wiped system


> # Glob expansion.  Both files match, and glob iterates them in sorted order,
> # so saved-1.out is processed first.  Both files declare the same target
> # blueprint, so the "latest" reported is whichever was processed first.
> load saved-*.out
latest of 2 files: saved-1.out
loaded data from 2 files
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, 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 = (none), version = (none), preserve downgrade = (not set)
    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


> blueprint-list
T ENA ID                                   PARENT                               TIME_CREATED             
      184f10b3-61cb-41ef-9b93-3489b2bac559 <none>                               <REDACTED_TIMESTAMP> 
* yes dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21 184f10b3-61cb-41ef-9b93-3489b2bac559 <REDACTED_TIMESTAMP> 
      8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21 <REDACTED_TIMESTAMP> 


> # Explicit args in reversed order.  Now saved-2.out is processed first, so
> # the "latest" should flip to saved-2.out.
> wipe system
wiped system

> load saved-2.out saved-1.out
latest of 2 files: saved-2.out
loaded data from 2 files
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, 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 = (none), version = (none), preserve downgrade = (not set)
    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


> blueprint-list
T ENA ID                                   PARENT                               TIME_CREATED             
      184f10b3-61cb-41ef-9b93-3489b2bac559 <none>                               <REDACTED_TIMESTAMP> 
* yes dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21 184f10b3-61cb-41ef-9b93-3489b2bac559 <REDACTED_TIMESTAMP> 
      8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21 <REDACTED_TIMESTAMP> 


> # Same file twice -- should behave like a single load with no warnings.
> wipe system
wiped system

> load saved-1.out saved-1.out
latest of 2 files: saved-1.out
loaded data from 2 files
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, 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 = (none), version = (none), preserve downgrade = (not set)
    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


> blueprint-list
T ENA ID                                   PARENT                               TIME_CREATED             
      184f10b3-61cb-41ef-9b93-3489b2bac559 <none>                               <REDACTED_TIMESTAMP> 
* yes dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21 184f10b3-61cb-41ef-9b93-3489b2bac559 <REDACTED_TIMESTAMP> 

