[PATCH v4 00/13] Introduce network backed NVRAM

Peter Krempa posted 13 patches 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1654256672.git.pkrempa@redhat.com
docs/formatdomain.rst                         |  37 +++++
src/conf/domain_conf.c                        | 136 ++++++++++++++----
src/conf/domain_conf.h                        |   3 +-
src/conf/schemas/domaincommon.rng             |   9 +-
src/qemu/qemu_cgroup.c                        |   2 +-
src/qemu/qemu_command.c                       |  22 +--
src/qemu/qemu_domain.c                        |  58 +++++---
src/qemu/qemu_domain.h                        |   9 +-
src/qemu/qemu_driver.c                        |   5 +-
src/qemu/qemu_firmware.c                      |  30 +++-
src/qemu/qemu_namespace.c                     |   6 +-
src/qemu/qemu_process.c                       |  11 +-
src/qemu/qemu_validate.c                      | 115 +++++++++++----
src/security/security_dac.c                   |  19 +--
src/security/security_selinux.c               |  21 +--
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, 696 insertions(+), 121 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
[PATCH v4 00/13] Introduce network backed NVRAM
Posted by Peter Krempa 1 year, 10 months ago
This version fixes multiple problems which I'd point out when reviewing:
 - virStorageSource is properly used in all places
 - logic for initializing NVRAM imgages from template is fixed to avoid
   touching network backed nvrams
 - documentation now states the correct version
 - some cleanups
 - dropped NEWS entry stashed in a patch with other stuff
 - fixed/simplified schema

Rohit, please give it a try. I didn't yet have time to test this beyond
unit tests.

This series can also be fetched from my repo:

 git fetch https://gitlab.com/pipo.sk/libvirt.git network-nvram2

Peter Krempa (9):
  qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom
    nodename
  qemuBuildPflashBlockdevCommandLine: Take virDomainObj instead of
    private data
  qemu: Use 'def->os.loader->nvram' directly instead of 'priv->pflash1'
  qemu: Properly setup the NVRAM virStorageSource
  qemuProcessReconnect: Don't re-instantiate pflash storage source
  qemuDomainInitializePflashStorageSource: Properly and fully initialize
    nvram source
  qemuFirmwareFillDomain: Don't fill in firmware for network backed
    nvram
  conf: Extract formatting of NVRAM out of virDomainLoaderDefFormat
  virDomainHugepagesFormat: Use virXMLFormatElementEmpty

Rohit Kumar (4):
  conf: Convert def->os.loader->nvram a virStorageSource
  qemu: validate: Reject virStorageSource features we don't want to
    support with nvram
  conf: Add support to parse/format <source> for NVRAM
  Add unit tests for new specification of nvram.

 docs/formatdomain.rst                         |  37 +++++
 src/conf/domain_conf.c                        | 136 ++++++++++++++----
 src/conf/domain_conf.h                        |   3 +-
 src/conf/schemas/domaincommon.rng             |   9 +-
 src/qemu/qemu_cgroup.c                        |   2 +-
 src/qemu/qemu_command.c                       |  22 +--
 src/qemu/qemu_domain.c                        |  58 +++++---
 src/qemu/qemu_domain.h                        |   9 +-
 src/qemu/qemu_driver.c                        |   5 +-
 src/qemu/qemu_firmware.c                      |  30 +++-
 src/qemu/qemu_namespace.c                     |   6 +-
 src/qemu/qemu_process.c                       |  11 +-
 src/qemu/qemu_validate.c                      | 115 +++++++++++----
 src/security/security_dac.c                   |  19 +--
 src/security/security_selinux.c               |  21 +--
 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, 696 insertions(+), 121 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

-- 
2.35.3
Re: [PATCH v4 00/13] Introduce network backed NVRAM
Posted by Rohit Kumar 1 year, 10 months ago
On 03/06/22 5:18 pm, Peter Krempa wrote:
> This version fixes multiple problems which I'd point out when reviewing:
>   - virStorageSource is properly used in all places
>   - logic for initializing NVRAM imgages from template is fixed to avoid
>     touching network backed nvrams
>   - documentation now states the correct version
>   - some cleanups
>   - dropped NEWS entry stashed in a patch with other stuff
>   - fixed/simplified schema
>
> Rohit, please give it a try. I didn't yet have time to test this beyond
> unit tests.

Hi Peter,

As we discussed on v3 patchset 
(https://listman.redhat.com/archives/libvir-list/2022-June/232446.html).
Feel free to add "Tested-by:" tag on my behalf.

Thanks,
Rohit.

>
> This series can also be fetched from my repo:
>
>   git fetch https://urldefense.proofpoint.com/v2/url?u=https-3A__gitlab.com_pipo.sk_libvirt.git&d=DwIDAg&c=s883GpUCOChKOHiocYtGcg&r=ABSkr7gy7ZTfApFfI-Xxt1gZNtsDDiXoXOXc0OrkyFs&m=od4IcpmmT4YCh7bBSRnS4MumagpKTirdeOxDp2lv98nok7YWpvHy7HzIKLFwpIe9&s=2B9-Prbkp4meru1i3hbpQPOpZAc5-m3_8wtCv_se5Ow&e=  network-nvram2
>
> Peter Krempa (9):
>    qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom
>      nodename
>    qemuBuildPflashBlockdevCommandLine: Take virDomainObj instead of
>      private data
>    qemu: Use 'def->os.loader->nvram' directly instead of 'priv->pflash1'
>    qemu: Properly setup the NVRAM virStorageSource
>    qemuProcessReconnect: Don't re-instantiate pflash storage source
>    qemuDomainInitializePflashStorageSource: Properly and fully initialize
>      nvram source
>    qemuFirmwareFillDomain: Don't fill in firmware for network backed
>      nvram
>    conf: Extract formatting of NVRAM out of virDomainLoaderDefFormat
>    virDomainHugepagesFormat: Use virXMLFormatElementEmpty
>
> Rohit Kumar (4):
>    conf: Convert def->os.loader->nvram a virStorageSource
>    qemu: validate: Reject virStorageSource features we don't want to
>      support with nvram
>    conf: Add support to parse/format <source> for NVRAM
>    Add unit tests for new specification of nvram.
>
>   docs/formatdomain.rst                         |  37 +++++
>   src/conf/domain_conf.c                        | 136 ++++++++++++++----
>   src/conf/domain_conf.h                        |   3 +-
>   src/conf/schemas/domaincommon.rng             |   9 +-
>   src/qemu/qemu_cgroup.c                        |   2 +-
>   src/qemu/qemu_command.c                       |  22 +--
>   src/qemu/qemu_domain.c                        |  58 +++++---
>   src/qemu/qemu_domain.h                        |   9 +-
>   src/qemu/qemu_driver.c                        |   5 +-
>   src/qemu/qemu_firmware.c                      |  30 +++-
>   src/qemu/qemu_namespace.c                     |   6 +-
>   src/qemu/qemu_process.c                       |  11 +-
>   src/qemu/qemu_validate.c                      | 115 +++++++++++----
>   src/security/security_dac.c                   |  19 +--
>   src/security/security_selinux.c               |  21 +--
>   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, 696 insertions(+), 121 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
>