[PATCH v3 0/5] Introduce network backed NVRAM

Rohit Kumar rohit.kumar3 at nutanix.com
Mon May 16 10:33:21 UTC 2022


Ping.

Hi Peter,
can you please take a look on this v3 patchset ?

Thanks,
Rohit

On 09/05/22 12:38 pm, Rohit Kumar wrote:
> Ping.
> Hi, requesting review on this patchset.
> Thanks!
>
> On 04/05/22 10:21 pm, Rohit Kumar wrote:
>> Libvirt domain XML currently allows only local filepaths
>> that can be used to specify a NVRAM disk. It should be
>> possible to support NVRAM disks on network storage as
>> it would give flexibility to start the VM on any host
>> without having to worry about where to get the latest
>> nvram image.
>>
>> This series extends the NVRAM element to support hosting over
>> network-backed disks.
>> 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.
>>
>> XML with new annotation:
>>
>> <nvram type='network'>
>>    <source protocol='iscsi' 
>> name='iqn.2013-07.com.example:iscsi-nopool/0'>
>>      <host name='example.com' port='6000'/>
>>        <auth username='myname'>
>>          <secret type='iscsi' usage='mycluster_myname'/>
>>        </auth>
>>      </host>
>>    </source>
>> </nvram>
>>
>> or
>>
>> <nvram type='network'>
>>    <source protocol='nbd' name='bar'>
>>      <host name='example.org' port='6000'/>
>>    </source>
>> </nvram>
>>
>> or
>>
>> <nvram type='file'>
>>    <source file='/var/lib/libvirt/nvram/guest_VARS.fd'/>
>> </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)
>>
>> Changes v2->v3:
>>   - Added authentication with 'iscsi' protocol unit test
>>   - Updated the validation logic
>>   - Addressed Peter's other comments on v2 
>> patch(https://listman.redhat.com/archives/libvir-list/2022-April/229971.html)
>>
>> Rohit Kumar (5):
>>    Make NVRAM a virStorageSource type.
>>    Add support to parse/format/validate virStorageSource type NVRAM
>>    Update schema, docs, and validation logic to support network backed
>>      NVRAM
>>    Add unit tests for network backed NVRAM
>>    Add unit test to support new 'file' type NVRAM
>>
>>   NEWS.rst                                      |   5 +
>>   docs/formatdomain.rst                         |  34 +++++-
>>   src/conf/domain_conf.c                        | 115 +++++++++++++++---
>>   src/conf/domain_conf.h                        |   3 +-
>>   src/conf/schemas/domaincommon.rng             |  21 +++-
>>   src/qemu/qemu_cgroup.c                        |   3 +-
>>   src/qemu/qemu_command.c                       |   2 +-
>>   src/qemu/qemu_domain.c                        |  23 +++-
>>   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                      |  71 +++++++++++
>>   src/security/security_dac.c                   |   6 +-
>>   src/security/security_selinux.c               |   6 +-
>>   src/security/virt-aa-helper.c                 |   5 +-
>>   src/vbox/vbox_common.c                        |   3 +-
>>   .../bios-nvram-file.x86_64-latest.args        |  37 ++++++
>>   tests/qemuxml2argvdata/bios-nvram-file.xml    |  23 ++++
>>   .../bios-nvram-network-iscsi.x86_64-4.1.0.err |   1 +
>>   ...ios-nvram-network-iscsi.x86_64-latest.args |  38 ++++++
>>   .../bios-nvram-network-iscsi.xml              |  31 +++++
>>   .../bios-nvram-network-nbd.x86_64-latest.args |  37 ++++++
>>   .../bios-nvram-network-nbd.xml                |  28 +++++
>>   tests/qemuxml2argvtest.c                      |   4 +
>>   .../bios-nvram-file.x86_64-latest.xml         |  39 ++++++
>>   ...bios-nvram-network-iscsi.x86_64-latest.xml |  44 +++++++
>>   .../bios-nvram-network-nbd.x86_64-latest.xml  |  41 +++++++
>>   tests/qemuxml2xmltest.c                       |   3 +
>>   29 files changed, 618 insertions(+), 43 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-iscsi.x86_64-4.1.0.err
>>   create mode 100644 
>> tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-latest.args
>>   create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.xml
>>   create mode 100644 
>> tests/qemuxml2argvdata/bios-nvram-network-nbd.x86_64-latest.args
>>   create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.xml
>>   create mode 100644 
>> tests/qemuxml2xmloutdata/bios-nvram-file.x86_64-latest.xml
>>   create mode 100644 
>> tests/qemuxml2xmloutdata/bios-nvram-network-iscsi.x86_64-latest.xml
>>   create mode 100644 
>> tests/qemuxml2xmloutdata/bios-nvram-network-nbd.x86_64-latest.xml
>>


More information about the libvir-list mailing list