-
Notifications
You must be signed in to change notification settings - Fork 247
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
Support Hyper-V #1538
Comments
Just to make this explicit: an Ignition implementation can't be directly adapted from |
It appears that KVP values are limited to 1K characters (2K bytes in UTF-16). In OOB discussion we concluded that the least-worst approach was to support concatenating multiple keys together. OSes can document a PowerShell script that takes an Ignition config, chunks it, and sets the appropriate KVP keys. |
Open questions:
|
This was achieved by #1555 and other related PR's |
Hyper-V has Hyper-V Integration Services for host-guest communication. It's possible to write a custom service, but that requires a host-side process to connect to a socket. But there's also a key-value service (documentation).
The key-value service does work on Linux, with a helper daemon shipped with the kernel source. Unlike the other hypervisors we support, the daemon appears to take the passive role; it connects and listens for get/set commands, maintaining a set of binary blob files in
/var
.In principle, we can emulate the daemon: connect to the hypervisor socket, wait for a SET command for the correct key, then close the socket and continue. If we don't get the Ignition config in the initial set of keys, assume there isn't one. This involves a timeout, which isn't ideal, but the scope of the timeout is much more constrained than "all hardware detection has completed" as would be needed for a config drive.
The kernel headers give the appearance of a 2 KiB limit on the value size, which a) is cramped but sufficient for our purposes, and b) may not be a real limit in the wire protocol; we should test this.
Proposed next steps:
hv_kvp_daemon
hv_kvp_daemon
instance run later in the real root.coreos/fedora-coreos-tracker#251 discusses Hyper-V support in FCOS.
The text was updated successfully, but these errors were encountered: