[PATCH v2 0/8] Introduce network backed NVRAM

Rohit Kumar rohit.kumar3 at nutanix.com
Fri Apr 8 17:48:43 UTC 2022


Libvirt domain XML currently allows only local filepaths 
that can be used to specify a NVRAM disk.
Since, VMs can migrate across hypervisor hosts, it should be
possible to allocate NVRAM disks on network storage for
uninterrupted access.

This series extends the NVRAM element to support hosting over
network-backed disks, for high availability.
It achieves this by embedding virStorageSource pointer for
nvram into _virDomainLoaderDef.

It introduces a 'type' attribute for NVRAM element to
specify 'file' vs 'network' backed NVRAM.

Changes v1->v2:
 - Split the patch into smaller patches
 - Added unit test
 - Updated the doc
 - Addressed Peter's comment on v1 (https://listman.redhat.com/archives/libvir-list/2022-March/229684.html)

Rohit Kumar (8):
  Make NVRAM a virStorageSource type.
  Add support to parse/format virStorageSource type NVRAM
  Validate remote store NVRAM
  Cleanup diskSourceNetwork and diskSourceFile schema
  Update XML schema to support network backed NVRAM
  Update NVRAM documentation
  Add unit test for network backed NVRAM
  Add unit test to support new 'file' type NVRAM

 docs/formatdomain.rst                         | 43 +++++++--
 src/conf/domain_conf.c                        | 88 ++++++++++++++++---
 src/conf/domain_conf.h                        |  2 +-
 src/conf/schemas/domaincommon.rng             | 80 +++++++++++------
 src/qemu/qemu_cgroup.c                        |  3 +-
 src/qemu/qemu_command.c                       |  2 +-
 src/qemu/qemu_domain.c                        | 14 +--
 src/qemu/qemu_driver.c                        |  5 +-
 src/qemu/qemu_firmware.c                      | 23 +++--
 src/qemu/qemu_namespace.c                     |  5 +-
 src/qemu/qemu_process.c                       |  5 +-
 src/qemu/qemu_validate.c                      | 22 +++++
 src/security/security_dac.c                   |  6 +-
 src/security/security_selinux.c               |  6 +-
 src/security/virt-aa-helper.c                 |  5 +-
 src/vbox/vbox_common.c                        |  2 +-
 .../bios-nvram-file.x86_64-latest.args        | 37 ++++++++
 tests/qemuxml2argvdata/bios-nvram-file.xml    | 23 +++++
 .../bios-nvram-network.x86_64-latest.args     | 37 ++++++++
 tests/qemuxml2argvdata/bios-nvram-network.xml | 25 ++++++
 tests/qemuxml2argvtest.c                      |  2 +
 21 files changed, 360 insertions(+), 75 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.xml
 create mode 100644 tests/qemuxml2argvdata/bios-nvram-network.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/bios-nvram-network.xml

-- 
2.25.1



More information about the libvir-list mailing list