qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Laszlo Ersek <lersek@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	ehabkost@redhat.com, qemu-devel@nongnu.org,
	Gerd Hoffmann <kraxel@redhat.com>,
	pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH RFC] hw/pc: set q35 as the default x86 machine
Date: Tue, 5 Jun 2018 19:22:33 +0300	[thread overview]
Message-ID: <20180605192134-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20180605135152.GJ32286@redhat.com>

On Tue, Jun 05, 2018 at 02:51:52PM +0100, Daniel P. Berrangé wrote:
> On Tue, Jun 05, 2018 at 03:44:14PM +0200, Laszlo Ersek wrote:
> > On 06/05/18 15:29, Daniel P. Berrangé wrote:
> > > On Tue, Jun 05, 2018 at 04:20:46PM +0300, Marcel Apfelbaum wrote:
> > >>
> > >>
> > >> On 06/05/2018 11:43 AM, Daniel P. Berrangé wrote:
> > >>> On Tue, Jun 05, 2018 at 09:27:46AM +0200, Gerd Hoffmann wrote:
> > >>>>    Hi,
> > >>>>
> > >>>>>>    Add to that shortcuts like -cdrom
> > >>>>>> stop working,
> > >>>>> Maybe is fixable.
> > >>>> Already fixed for ages.
> > >>>>
> > >>>>> I see marking Q35 as the default machine a first step.
> > >>>> Maybe the better option is to go the arm route:  Just don't define a
> > >>>> default, so users have to specify pc or q35.  That will make them notice
> > >>>> there is a world beside 'pc', and we also avoid breaking things
> > >>>> silently.
> > >>
> > >> It can work, sure. And we can add user hints: "Use q35 for ...., select pc
> > >> if..."
> > >>
> > >>> If QEMU removes the default, then libvirt will have to hardcode
> > >>> 'pc' as the default to maintain back compatibility, so I don't
> > >>> think that ends up as a net win
> > >>
> > >> Can't libvirt preserve 'pc' for existing domains, while defaulting to q35
> > >> the creation of new domains ? This way it aligns with Gerd's proposal of no
> > >> default x86 machine.
> > > 
> > > Existing domains wasn't the case I was concerned about. Consider you have
> > > libvirt 4.4.0 intsalled and you deploy a *new* domain from a prebuilt
> > > disk image "foo". Now update to a libvirt or QEMU which changes to q35
> > > and try to deploy another new domain from the same prebuilt disk
> > > image "foo". It may not work now if that disk image doesn't support
> > > q35. That would be a regression from the user's POV, whether libvirt or
> > > qemu has changed the default.
> > 
> > How about:
> > - "create new domain with empty disk" --> i440fx now, q35 later
> 
> "empty disk" is not something that can be determined by the
> host - libvirt might not even have direct access to the disk
> at the time this info would be needed.
> 
> > - "create new domain from domain XML and disk image" --> whatever the
> >   domain definition dictates
> > - "create new domain from disk image and no domain XML" --> assume
> >   i440fx forever (with a detailed board / device config that's used for
> >   all legacy (definition-less) disk images)
> 
> 
> 
> > - convince disk image distributors to provide their domain definitions
> >   with their disks (need not be libvirt domain XML, other definitions
> >   might work)
> 
> Libvirt domain XML is absolutely not suitable - it is a host specific
> instantiation of a guest, that is not guaranteed to be portable to
> any other host.
> 
> Funnily enough though, I just remembered that 10 years ago we invented
> another XML format called "virt-image XML", that went along with a
> "virt-image" command line tool
> 
>   https://github.com/virt-manager/virt-manager/blob/2e7d477156e9d0f6fb218fa19fc00d6229d33e85/man/virt-image-xml.pod
> 
> This was rarely used because the "virt-image" tool itself was rather
> broken by design, so we eventually deleted this entirely.
> 
> The virt-image XML  description though could be resurrected as it
> is largely relevant to the conversation.

Oh, that might be a nice thing to put into qcow2 meta-data.
(Hopefully in a format that's easier to parse and write than xml).


> > - write converters from those other definition formats to libvirt XML,
> >   or QEMU cfg file?
> 
> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

  reply	other threads:[~2018-06-05 16:22 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-03  9:27 [Qemu-devel] [PATCH RFC] hw/pc: set q35 as the default x86 machine Marcel Apfelbaum
2018-06-04  1:38 ` Michael S. Tsirkin
2018-06-04 12:24   ` Igor Mammedov
2018-06-04 12:35     ` Paolo Bonzini
2018-06-04 18:09       ` John Snow
2018-06-04 12:54   ` Eduardo Habkost
2018-06-04 13:01     ` Daniel P. Berrangé
2018-06-04 13:26       ` Eduardo Habkost
2018-06-04 17:17         ` Michael S. Tsirkin
2018-06-04 18:30           ` Eduardo Habkost
2018-06-04 16:48       ` Michael S. Tsirkin
2018-06-04 16:56         ` Daniel P. Berrangé
2018-06-04 18:40           ` Marcel Apfelbaum
2018-06-04 21:08             ` Eduardo Habkost
2018-06-04 18:29   ` Marcel Apfelbaum
2018-06-05  7:27     ` Gerd Hoffmann
2018-06-05  8:43       ` Daniel P. Berrangé
2018-06-05 13:06         ` [Qemu-devel] libvirt default machine-type guarantees? (was Re: [PATCH RFC] hw/pc: set q35 as the default x86 machine) Eduardo Habkost
2018-06-05 13:12           ` Daniel P. Berrangé
2018-06-05 13:35             ` Eduardo Habkost
2018-06-05 13:41               ` Daniel P. Berrangé
2018-06-05 13:44               ` [Qemu-devel] [libvirt] " Pavel Hrdina
2018-06-05 14:03                 ` Eduardo Habkost
2018-06-05 14:07                   ` Daniel P. Berrangé
2018-06-05 14:36                     ` Pavel Hrdina
2018-06-05 14:14                   ` Pavel Hrdina
2018-06-05 16:16             ` [Qemu-devel] " Michael S. Tsirkin
2018-06-05 16:22               ` Daniel P. Berrangé
2018-06-05 13:20         ` [Qemu-devel] [PATCH RFC] hw/pc: set q35 as the default x86 machine Marcel Apfelbaum
2018-06-05 13:29           ` Daniel P. Berrangé
2018-06-05 13:44             ` Laszlo Ersek
2018-06-05 13:51               ` Daniel P. Berrangé
2018-06-05 16:22                 ` Michael S. Tsirkin [this message]
2018-06-05 15:56             ` Marcel Apfelbaum
2018-06-05 16:01               ` Daniel P. Berrangé
2018-06-05 16:20             ` Michael S. Tsirkin
2018-06-05 16:23               ` Daniel P. Berrangé
2018-06-05 16:33                 ` Michael S. Tsirkin
2018-06-13 18:05         ` Eduardo Habkost
2018-06-14  8:09           ` Daniel P. Berrangé
2018-06-15  2:50             ` Eduardo Habkost
2018-06-15  9:03               ` Daniel P. Berrangé
2018-06-18 17:14                 ` Eduardo Habkost
2018-06-18 17:18                   ` Michael S. Tsirkin
2018-06-20 17:28                     ` Eduardo Habkost
2018-06-21  7:39                       ` Daniel P. Berrangé
2018-06-20 17:33                     ` Peter Maydell
2018-06-21  7:37                       ` Daniel P. Berrangé

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=20180605192134-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).