[libvirt] [PATCH v5 0/6] libxl: PVHv2 support

Marek Marczykowski-Górecki posted 6 patches 2 weeks ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.5f4ff1b914c1b5ad5c1d10f04d4f12b760933007.1543260847.git-series.marmarek@invisiblethingslab.com
docs/formatcaps.html.in                     |  9 ++-
docs/news.xml                               |  8 ++-
docs/schemas/domaincommon.rng               |  2 +-
m4/virt-driver-libxl.m4                     |  3 +-
src/conf/domain_conf.c                      | 10 ++-
src/conf/domain_conf.h                      |  1 +-
src/libxl/libxl_capabilities.c              | 38 +++++++++--
src/libxl/libxl_conf.c                      | 78 ++++++++++++++++------
src/libxl/libxl_driver.c                    |  6 +-
src/xenconfig/xen_common.c                  | 25 +++++--
src/xenconfig/xen_xl.c                      |  5 +-
tests/libxlxml2domconfigdata/basic-pvh.json | 49 ++++++++++++++-
tests/libxlxml2domconfigdata/basic-pvh.xml  | 28 ++++++++-
tests/libxlxml2domconfigtest.c              |  3 +-
tests/testutilsxen.c                        | 20 +++++-
tests/xlconfigdata/test-fullvirt-type.cfg   | 21 ++++++-
tests/xlconfigdata/test-fullvirt-type.xml   | 27 ++++++++-
tests/xlconfigdata/test-paravirt-type.cfg   | 13 ++++-
tests/xlconfigdata/test-paravirt-type.xml   | 25 +++++++-
tests/xlconfigdata/test-pvh-type.cfg        | 13 ++++-
tests/xlconfigdata/test-pvh-type.xml        | 25 +++++++-
tests/xlconfigtest.c                        |  3 +-
22 files changed, 375 insertions(+), 37 deletions(-)
create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.json
create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.xml
create mode 100644 tests/xlconfigdata/test-fullvirt-type.cfg
create mode 100644 tests/xlconfigdata/test-fullvirt-type.xml
create mode 100644 tests/xlconfigdata/test-paravirt-type.cfg
create mode 100644 tests/xlconfigdata/test-paravirt-type.xml
create mode 100644 tests/xlconfigdata/test-pvh-type.cfg
create mode 100644 tests/xlconfigdata/test-pvh-type.xml

[libvirt] [PATCH v5 0/6] libxl: PVHv2 support

Posted by Marek Marczykowski-Górecki 2 weeks ago
This is a respin of my old PVHv1 patch[1], converted to PVHv2. The actual code
use "PVH" name.

It introduce new guest ostype VIR_DOMAIN_OSTYPE_XENPVH, and also PVH machine,
machine="xenpvh" attribute is used.

Since PVHv2 relies on features in newer Xen versions, I needed to convert also
some older code. For example b_info->u.hvm.nested_hvm was deprecated in favor
of b_info->nested_hvm. While the code do handle both old and new versions
(obviously refusing PVHv2 if Xen is too old), this isn't the case for tests.
How it should be handled, if at all?

To test this with all supported Xen versions (4.6, 4.7, 4.8, 4.9, 4.10, 4.11,
unstable), I've extended travis configuration for that[2]. It isn't exactly
trivial to build Xen 4.6-4.8 on recent system, mostly thanks to -Werror and new
warnings, but also other toolchain changes. Because of this, the configuration
is rather hacky. But it may be a good idea to include multiple pre-built Xen
versions in the base docker image and choose one using ./configure options (maybe
together with some symlink or environment variable like PKG_CONFIG_PATH).

[1] https://www.redhat.com/archives/libvir-list/2016-August/msg00376.html
[2] https://github.com/marmarek/libvirt/tree/travis-xen-pvh

Changes in v2:
 - drop "docs: don't refer to deprecated 'linux' ostype in example" patch -
   migrating further away from "linux" os type is offtopic to this series and
   apparently is a controversial thing
 - drop "docs: update domain schema for machine attribute" patch -
   already applied
 - apply review comments from Jim
 - rebase on master

Changes in v3:
 - rebase on master, drop already applied patches
 - use #ifdef LIBXL_DOMAIN_TYPE_PVH to detect PVH support, fix compilation
   failure on older Xen
 - exclude PVH from VIR_DOMAIN_OSTYPE_XEN <-> VIR_DOMAIN_OSTYPE_LINUX conversion
 - fix reported capabilities for PVH

Changes in v4:
 - change PVH support detection method

Changes in v5:
 - use VIR_DOMAIN_OSTYPE_XENPVH
 - add news entry

Marek Marczykowski-Górecki (6):
  libxl: reorder libxlMakeDomBuildInfo for upcoming PVH support
  libxl: add support for PVH
  tests: add basic Xen PVH test
  xenconfig: add support for parsing type= xl config entry
  xenconfig: add support for type="pvh"
  news: add libxl PVH

 docs/formatcaps.html.in                     |  9 ++-
 docs/news.xml                               |  8 ++-
 docs/schemas/domaincommon.rng               |  2 +-
 m4/virt-driver-libxl.m4                     |  3 +-
 src/conf/domain_conf.c                      | 10 ++-
 src/conf/domain_conf.h                      |  1 +-
 src/libxl/libxl_capabilities.c              | 38 +++++++++--
 src/libxl/libxl_conf.c                      | 78 ++++++++++++++++------
 src/libxl/libxl_driver.c                    |  6 +-
 src/xenconfig/xen_common.c                  | 25 +++++--
 src/xenconfig/xen_xl.c                      |  5 +-
 tests/libxlxml2domconfigdata/basic-pvh.json | 49 ++++++++++++++-
 tests/libxlxml2domconfigdata/basic-pvh.xml  | 28 ++++++++-
 tests/libxlxml2domconfigtest.c              |  3 +-
 tests/testutilsxen.c                        | 20 +++++-
 tests/xlconfigdata/test-fullvirt-type.cfg   | 21 ++++++-
 tests/xlconfigdata/test-fullvirt-type.xml   | 27 ++++++++-
 tests/xlconfigdata/test-paravirt-type.cfg   | 13 ++++-
 tests/xlconfigdata/test-paravirt-type.xml   | 25 +++++++-
 tests/xlconfigdata/test-pvh-type.cfg        | 13 ++++-
 tests/xlconfigdata/test-pvh-type.xml        | 25 +++++++-
 tests/xlconfigtest.c                        |  3 +-
 22 files changed, 375 insertions(+), 37 deletions(-)
 create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.json
 create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.xml
 create mode 100644 tests/xlconfigdata/test-fullvirt-type.cfg
 create mode 100644 tests/xlconfigdata/test-fullvirt-type.xml
 create mode 100644 tests/xlconfigdata/test-paravirt-type.cfg
 create mode 100644 tests/xlconfigdata/test-paravirt-type.xml
 create mode 100644 tests/xlconfigdata/test-pvh-type.cfg
 create mode 100644 tests/xlconfigdata/test-pvh-type.xml

base-commit: 794af564f4c96044b935ab898acc8e61a58b6bb5
-- 
git-series 0.9.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH v5 0/6] libxl: PVHv2 support

Posted by Jim Fehlig 2 weeks ago
Hi Marek,

Thanks for all of the work! I've pushed this series, just in time for the 4.10.0 
freeze :-). Please keep an eye out for any Coverity fallout (or anything else we 
may have missed) that needs fixed before the release.

Regards,
Jim

On 11/26/18 12:34 PM, Marek Marczykowski-Górecki wrote:
> This is a respin of my old PVHv1 patch[1], converted to PVHv2. The actual code
> use "PVH" name.
> 
> It introduce new guest ostype VIR_DOMAIN_OSTYPE_XENPVH, and also PVH machine,
> machine="xenpvh" attribute is used.
> 
> Since PVHv2 relies on features in newer Xen versions, I needed to convert also
> some older code. For example b_info->u.hvm.nested_hvm was deprecated in favor
> of b_info->nested_hvm. While the code do handle both old and new versions
> (obviously refusing PVHv2 if Xen is too old), this isn't the case for tests.
> How it should be handled, if at all?
> 
> To test this with all supported Xen versions (4.6, 4.7, 4.8, 4.9, 4.10, 4.11,
> unstable), I've extended travis configuration for that[2]. It isn't exactly
> trivial to build Xen 4.6-4.8 on recent system, mostly thanks to -Werror and new
> warnings, but also other toolchain changes. Because of this, the configuration
> is rather hacky. But it may be a good idea to include multiple pre-built Xen
> versions in the base docker image and choose one using ./configure options (maybe
> together with some symlink or environment variable like PKG_CONFIG_PATH).
> 
> [1] https://www.redhat.com/archives/libvir-list/2016-August/msg00376.html
> [2] https://github.com/marmarek/libvirt/tree/travis-xen-pvh
> 
> Changes in v2:
>   - drop "docs: don't refer to deprecated 'linux' ostype in example" patch -
>     migrating further away from "linux" os type is offtopic to this series and
>     apparently is a controversial thing
>   - drop "docs: update domain schema for machine attribute" patch -
>     already applied
>   - apply review comments from Jim
>   - rebase on master
> 
> Changes in v3:
>   - rebase on master, drop already applied patches
>   - use #ifdef LIBXL_DOMAIN_TYPE_PVH to detect PVH support, fix compilation
>     failure on older Xen
>   - exclude PVH from VIR_DOMAIN_OSTYPE_XEN <-> VIR_DOMAIN_OSTYPE_LINUX conversion
>   - fix reported capabilities for PVH
> 
> Changes in v4:
>   - change PVH support detection method
> 
> Changes in v5:
>   - use VIR_DOMAIN_OSTYPE_XENPVH
>   - add news entry
> 
> Marek Marczykowski-Górecki (6):
>    libxl: reorder libxlMakeDomBuildInfo for upcoming PVH support
>    libxl: add support for PVH
>    tests: add basic Xen PVH test
>    xenconfig: add support for parsing type= xl config entry
>    xenconfig: add support for type="pvh"
>    news: add libxl PVH
> 
>   docs/formatcaps.html.in                     |  9 ++-
>   docs/news.xml                               |  8 ++-
>   docs/schemas/domaincommon.rng               |  2 +-
>   m4/virt-driver-libxl.m4                     |  3 +-
>   src/conf/domain_conf.c                      | 10 ++-
>   src/conf/domain_conf.h                      |  1 +-
>   src/libxl/libxl_capabilities.c              | 38 +++++++++--
>   src/libxl/libxl_conf.c                      | 78 ++++++++++++++++------
>   src/libxl/libxl_driver.c                    |  6 +-
>   src/xenconfig/xen_common.c                  | 25 +++++--
>   src/xenconfig/xen_xl.c                      |  5 +-
>   tests/libxlxml2domconfigdata/basic-pvh.json | 49 ++++++++++++++-
>   tests/libxlxml2domconfigdata/basic-pvh.xml  | 28 ++++++++-
>   tests/libxlxml2domconfigtest.c              |  3 +-
>   tests/testutilsxen.c                        | 20 +++++-
>   tests/xlconfigdata/test-fullvirt-type.cfg   | 21 ++++++-
>   tests/xlconfigdata/test-fullvirt-type.xml   | 27 ++++++++-
>   tests/xlconfigdata/test-paravirt-type.cfg   | 13 ++++-
>   tests/xlconfigdata/test-paravirt-type.xml   | 25 +++++++-
>   tests/xlconfigdata/test-pvh-type.cfg        | 13 ++++-
>   tests/xlconfigdata/test-pvh-type.xml        | 25 +++++++-
>   tests/xlconfigtest.c                        |  3 +-
>   22 files changed, 375 insertions(+), 37 deletions(-)
>   create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.json
>   create mode 100644 tests/libxlxml2domconfigdata/basic-pvh.xml
>   create mode 100644 tests/xlconfigdata/test-fullvirt-type.cfg
>   create mode 100644 tests/xlconfigdata/test-fullvirt-type.xml
>   create mode 100644 tests/xlconfigdata/test-paravirt-type.cfg
>   create mode 100644 tests/xlconfigdata/test-paravirt-type.xml
>   create mode 100644 tests/xlconfigdata/test-pvh-type.cfg
>   create mode 100644 tests/xlconfigdata/test-pvh-type.xml
> 
> base-commit: 794af564f4c96044b935ab898acc8e61a58b6bb5
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list