Re: stable releases

2023-03-07 Thread Michael Roth via
On Mon, Mar 06, 2023 at 09:57:58AM +0100, Thomas Huth wrote:
> On 05/03/2023 11.27, Michael Tokarev wrote:
> > Hi!
> > 
> > For a few qemu major releases already, we did not have any stable minor
> > releases.
> > I'd love to change that, in order to consolidate efforts and to make better
> > software in the end.  But I need some (hopefully minor) help here.
> > 
> > I collected changes from qemu/master which apparently should go to -stable.
> > Published at git://isrv.corpit.ru/qemu.git , branch stable-7.2-staging
> > (probably should publish it on github or gitlab).
> > This contains stuff which I use on Debian in qemu package, which is based
> > on 7.2 version now.  The last 18 patches are not in Debian package yet,
> > going to push it today or tomorrow.
> > 
> > If nothing, this can be used as a base for actual 7.2.1 stable release,
> > maybe with more changes added (or some changes removed).
> > 
> > The help which I need is to be able to run some wider testing. Debian is
> > a relatively good testbed, and it is used by qemu already in terms of
> > bullseye-backports to run other tests, so it should be good, but I'd
> > love to have wider coverage still. Maybe some CI stuff which qemu has
> > for master, if not only just before actual release.

Hi Michael,

Thank you for offering to help with the stable releases. I think it
would be in great hands and am happy to help in any way with getting
things going there.

I totally agree on Thomas' suggestions for next steps, and tried to
list out whatever else came to mind regarding stable releases in
general (sorry if things get a bit rambly).

> 
> I'd suggest to get a gitlab.com account, and fork the qemu repository there.
> Then you can run the CI on your own by pushing your patch to your forked
> repository.
> 
> You can also get some test additional coverage by running the avocado tests
> with "make check-avocado" ... but beware that this downloads quite some
> hundreds of MBs from the internet. And some tests are known to fail, so it's
> maybe best to run them on the plain 7.2.0 tag first to see what works for
> you and what does not work properly.

As far as testing, I think some other good tests/areas to consider eventually
adding would be:

  - qemu-iotests
  - VFIO/PCI passthrough tests of some sort if possible
  - live migration tests (especially things like 7.2.1 <-> 7.2.0
migration compatibility to allow for rolling out/back live upgrades and
things of that sort)
  - Windows guests

> 
> > And as usual, this needs help in picking up changes which should go to
> > stable. But this is something which is always needed anyway.
> > 
> > Let's resurrect qemu-stable :)

The "current" stable process is documented at docs/devel/stable-process.rst
As written, 7.2 support would end when 7.3/8.0 is released, and then
8.0.1 would be the next stable release afterward, but maybe there are more
optimal ways to integrate/schedule things in your case so don't feel
tied this approach.

As far as this release goes I'd recommend going ahead and getting your
stable-7.2-staging tree rebased on 7.2.0, along with whatever other patches
you think should definitely be included. For me this would include all CVE
fixes that went in after 7.2.0, and any patches tagged Cc:qemu-stable or
forwarded to qemu-stable mailing list. But that's another area to decide on
how you want to handle things. Maybe in some cases some important fixes
are better to get out sooner rather than trying to make every release
"complete".

I'd usually then post the staging tree to the mailing list to see if
there were any more candidates, which I think has pretty much always
identified more commits to pull in and proven worthwhile; but probably
depends on how frequently you cut releases. Maybe it makes sense to not
even do tagged releases, and just have a rolling stable tree? Things to
consider.

Ideally you'd be able to eventually push trees to the official QEMU repo
like I've done in the past. You'll need to work with the gitlab project
maintainers on that. But if you need to host/tag them in your own repo
until then that would probably be fine. Will want some way to
communicate this to QEMU community though, and official git repo is
probably the best way. I can also push your tree/tags as interim solution.

Will also need to figure out how to handle uploading tarballs (assuming
you still intend on distributing release tarballs). I can upload them
in the meantime, but we will probably want to work with Paolo getting
you access.

If there's anything else I can help with please let me know.

Thanks,

Mike

> 
> Please make sure to CC: qemu-stable and Michael Roth - I hope he can give
> some directions for this effort.
> 
>  Thomas
> 



Re: stable releases

2023-03-06 Thread Thomas Huth

On 05/03/2023 11.27, Michael Tokarev wrote:

Hi!

For a few qemu major releases already, we did not have any stable minor 
releases.

I'd love to change that, in order to consolidate efforts and to make better
software in the end.  But I need some (hopefully minor) help here.

