Use Verified Same-Platform Bundles for Network-Lab Migration¶
Status¶
Accepted: Existing EVE-NG, GNS3, and Containerlab environments enter the HybridOps lifecycle through verified same-platform bundles. The runtime does not translate one emulator's native state into another emulator's format.
Context¶
An existing lab may predate its HybridOps environment record or run on a host that must be replaced. Migration needs a bounded recovery artifact whose identity, contents, companion state, target compatibility, and eventual after-state can be reviewed as one chain.
Decision¶
Migration has three explicit phases:
- capture identifies the requested source boundary, checks capacity, and produces a candidate platform-specific recovery set;
- inspect validates member paths, checksums, structure, and companion-state relationships without changing runtime state;
- import binds the verified set to one environment and compatible blueprint, after which the normal restore lifecycle performs reconstruction.
EVE-NG can include referenced images and stopped node state. Containerlab captures its authoritative source tree and can retain native lab-directory state. GNS3 captures its native project boundary. Capacity is checked before large capture, import, or restore operations.
Consequences¶
Positive¶
- Source files remain in place until target acceptance; stateful capture may quiesce and stop running guests.
- Migration converges on the same reconstruction and verification contract as normal recovery.
- Checksums and blueprint binding prevent accidental bundle substitution.
Negative¶
- Cross-platform conversion is outside the contract.
- Large referenced-image sets may take substantial time and storage.
- Platform licences and secrets must be supplied separately at the target.
Alternatives considered¶
- Translate EVE-NG, GNS3, and Containerlab formats automatically: rejected because configuration, disk, interface, and controller semantics do not have a safe general mapping.
- Copy the entire source host: rejected because it retains unrelated state and weakens inspection of the actual recovery boundary.