-
Notifications
You must be signed in to change notification settings - Fork 163
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
Add serial console support to QEMU orchestrator. #1707
Conversation
1. Add support for libvirt event callbacks. Libvirt requires setting up a single process-wide event loop for handling the events. This change provisions a separate Python thread for this purpose. 2. Create a reader for the libvirt console stream that writes the console output to file. (Ideally we would use the inbuilt libvirt support for writing the console to file. But SELinux doesn't like this for whatever reason.) This mimics the Azure API that provides the serial console output as a log that can be downloaded. 3. Implement the orchestrator serial console feature. This just reads and dumps the console log file. 4. Fix a minor bug in NodeSpace schema class, that causes a crash for some runbook configurations.
8aa9205
to
dda5092
Compare
node_capabilities = schema.NodeSpace() | ||
node_capabilities.name = "QEMU" | ||
node_capabilities.node_count = 1 | ||
node_capabilities.core_count = 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure the deployment phase will use those values.
node_capabilities.memory_mb = 4096 | ||
node_capabilities.disk = schema.DiskOptionSettings() | ||
node_capabilities.network_interface = schema.NetworkInterfaceOptionSettings() | ||
node_capabilities.network_interface.max_nic_count = 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It needs to set nic_count
too. the max_nic_count
is used to limited how many nics can be created in some cases, which hot add nics.
Add support for libvirt event callbacks. Libvirt requires
setting up a single process-wide event loop for handling the
events. This change provisions a separate Python thread for
this purpose.
Create a reader for the libvirt console stream that writes
the console output to file. (Ideally we would use the inbuilt
libvirt support for writing the console to file. But SELinux
doesn't like this for whatever reason.) This mimics the Azure
API that provides the serial console output as a log that can
be downloaded.
Implement the orchestrator serial console feature. This
just reads and dumps the console log file.
Fix a minor bug in NodeSpace schema class, that causes
a crash for some runbook configurations.