I collected changes from qemu/master which apparently should go to -stable.
Published at git://isrv.corpit.ru/qemu.git , branch stable-7.2-staging
(probably should publish it on github or gitlab).
This contains stuff which I use on Debian in qemu package, which is based
on 7.2 version now.  The last 18 patches are not in Debian package yet,
going to push it today or tomorrow.

If nothing, this can be used as a base for actual 7.2.1 stable release,
maybe with more changes added (or some changes removed).

The help which I need is to be able to run some wider testing. Debian is
a relatively good testbed, and it is used by qemu already in terms of
bullseye-backports to run other tests, so it should be good, but I'd
love to have wider coverage still. Maybe some CI stuff which qemu has
for master, if not only just before actual release.


I'd suggest to get a gitlab.com account, and fork the qemu repository there. 
Then you can run the CI on your own by pushing your patch to your forked 
repository.


You can also get some test additional coverage by running the avocado tests 
with "make check-avocado" ... but beware that this downloads quite some 
hundreds of MBs from the internet. And some tests are known to fail, so it's 
maybe best to run them on the plain 7.2.0 tag first to see what works for 
you and what does not work properly.



And as usual, this needs help in picking up changes which should go to
stable. But this is something which is always needed anyway.

Let's resurrect qemu-stable :)


Please make sure to CC: qemu-stable and Michael Roth - I hope he can give 
some directions for this effort.


 Thomas




stable releases

2023-03-05 Thread Michael Tokarev

Hi!

For a few qemu major releases already, we did not have any stable minor 
releases.
I'd love to change that, in order to consolidate efforts and to make better
software in the end.  But I need some (hopefully minor) help here.

I collected changes from qemu/master which apparently should go to -stable.
Published at git://isrv.corpit.ru/qemu.git , branch stable-7.2-staging
(probably should publish it on github or gitlab).
This contains stuff which I use on Debian in qemu package, which is based
on 7.2 version now.  The last 18 patches are not in Debian package yet,
going to push it today or tomorrow.

If nothing, this can be used as a base for actual 7.2.1 stable release,
maybe with more changes added (or some changes removed).

The help which I need is to be able to run some wider testing. Debian is
a relatively good testbed, and it is used by qemu already in terms of
bullseye-backports to run other tests, so it should be good, but I'd
love to have wider coverage still. Maybe some CI stuff which qemu has
for master, if not only just before actual release.

And as usual, this needs help in picking up changes which should go to
stable. But this is something which is always needed anyway.

Let's resurrect qemu-stable :)

Thanks,

/mjt



Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Andreas Färber
Am 09.12.2011 14:24, schrieb Anthony Liguori:
> On 12/09/2011 06:55 AM, Andreas Färber wrote:
>> Am 05.12.2011 21:08, schrieb Justin M. Forbes:
>>> Typically I get a flurry of patches shortly after
>>> a release (and they have already started for 1.0).  I have tried to get
>>> a .1 release out in a timely manner, and then it seems patches for
>>> stable become few and far between.  In the 0.14 and 0.15 series, not
>>> even enough to warrant a .2 release.  Perhaps this is due to lack fixed
>>> issues, or lack of effort to submit to stable.
>>
>>> 3) Security fixes do not follow this schedule, and will trigger a stable
>>> release as needed.
>>
>> I would've thought that the usb-ccid CVE alone warrants a 0.15.2 of qemu
>> and qemu-kvm. I am surprised nothing has happened there yet...
>>
>> http://patchwork.ozlabs.org/patch/128064/
> 
> We don't have a clear EOL schedule for stable releases.  Historically,
> stable releases only lasted until the next release cycle so in by that
> logic, 0.15 is EOL.

Unfortunately qemu(-kvm) 1.0 came too late for SLES 11 SP2, so we're now
forced to ship 0.15.1 plus a ton of hand-picked patches.

Therefore I would appreciate finding some solution to keep 0.15 branch
usable, whatever tarballs you release on qemu.org or declare EOL.

Regards,
Andreas

> Obviously, part of creating a regular cadence for stable releases and
> getting more people involved is to formalize this all quite a bit more.
> 
> Regards,
> 
> Anthony Liguori

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Richard W.M. Jones
On Fri, Dec 09, 2011 at 07:25:39AM -0600, Anthony Liguori wrote:
> On 12/09/2011 06:01 AM, Richard W.M. Jones wrote:
> >On Fri, Dec 09, 2011 at 10:39:37AM +, Richard W.M. Jones wrote:
> >>FWIW in libguestfs we have such a policy.  Every few weeks I evaluate
> >>_all_ commits along the development branch and cherry pick those that
> >>meet this policy back to the stable branch, followed by making a new
> >>stable release.  Here is the policy:
> >>
> >>http://libguestfs.org/guestfs.3.html#libguestfs_version_numbers
> >>   from "Our criteria for backporting changes are ..."
> 
> Out of curiosity, what's the commit rate for libguestfs and what's
> the release schedule?

