[Libguestfs] [PATCH v2v] config: 'os' and 'distro' fields should be matched separately.

Richard W.M. Jones rjones at redhat.com
Fri May 7 10:28:39 UTC 2010


On Fri, May 07, 2010 at 11:05:52AM +0100, Matthew Booth wrote:
> On 06/05/10 17:54, Richard W.M. Jones wrote:
> >>From ca375bb29295523238e297820d4f641db01d9742 Mon Sep 17 00:00:00 2001
> > From: Richard Jones <rjones at redhat.com>
> > Date: Thu, 6 May 2010 17:51:58 +0100
> > Subject: [PATCH 1/2] config: 'os' and 'distro' fields should be matched separately.
> > 
> > This is particularly important for Windows guests, because these
> > only have os='windows' and distro is not set.
> > ---
> >  lib/Sys/VirtV2V/Config.pm |   30 ++++++++++++++++++------------
> >  v2v/virt-v2v.conf         |   34 +++++++++++++++++-----------------
> >  2 files changed, 35 insertions(+), 29 deletions(-)
> 
> Could you please also update v2v/virt-v2v.conf.pod?

How about this [attached]?

You say in the documentation that matching happens in this order:

       ·   os, distro, major, minor, arch

       ·   os, distro, major, minor

       ·   os, distro, major, arch

       ·   os, distro, major

       ·   os, distro

       ·   os

but is that really true?

Also I don't think it's a good idea to include the whole default
configuration file in the man page.  I think you should just tell them
where to look for it.  If you agree I will prepare an updated patch.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
-------------- next part --------------
>From d07790ccd9286719966f3de719605f9f4029fe10 Mon Sep 17 00:00:00 2001
From: Richard Jones <rjones at redhat.com>
Date: Fri, 7 May 2010 11:26:28 +0100
Subject: [PATCH] config: Update virt-v2v.conf documentation.

---
 v2v/virt-v2v.conf.pod |   70 ++++++++++++++++++++++++++++--------------------
 1 files changed, 41 insertions(+), 29 deletions(-)

diff --git a/v2v/virt-v2v.conf.pod b/v2v/virt-v2v.conf.pod
index 85651f6..05cdc0c 100644
--- a/v2v/virt-v2v.conf.pod
+++ b/v2v/virt-v2v.conf.pod
@@ -70,7 +70,7 @@ normal kernel. This software will be specific to the guest operating system.
 
 Software to be installed is specified in the E<lt>appE<gt> element, which is a
 child of the root element. The configuration can specify any number of
-E<lt>appE<gt> elements. E<lt>appE<gt> can have 5 attributes:
+E<lt>appE<gt> elements. E<lt>appE<gt> can have these attributes:
 
 =over
 
@@ -81,20 +81,27 @@ attribute.
 
 =item os
 
-The name of the guest operating system, as returned by libguestfs.
+The name of the guest operating system, as returned by virt-inspector.
+This will be a string, like 'linux' or 'windows'.
+
+=item distro
+
+When os='linux', this is the Linux distribution as returned by
+virt-inspector.  Possible values include 'rhel', 'debian'.
 
 =item major
 
 The major version name of the guest operating system, as returned by
-libguestfs.
+virt-inspector.
 
 =item minor
 
-The minor version name of the guest operating system, as returned by libguestfs.
+The minor version name of the guest operating system, as returned by
+virt-inspector.
 
 =item arch
 
-The guest architecture, as returned by libguestfs.
+The guest architecture, as returned by virt-inspector.
 
 =back
 
@@ -108,19 +115,23 @@ match. Specifically, it searches in the following order:
 
 =item *
 
-os, major, minor, arch
+os, distro, major, minor, arch
+
+=item *
+
+os, distro, major, minor
 
 =item *
 
-os, major, minor
+os, distro, major, arch
 
 =item *
 
-os, major, arch
+os, distro, major
 
 =item *
 
-os, major
+os, distro
 
 =item *
 
@@ -157,15 +168,15 @@ versions, on i686:
  <path-root>/var/lib/virt-v2v/software</path-root>
  <iso-path>/var/lib/virt-v2v/transfer.iso</iso-path>
 
- <app os='rhel' major='5' arch='i686' name='kernel'>
+ <app os='linux' distro='rhel' major='5' arch='i686' name='kernel'>
    <path>rhel/5/kernel-2.6.18-128.el5.i686.rpm</path>
    <dep>ecryptfs-utils</dep>
    <dep>lvm2</dep>
  </app>
- <app os='rhel' major='5' arch='i386' name='ecryptfs-utils'>
+ <app os='linux' distro='rhel' major='5' arch='i386' name='ecryptfs-utils'>
    <path>rhel/5/ecryptfs-utils-56-8.el5.i386.rpm</path>
  </app>
- <app os='rhel' major='5' arch='i386' name='lvm2'>
+ <app os='linux' distro='rhel' major='5' arch='i386' name='lvm2'>
    <path>rhel/5/lvm2-2.02.40-6.el5.i386.rpm</path>
    <dep>device-mapper</dep>
    <dep>device-mapper-event</dep>
@@ -204,71 +215,71 @@ default, the second to the RHEV default.
    <!-- RHEL 5
         All of these RPMS are from RHEL 5.3, which was the first version of RHEL
         5 to support VirtIO -->
-   <app os='rhel' major='5' arch='i686' name='kernel'>
+   <app os='linux' distro='rhel' major='5' arch='i686' name='kernel'>
      <path>rhel/5/kernel-2.6.18-128.el5.i686.rpm</path>
      <dep>ecryptfs-utils</dep>
      <dep>lvm2</dep>
    </app>
