Support custom default libvirt schemas in provisioner #93

Closed
opened 2020-06-04 10:30:18 -04:00 by JoshuaBoniface · 8 comments
JoshuaBoniface commented 2020-06-04 10:30:18 -04:00 (Migrated from git.bonifacelabs.ca)

Support tuning performance of VMs, based on information from https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide. Ideally, allow this to be configurable via either modifications to the system_template facility, of a system_template subclass, perhaps a tuning_template.

Support tuning performance of VMs, based on information from https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide. Ideally, allow this to be configurable via either modifications to the `system_template` facility, of a `system_template` subclass, perhaps a `tuning_template`.
JoshuaBoniface commented 2020-06-04 10:30:18 -04:00 (Migrated from git.bonifacelabs.ca)

changed milestone to %3

changed milestone to %3
JoshuaBoniface commented 2020-06-04 10:58:47 -04:00 (Migrated from git.bonifacelabs.ca)

Some obvious first tweaks:

  1. Support configurable block device emulation, ideally in the storage template. Perhaps per-disk.
    Would allow specifying emulated IDE or SCSI versus VirtIO which is the current default. For OVAs, read this from the OVF file.

  2. Support multiple VirtIO disk queues (<driver queues='N'/> in the controller section), default to 1, configurable to another number.

  3. Support multiple VirtIO network queues (same as above).

  4. Support Paravirtualized Page Faults.

Some obvious first tweaks: 1. Support configurable block device emulation, ideally in the storage template. Perhaps per-disk. Would allow specifying emulated IDE or SCSI versus VirtIO which is the current default. For OVAs, read this from the OVF file. 1. Support multiple VirtIO disk queues (`<driver queues='N'/>` in the `controller` section), default to 1, configurable to another number. 1. Support multiple VirtIO network queues (same as above). 1. Support Paravirtualized Page Faults.
JoshuaBoniface commented 2020-08-05 10:45:43 -04:00 (Migrated from git.bonifacelabs.ca)

Moving from 0.8 to future. At this time I think the utility of these changes is minimal as all modern systems suppor VirtIO, and making the adjustments manually during or after the provisioning state is more reasonable.

Moving from 0.8 to future. At this time I think the utility of these changes is minimal as all modern systems suppor VirtIO, and making the adjustments manually during or after the provisioning state is more reasonable.
JoshuaBoniface commented 2020-08-05 10:45:48 -04:00 (Migrated from git.bonifacelabs.ca)

changed milestone to %4

changed milestone to %4
JoshuaBoniface commented 2020-10-21 03:42:24 -04:00 (Migrated from git.bonifacelabs.ca)

Ties into #101 as well, since implementation 2 of that solution would allow these to be specified as configuration parameters for each VM.

Ties into #101 as well, since implementation 2 of that solution would allow these to be specified as configuration parameters for each VM.
JoshuaBoniface commented 2020-11-08 14:27:47 -05:00 (Migrated from git.bonifacelabs.ca)

Since I did not use implementation 2 for #101, this remains a manual process. And I think that's OK. The defaults are sane for the vast majority of modern operating systems in a basic configuration, and any tweaks can be made by using the --no-start option to the provisioner and then manually tweaking the configuration.

That said, I think it would be useful to allow the overriding of the default libvirt schema in the provisioner. This is a slightly different feature, but would allow this sort of flexibility before deploying VMs. A "default schema" field could then be added to the system template and used when deploying a VM.

Since I did not use implementation 2 for #101, this remains a manual process. And I think that's OK. The defaults are sane for the vast majority of modern operating systems in a basic configuration, and any tweaks can be made by using the `--no-start` option to the provisioner and then manually tweaking the configuration. That said, I think it would be useful to allow the overriding of the default libvirt schema in the provisioner. This is a slightly different feature, but would allow this sort of flexibility before deploying VMs. A "default schema" field could then be added to the system template and used when deploying a VM.
JoshuaBoniface commented 2020-11-08 14:35:52 -05:00 (Migrated from git.bonifacelabs.ca)

changed title from {-Tune performance of provisioned VMs-} to {+Support custom default libvirt schemas in provisioner+}

changed title from **{-Tune performance of provisioned VMs-}** to **{+Support custom default libvirt schemas in provisioner+}**

The implementation of the create() aspect of VM provisioner scripts in #158 effectively completes this: since the configuration of new VMs in the provisioner is handled by administrator-configurable code, arbitrary changes can be made at will, with the current libvirt_schema libraries serving as standardized known-good examples.

The implementation of the `create()` aspect of VM provisioner scripts in #158 effectively completes this: since the configuration of new VMs in the provisioner is handled by administrator-configurable code, arbitrary changes can be made at will, with the current `libvirt_schema` libraries serving as standardized known-good examples.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: parallelvirtualcluster/pvc#93
No description provided.