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

Tracking Issue for Live Migration #81

Open
25 of 48 tasks
smklein opened this issue Jan 6, 2022 · 0 comments
Open
25 of 48 tasks

Tracking Issue for Live Migration #81

smklein opened this issue Jan 6, 2022 · 0 comments
Milestone

Comments

@smklein
Copy link
Contributor

smklein commented Jan 6, 2022

Note: this issue is based on https://rfd.shared.oxide.computer/rfd/0071, and likely incomplete.
Please feel free to edit / modify it.

This issue attempts to, at a high-level, capture the necessary work items for LM. Depending on the size of sub-tasks, we can consider splitting out related issues, and dividing ownership.

  • Protocol
    • Authenticated, encrypted TLS
    • Versions embedded in structures being transferred. We can start by being extremely selective, requiring exact version match.
    • Define Guest Machine Architecture (CPU features) and Platform (Device features) during instance creation
    • Advertise Guest Machine Architecture and Platform, ensure compatibility between source and destination. Related to Add 'platform version' to Instances omicron#615
  • State Management: Does Propolis' architecture expose necessary interfaces for quiescing, serializing, and transfer of devices?
  • Live Migration: RAM Transfer #82
    • Query / Offer dirty pages
    • Fetch full address space / Xfer full address space
    • Re-establish RAM in destination VM
  • CPU Transfer
  • In-Kernel Emulated Peripherals
    • PIT (i8254)
    • PIC (i8259)
    • IOAPIC
    • HPET
    • RTC
    • ACPI Power Management Timer
  • Userspace Emulated Devices
  • Miscellaneous Peripherals
    • Bootroom
    • Consumer-visible Interfaces
      • Framebuffer
      • KB / Mouse
      • ttya / ttyb
    • PCI state (hostbus, bridges)
  • Live Migration: Block Devices #84
    • "Deactivate" message sent to Crucible
    • Re-inflation of Crucible upstairs on target
  • Live Migration: Network Devices #83
    • "Pause" message sent to OPTE
    • Re-establishment of network traffic through OPTE

Related to oxidecomputer/omicron#252 in Omicron

@smklein smklein mentioned this issue Jan 6, 2022
3 tasks
@morlandi7 morlandi7 added this to the MVP milestone Feb 9, 2023
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

No branches or pull requests

2 participants