-   <app os='rhel' major='5' arch='i686' name='kernel-PAE'>
+   <app os='linux' distro='rhel' major='5' arch='i686' name='kernel-PAE'>
      <path>rhel/5/kernel-PAE-2.6.18-128.el5.i686.rpm</path>
      <dep>ecryptfs-utils</dep>
      <dep>lvm2</dep>
    </app>
-   <app os='rhel' major='5' arch='x86_64' name='kernel'>
+   <app os='linux' distro='rhel' major='5' arch='x86_64' name='kernel'>
      <path>rhel/5/kernel-2.6.18-128.el5.x86_64.rpm</path>
      <dep>ecryptfs-utils</dep>
      <dep>lvm2</dep>
    </app>
 
    <!-- RHEL 5 Kernel dependencies -->
-   <app os='rhel' major='5' arch='x86_64' name='ecryptfs-utils'>
+   <app os='linux' distro='rhel' major='5' arch='x86_64' name='ecryptfs-utils'>
      <path>rhel/5/ecryptfs-utils-56-8.el5.x86_64.rpm</path>
    </app>
-   <app os='rhel' major='5' arch='i386' name='ecryptfs-utils'>
+   <app os='linux' distro='rhel' major='5' arch='i386' name='ecryptfs-utils'>
      <path>rhel/5/ecryptfs-utils-56-8.el5.i386.rpm</path>
    </app>
-   <app os='rhel' major='5' arch='x86_64' name='lvm2'>
+   <app os='linux' distro='rhel' major='5' arch='x86_64' name='lvm2'>
      <path>rhel/5/lvm2-2.02.40-6.el5.x86_64.rpm</path>
      <dep>device-mapper</dep>
      <dep>device-mapper-event</dep>
    </app>
-   <app os='rhel' major='5' arch='i386' name='lvm2'>
+   <app os='linux' distro='rhel' major='5' arch='i386' name='lvm2'>
      <path>rhel/5/lvm2-2.02.40-6.el5.i386.rpm</path>
      <dep>device-mapper</dep>
      <dep>device-mapper-event</dep>
    </app>
-   <app os='rhel' major='5' arch='x86_64' name='device-mapper'>
+   <app os='linux' distro='rhel' major='5' arch='x86_64' name='device-mapper'>
      <path>rhel/5/device-mapper-1.02.28-2.el5.x86_64.rpm</path>
    </app>
-   <app os='rhel' major='5' arch='i386' name='device-mapper'>
+   <app os='linux' distro='rhel' major='5' arch='i386' name='device-mapper'>
      <path>rhel/5/device-mapper-1.02.28-2.el5.i386.rpm</path>
    </app>
-   <app os='rhel' major='5' arch='x86_64' name='device-mapper-event'>
+   <app os='linux' distro='rhel' major='5' arch='x86_64' name='device-mapper-event'>
      <path>rhel/5/device-mapper-event-1.02.28-2.el5.x86_64.rpm</path>
    </app>
-   <app os='rhel' major='5' arch='i386' name='device-mapper-event'>
+   <app os='linux' distro='rhel' major='5' arch='i386' name='device-mapper-event'>
      <path>rhel/5/device-mapper-event-1.02.28-2.el5.i386.rpm</path>
    </app>
 
    <!-- RHEL 4
         All of these RPMs are from RHEL 4.8, which was the first version of RHEL
         4 to support VirtIO -->
-   <app os='rhel' major='4' arch='i686' name='kernel'>
+   <app os='linux' distro='rhel' major='4' arch='i686' name='kernel'>
      <path>rhel/4/kernel-2.6.9-89.EL.i686.rpm</path>
    </app>
-   <app os='rhel' major='4' arch='i686' name='kernel-smp'>
+   <app os='linux' distro='rhel' major='4' arch='i686' name='kernel-smp'>
      <path>rhel/4/kernel-smp-2.6.9-89.EL.i686.rpm</path>
    </app>
-   <app os='rhel' major='4' arch='i686' name='kernel-hugemem'>
+   <app os='linux' distro='rhel' major='4' arch='i686' name='kernel-hugemem'>
      <path>rhel/4/kernel-hugemem-2.6.9-89.EL.i686.rpm</path>
    </app>
-   <app os='rhel' major='4' arch='x86_64' name='kernel'>
+   <app os='linux' distro='rhel' major='4' arch='x86_64' name='kernel'>
      <path>rhel/4/kernel-2.6.9-89.EL.x86_64.rpm</path>
    </app>
-   <app os='rhel' major='4' arch='x86_64' name='kernel-smp'>
+   <app os='linux' distro='rhel' major='4' arch='x86_64' name='kernel-smp'>
      <path>rhel/4/kernel-smp-2.6.9-89.EL.x86_64.rpm</path>
    </app>
-   <app os='rhel' major='4' arch='x86_64' name='kernel-largesmp'>
+   <app os='linux' distro='rhel' major='4' arch='x86_64' name='kernel-largesmp'>
      <path>rhel/4/kernel-largesmp-2.6.9-89.EL.x86_64.rpm</path>
    </app>
 
@@ -313,4 +324,5 @@ Copyright (C) 2009,2010 Red Hat Inc.
 =head1 SEE ALSO
 
 L<virt-v2v(1)>,
+L<virt-inspector(1)>,
 L<http://libguestfs.org/>
-- 
1.6.6.1



More information about the Libguestfs mailing list