oxidecomputer / oxidecomputer/propolis
instantiate devices from migration payload
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 270
- Forks
- 42
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 6
Description
During a migration, the current logic requires the target instance to be initialized with devices exactly matching the source. Those devices are then "rehydrated" with the migration payloads exported from the source, when that phase of the migration occurs. After discussions with @gjcolombo and others, one recurring conclusion was that it'd be nice if we could instantiate the devices directly from the migration payload.
Doing so would require some restructuring, particularly around what resources are required by each respective device when it is created. Viona, for example, requires the underlying vnic resource for initialization today. Moving it to a model similar to block devices, where it is attached to a "backend" resource prior to being pressed into service, might make sense.
An initialization pattern like this may help free us from demanding that the source and target VM instances adhere to similar internal structures when it comes to device naming, etc.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names migration payload handling, device initialization, Viona, vNIC resources, and block devices, but no files, tests, or entry points. Start by tracing those areas and determine the resource requirements for each device; done would mean devices can be instantiated directly from migration payloads without requiring source and target instances to have matching internal structures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100