All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Fehlig <jfehlig@suse.com>
To: Ian Campbell <ian.campbell@citrix.com>,
	"Daniel P. Berrange" <berrange@redhat.com>
Cc: libvir-list@redhat.com, xen-devel@lists.xen.org
Subject: Re: [PATCH LIBVIRT v1 1/2] libxl: Correct value for xendConfigVersion to xen{Parse, Format}ConfigCommon
Date: Thu, 03 Dec 2015 23:13:06 -0700	[thread overview]
Message-ID: <56612EF2.7070308@suse.com> (raw)
In-Reply-To: <1448557174-10597-1-git-send-email-ian.campbell@citrix.com>

On 11/26/2015 09:59 AM, Ian Campbell wrote:
> libxlConnectDomainXMLFromNative calls both xenParseXM and xenParseXL
> with cfg->verInfo->xen_version_major, however AFAICT they both (either
> inherently, or through there use of xenParseConfigCommon expect a
> value from xenConfigVersionEnum (which does not correspond to
> xen_version_major).

I recall being a little apprehensive about using xen_version_major when writing
the code, and apparently that was justified. But now that we are revisiting
this, I wonder if we care about these old xend config versions at all. Is anyone
even running Xen 3.0.x, or 3.1.x, particularly with a newish libvirt? IMO we
could drop all of this xend config nonsense and go with the code associated with
the last xend config version, i.e. XEND_CONFIG_VERSION_3_1_0.

And while mentioning dropping support for these old xend config versions, do I
dare mention dropping the xend driver altogether? :-) It will certainly need to
be done some day. Question is whether that's a bit premature now.

Regards,
Jim

>
> The actual xend backend passes priv->xendConfigVersion, which seems to
> have been gotten from xend and I assume conforms to that enum, via the
> node/xend_config_format value in the xend sxp.
>
> Add a new value to that enum, XEND_CONFIG_VERSION_4_0_0, on the basis
> that the xl syntax was originally based on (and intended to be
> compatible with) xm circa that point in time and that I will shortly
> want to add handling of a cfg file difference which occured in xend in
> 4.0.0 (maxvcpus instead of vpu_avail bitmask).
>
> Pass this from every caller of xen{Parse,Format}X? in the libxl
> driver.
>
> Update xlconfigtest to pass this new value, and regenerate the output
> files with that (all of the changes are expected AFAICT).
>
> The enum and the parameters are already slightly misnamed now (since
> they kind-of apply to xl too), but I didn't go through and rename
> them. In the future we may want to add new values to the enum to
> reflect evolution of the xl cfg syntax (xend was essentially static
> from 4.0 until it was removed), at that point renaming should probably
> be considered.
>
> Note also that xend's xend_config_format remained at 4 until it's
> removal in Xen 4.5, so there will be no actual change in behaviour for
> xm/xend here.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> ---
>  src/libxl/libxl_driver.c                                |  8 ++++----
>  src/xenconfig/xen_sxpr.h                                |  1 +
>  tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg |  3 ++-
>  tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml |  2 +-
>  tests/xlconfigdata/test-fullvirt-multiusb.cfg           |  3 ++-
>  tests/xlconfigdata/test-fullvirt-multiusb.xml           |  2 +-
>  tests/xlconfigdata/test-new-disk.cfg                    |  3 ++-
>  tests/xlconfigdata/test-new-disk.xml                    |  2 +-
>  tests/xlconfigdata/test-spice-features.cfg              |  3 ++-
>  tests/xlconfigdata/test-spice-features.xml              |  2 +-
>  tests/xlconfigdata/test-spice.cfg                       |  3 ++-
>  tests/xlconfigdata/test-spice.xml                       |  2 +-
>  tests/xlconfigtest.c                                    | 10 +++++-----
>  13 files changed, 25 insertions(+), 19 deletions(-)
>
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index 35d7fae..892ae44 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -2587,14 +2587,14 @@ libxlConnectDomainXMLFromNative(virConnectPtr conn,
>              goto cleanup;
>          if (!(def = xenParseXL(conf,
>                                 cfg->caps,
> -                               cfg->verInfo->xen_version_major)))
> +                               XEND_CONFIG_VERSION_4_0_0)))
>              goto cleanup;
>      } else if (STREQ(nativeFormat, LIBXL_CONFIG_FORMAT_XM)) {
>          if (!(conf = virConfReadMem(nativeConfig, strlen(nativeConfig), 0)))
>              goto cleanup;
>  
>          if (!(def = xenParseXM(conf,
> -                               cfg->verInfo->xen_version_major,
> +                               XEND_CONFIG_VERSION_4_0_0,
>                                 cfg->caps)))
>              goto cleanup;
>      } else if (STREQ(nativeFormat, LIBXL_CONFIG_FORMAT_SEXPR)) {
> @@ -2647,10 +2647,10 @@ libxlConnectDomainXMLToNative(virConnectPtr conn, const char * nativeFormat,
>          goto cleanup;
>  
>      if (STREQ(nativeFormat, LIBXL_CONFIG_FORMAT_XL)) {
> -        if (!(conf = xenFormatXL(def, conn, cfg->verInfo->xen_version_major)))
> +        if (!(conf = xenFormatXL(def, conn, XEND_CONFIG_VERSION_4_0_0)))
>              goto cleanup;
>      } else if (STREQ(nativeFormat, LIBXL_CONFIG_FORMAT_XM)) {
> -        if (!(conf = xenFormatXM(conn, def, cfg->verInfo->xen_version_major)))
> +        if (!(conf = xenFormatXM(conn, def, XEND_CONFIG_VERSION_4_0_0)))
>              goto cleanup;
>      } else {
>  
> diff --git a/src/xenconfig/xen_sxpr.h b/src/xenconfig/xen_sxpr.h
> index f354a50..bb9ed3c 100644
> --- a/src/xenconfig/xen_sxpr.h
> +++ b/src/xenconfig/xen_sxpr.h
> @@ -37,6 +37,7 @@ typedef enum {
>      XEND_CONFIG_VERSION_3_0_3 = 2,
>      XEND_CONFIG_VERSION_3_0_4 = 3,
>      XEND_CONFIG_VERSION_3_1_0 = 4,
> +    XEND_CONFIG_VERSION_4_0_0 = 5,
>  } xenConfigVersionEnum;
>  
>  /* helper functions to get the dom id from a sexpr */
> diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg
> index 1fac3a5..f452af6 100644
> --- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg
> +++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg
> @@ -8,6 +8,7 @@ acpi = 1
>  apic = 1
>  hap = 0
>  viridian = 0
> +rtc_timeoffset = 0
>  localtime = 0
>  on_poweroff = "destroy"
>  on_reboot = "restart"
> @@ -18,7 +19,7 @@ vnc = 1
>  vncunused = 1
>  vnclisten = "127.0.0.1"
>  vncpasswd = "123poi"
> -vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
>  parallel = "none"
>  serial = "none"
>  builder = "hvm"
> diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml
> index 414f645..5298d19 100644
> --- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml
> +++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml
> @@ -17,7 +17,7 @@
>      <apic/>
>      <pae/>
>    </features>
> -  <clock offset='utc' adjustment='reset'/>
> +  <clock offset='variable' adjustment='0' basis='utc'/>
>    <on_poweroff>destroy</on_poweroff>
>    <on_reboot>restart</on_reboot>
>    <on_crash>restart</on_crash>
> diff --git a/tests/xlconfigdata/test-fullvirt-multiusb.cfg b/tests/xlconfigdata/test-fullvirt-multiusb.cfg
> index 68a2614..d0482a8 100755
> --- a/tests/xlconfigdata/test-fullvirt-multiusb.cfg
> +++ b/tests/xlconfigdata/test-fullvirt-multiusb.cfg
> @@ -8,6 +8,7 @@ acpi = 1
>  apic = 1
>  hap = 0
>  viridian = 0
> +rtc_timeoffset = 0
>  localtime = 0
>  on_poweroff = "destroy"
>  on_reboot = "restart"
> @@ -18,7 +19,7 @@ vnc = 1
>  vncunused = 1
>  vnclisten = "127.0.0.1"
>  vncpasswd = "123poi"
> -vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
>  parallel = "none"
>  serial = "none"
>  builder = "hvm"
> diff --git a/tests/xlconfigdata/test-fullvirt-multiusb.xml b/tests/xlconfigdata/test-fullvirt-multiusb.xml
> index 642c242..7331613 100644
> --- a/tests/xlconfigdata/test-fullvirt-multiusb.xml
> +++ b/tests/xlconfigdata/test-fullvirt-multiusb.xml
> @@ -14,7 +14,7 @@
>      <apic/>
>      <pae/>
>    </features>
> -  <clock offset='utc' adjustment='reset'/>
> +  <clock offset='variable' adjustment='0' basis='utc'/>
>    <on_poweroff>destroy</on_poweroff>
>    <on_reboot>restart</on_reboot>
>    <on_crash>restart</on_crash>
> diff --git a/tests/xlconfigdata/test-new-disk.cfg b/tests/xlconfigdata/test-new-disk.cfg
> index 9e9f106..9b9fb36 100644
> --- a/tests/xlconfigdata/test-new-disk.cfg
> +++ b/tests/xlconfigdata/test-new-disk.cfg
> @@ -8,6 +8,7 @@ acpi = 1
>  apic = 1
>  hap = 0
>  viridian = 0
> +rtc_timeoffset = 0
>  localtime = 0
>  on_poweroff = "destroy"
>  on_reboot = "restart"
> @@ -17,7 +18,7 @@ sdl = 0
>  vnc = 1
>  vncunused = 1
>  vnclisten = "127.0.0.1"
> -vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
>  parallel = "none"
>  serial = "none"
>  builder = "hvm"
> diff --git a/tests/xlconfigdata/test-new-disk.xml b/tests/xlconfigdata/test-new-disk.xml
> index 1c96a62..7a74926 100644
> --- a/tests/xlconfigdata/test-new-disk.xml
> +++ b/tests/xlconfigdata/test-new-disk.xml
> @@ -14,7 +14,7 @@
>      <apic/>
>      <pae/>
>    </features>
> -  <clock offset='utc' adjustment='reset'/>
> +  <clock offset='variable' adjustment='0' basis='utc'/>
>    <on_poweroff>destroy</on_poweroff>
>    <on_reboot>restart</on_reboot>
>    <on_crash>restart</on_crash>
> diff --git a/tests/xlconfigdata/test-spice-features.cfg b/tests/xlconfigdata/test-spice-features.cfg
> index c3e7111..152cb27 100644
> --- a/tests/xlconfigdata/test-spice-features.cfg
> +++ b/tests/xlconfigdata/test-spice-features.cfg
> @@ -8,12 +8,13 @@ acpi = 1
>  apic = 1
>  hap = 0
>  viridian = 0
> +rtc_timeoffset = 0
>  localtime = 0
>  on_poweroff = "destroy"
>  on_reboot = "restart"
>  on_crash = "restart"
>  device_model = "/usr/lib/xen/bin/qemu-dm"
> -vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
>  parallel = "none"
>  serial = "none"
>  builder = "hvm"
> diff --git a/tests/xlconfigdata/test-spice-features.xml b/tests/xlconfigdata/test-spice-features.xml
> index 8f3fcf5..10e74e0 100644
> --- a/tests/xlconfigdata/test-spice-features.xml
> +++ b/tests/xlconfigdata/test-spice-features.xml
> @@ -14,7 +14,7 @@
>      <apic/>
>      <pae/>
>    </features>
> -  <clock offset='utc' adjustment='reset'/>
> +  <clock offset='variable' adjustment='0' basis='utc'/>
>    <on_poweroff>destroy</on_poweroff>
>    <on_reboot>restart</on_reboot>
>    <on_crash>restart</on_crash>
> diff --git a/tests/xlconfigdata/test-spice.cfg b/tests/xlconfigdata/test-spice.cfg
> index d89f2ba..1a96114 100644
> --- a/tests/xlconfigdata/test-spice.cfg
> +++ b/tests/xlconfigdata/test-spice.cfg
> @@ -8,12 +8,13 @@ acpi = 1
>  apic = 1
>  hap = 0
>  viridian = 0
> +rtc_timeoffset = 0
>  localtime = 0
>  on_poweroff = "destroy"
>  on_reboot = "restart"
>  on_crash = "restart"
>  device_model = "/usr/lib/xen/bin/qemu-dm"
> -vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
> +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
>  parallel = "none"
>  serial = "none"
>  builder = "hvm"
> diff --git a/tests/xlconfigdata/test-spice.xml b/tests/xlconfigdata/test-spice.xml
> index e5b43d9..0884d76 100644
> --- a/tests/xlconfigdata/test-spice.xml
> +++ b/tests/xlconfigdata/test-spice.xml
> @@ -14,7 +14,7 @@
>      <apic/>
>      <pae/>
>    </features>
> -  <clock offset='utc' adjustment='reset'/>
> +  <clock offset='variable' adjustment='0' basis='utc'/>
>    <on_poweroff>destroy</on_poweroff>
>    <on_reboot>restart</on_reboot>
>    <on_crash>restart</on_crash>
> diff --git a/tests/xlconfigtest.c b/tests/xlconfigtest.c
> index 952b504..08c43fb 100644
> --- a/tests/xlconfigtest.c
> +++ b/tests/xlconfigtest.c
> @@ -193,15 +193,15 @@ mymain(void)
>              ret = -1;                                                   \
>      } while (0)
>  
> -    DO_TEST("new-disk", 3);
> -    DO_TEST("spice", 3);
> -    DO_TEST("spice-features", 3);
> +    DO_TEST("new-disk", 5);
> +    DO_TEST("spice", 5);
> +    DO_TEST("spice-features", 5);
>  
>  #ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
> -    DO_TEST("fullvirt-multiusb", 3);
> +    DO_TEST("fullvirt-multiusb", 5);
>  #endif
>  #ifdef LIBXL_HAVE_BUILDINFO_KERNEL
> -    DO_TEST("fullvirt-direct-kernel-boot", 3);
> +    DO_TEST("fullvirt-direct-kernel-boot", 5);
>  #endif
>  
>      virObjectUnref(caps);

  reply	other threads:[~2015-12-04  6:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1448557102.13576.45.camel@citrix.com>
2015-11-26 16:59 ` [PATCH LIBVIRT v1 1/2] libxl: Correct value for xendConfigVersion to xen{Parse, Format}ConfigCommon Ian Campbell
2015-12-04  6:13   ` Jim Fehlig [this message]
2015-12-04 10:01     ` Daniel P. Berrange
     [not found]     ` <20151204100112.GA14444@redhat.com>
2015-12-04 14:19       ` Ian Campbell
     [not found]       ` <1449238773.29724.10.camel@citrix.com>
2015-12-04 14:22         ` Daniel P. Berrange
2015-11-26 16:59 ` [PATCH LIBVIRT v1 2/2] xen: Handle maxcpus in xl configutation files Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56612EF2.7070308@suse.com \
    --to=jfehlig@suse.com \
    --cc=berrange@redhat.com \
    --cc=ian.campbell@citrix.com \
    --cc=libvir-list@redhat.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.