A lot less than qemu.  I can't update my qemu.git at the moment but
there are 810 commits in libguestfs since 2010-12-31, and maybe 50x as
many in qemu over the same period.

Release schedule is not fixed, but it seems to average to a new stable
branch every 3-4 months.

> I tried this years ago with QEMU and while it resulted in a very
> active stable branch, it was a huge amount of work, particularly as
> we got about half way through the next development cycle.

I generally don't backport fixes if the cherry picking involves
complicated changes, because that's against the policy that fixes in
the stable branch need to be well-tested and uncontroversial.  A
massive cherry pick rewrite is by definition not a well-tested change.

Splitting development commits helps: eg. if new features are split
into non-functional code motion commits + new feature commits.  We
tend to backport code motion changes, which helps to make cherry
picking bug fixes simpler because the code in both branches stays
similar.

Anyhow, there you go, it may not work for qemu.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/



Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Justin M. Forbes
On Fri, 2011-12-09 at 13:55 +0100, Andreas Färber wrote:
> Am 05.12.2011 21:08, schrieb Justin M. Forbes:
> > Typically I get a flurry of patches shortly after
> > a release (and they have already started for 1.0).  I have tried to get
> > a .1 release out in a timely manner, and then it seems patches for
> > stable become few and far between.  In the 0.14 and 0.15 series, not
> > even enough to warrant a .2 release.  Perhaps this is due to lack fixed
> > issues, or lack of effort to submit to stable.
> 
> > 3) Security fixes do not follow this schedule, and will trigger a stable
> > release as needed.
> 
> I would've thought that the usb-ccid CVE alone warrants a 0.15.2 of qemu
> and qemu-kvm. I am surprised nothing has happened there yet...
> 
> http://patchwork.ozlabs.org/patch/128064/
> 

I suppose that also brings up the question of how long a stable branch
should be supported?  Perhaps we should do stable through 2 release
cycles, so that 0.15 stable would stop when 1.1 is released?

Justin




Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Anthony Liguori

On 12/09/2011 06:01 AM, Richard W.M. Jones wrote:

On Fri, Dec 09, 2011 at 10:39:37AM +, Richard W.M. Jones wrote:

FWIW in libguestfs we have such a policy.  Every few weeks I evaluate
_all_ commits along the development branch and cherry pick those that
meet this policy back to the stable branch, followed by making a new
stable release.  Here is the policy:

http://libguestfs.org/guestfs.3.html#libguestfs_version_numbers
   from "Our criteria for backporting changes are ..."


Out of curiosity, what's the commit rate for libguestfs and what's the release 
schedule?


I tried this years ago with QEMU and while it resulted in a very active stable 
branch, it was a huge amount of work, particularly as we got about half way 
through the next development cycle.


Regards,

Anthony Liguori


For completeness, here is an example stable branch containing
cherry-picked commits:

http://fedorapeople.org/git/?p=rjones/public_git/libguestfs.git;a=log;h=refs/remotes/origin/stable-1.14

Compare to the master branch to see which commits did and didn't make
it in.

Rich.






Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Anthony Liguori

On 12/09/2011 06:55 AM, Andreas Färber wrote:

Am 05.12.2011 21:08, schrieb Justin M. Forbes:

Typically I get a flurry of patches shortly after
a release (and they have already started for 1.0).  I have tried to get
a .1 release out in a timely manner, and then it seems patches for
stable become few and far between.  In the 0.14 and 0.15 series, not
even enough to warrant a .2 release.  Perhaps this is due to lack fixed
issues, or lack of effort to submit to stable.



3) Security fixes do not follow this schedule, and will trigger a stable
release as needed.


I would've thought that the usb-ccid CVE alone warrants a 0.15.2 of qemu
and qemu-kvm. I am surprised nothing has happened there yet...

http://patchwork.ozlabs.org/patch/128064/


We don't have a clear EOL schedule for stable releases.  Historically, stable 
releases only lasted until the next release cycle so in by that logic, 0.15 is EOL.


Obviously, part of creating a regular cadence for stable releases and getting 
more people involved is to formalize this all quite a bit more.


Regards,

Anthony Liguori



Andreas






Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Andreas Färber
Am 05.12.2011 21:08, schrieb Justin M. Forbes:
> Typically I get a flurry of patches shortly after
> a release (and they have already started for 1.0).  I have tried to get
> a .1 release out in a timely manner, and then it seems patches for
> stable become few and far between.  In the 0.14 and 0.15 series, not
> even enough to warrant a .2 release.  Perhaps this is due to lack fixed
> issues, or lack of effort to submit to stable.

> 3) Security fixes do not follow this schedule, and will trigger a stable
> release as needed.

I would've thought that the usb-ccid CVE alone warrants a 0.15.2 of qemu
and qemu-kvm. I am surprised nothing has happened there yet...

http://patchwork.ozlabs.org/patch/128064/

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Richard W.M. Jones
On Fri, Dec 09, 2011 at 10:39:37AM +, Richard W.M. Jones wrote:
> FWIW in libguestfs we have such a policy.  Every few weeks I evaluate
> _all_ commits along the development branch and cherry pick those that
> meet this policy back to the stable branch, followed by making a new
> stable release.  Here is the policy:
> 
> http://libguestfs.org/guestfs.3.html#libguestfs_version_numbers
>   from "Our criteria for backporting changes are ..."

For completeness, here is an example stable branch containing
cherry-picked commits:

http://fedorapeople.org/git/?p=rjones/public_git/libguestfs.git;a=log;h=refs/remotes/origin/stable-1.14

Compare to the master branch to see which commits did and didn't make
it in.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/



Re: [Qemu-devel] Qemu stable releases

2011-12-09 Thread Richard W.M. Jones
On Mon, Dec 05, 2011 at 02:08:03PM -0600, Justin M. Forbes wrote:
> The stable tree for 1.0 has now been created and the mailing list
> exists. I am curious as to people's thoughts on how we should proceed.
> There was discussion of setting up a predictable time table for stable
> releases, say monthly or bimonthly, though that seems a bit difficult
> from past experience.  Typically I get a flurry of patches shortly after
> a release (and they have already started for 1.0).  I have tried to get
> a .1 release out in a timely manner, and then it seems patches for
> stable become few and far between.  In the 0.14 and 0.15 series, not
> even enough to warrant a .2 release.  Perhaps this is due to lack fixed
> issues, or lack of effort to submit to stable.  What I would like to
> recommend is the following:
> 
> 1) On the 15th of every month, the stable queue will be evaluated for
> release.
> 2) If enough patches exist (or critical enough patches exist), a stable
> release will be cut as soon as testing/push/mirror can be done.  If
> there are no patches, or not enough patches to warrant a release, they
> will be held over until the next release.
> 3) Security fixes do not follow this schedule, and will trigger a stable
> release as needed.
> 
> Questions, comments, concernes? How do people feel about this?

Is there a policy for what commits count as stable?

FWIW in libguestfs we have such a policy.  Every few weeks I evaluate
_all_ commits along the development branch and cherry pick those that
meet this policy back to the stable branch, followed by making a new
stable release.  Here is the policy:

http://libguestfs.org/guestfs.3.html#libguestfs_version_numbers
  from "Our criteria for backporting changes are ..."

This is easy and has worked out well for us.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw



Re: [Qemu-devel] Qemu stable releases

2011-12-06 Thread Stefan Hajnoczi
On Mon, Dec 5, 2011 at 8:08 PM, Justin M. Forbes  wrote:
> The stable tree for 1.0 has now been created and the mailing list
> exists.

Where does the stable 1.0 tree live?

Stefan



[Qemu-devel] Qemu stable releases

2011-12-05 Thread Justin M. Forbes
The stable tree for 1.0 has now been created and the mailing list
exists. I am curious as to people's thoughts on how we should proceed.
There was discussion of setting up a predictable time table for stable
releases, say monthly or bimonthly, though that seems a bit difficult
from past experience.  Typically I get a flurry of patches shortly after
a release (and they have already started for 1.0).  I have tried to get
a .1 release out in a timely manner, and then it seems patches for
stable become few and far between.  In the 0.14 and 0.15 series, not
even enough to warrant a .2 release.  Perhaps this is due to lack fixed
issues, or lack of effort to submit to stable.  What I would like to
recommend is the following:

1) On the 15th of every month, the stable queue will be evaluated for
release.
2) If enough patches exist (or critical enough patches exist), a stable
release will be cut as soon as testing/push/mirror can be done.  If
there are no patches, or not enough patches to warrant a release, they
will be held over until the next release.
3) Security fixes do not follow this schedule, and will trigger a stable
release as needed.

Questions, comments, concernes? How do people feel about this?

Justin