All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Peter Krempa <pkrempa@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Boris Fiuczynski <fiuczy@linux.ibm.com>,
	Qemu-block <qemu-block@nongnu.org>,
	Libvirt <libvir-list@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Christian Borntraeger <borntraeger@de.ibm.com>
Subject: Re: [Qemu-devel] [libvirt] [PULL 25/26] block: Remove deprecated -drive option serial
Date: Thu, 12 Jul 2018 13:19:28 +0200	[thread overview]
Message-ID: <87a7qwr9a7.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20180712070032.GW1148@andariel.pipo.sk> (Peter Krempa's message of "Thu, 12 Jul 2018 09:00:32 +0200")

Peter Krempa <pkrempa@redhat.com> writes:

> On Thu, Jul 12, 2018 at 08:38:25 +0200, Markus Armbruster wrote:
>> Kevin Wolf <kwolf@redhat.com> writes:
>> > Am 10.07.2018 um 16:22 hat Cornelia Huck geschrieben:
>> >> On Tue, 10 Jul 2018 07:59:15 +0200
>> >> Markus Armbruster <armbru@redhat.com> wrote:
>> >> Would that be workable?
>> >
>> > I think the function should just take a message:
>> >
>> >     /* Works like error_report(), except for the WARNING/ERROR prefix
>> >      * and exit(1) if -no-deprecated-options is set */
>> >     void deprecation_report(const char *fmt, ...);
>> 
>> I like it.  The contract could use a bit of polish, but that's detail.
>> 
>> > We don't necessarily deprecate only options, but we might also deprecate
>> > monitor commands, specific options values (while keeping other values of
>> > the same option) etc.
>> 
>> Exactly.
>
> For monitor commands we luckily have QMP introspection which can help a
> lot in this case. At least for deprecating stuff that is expressable by
> the schema.

Introspection doesn't convey "deprecated", but...

> In libvirt we are actually doing schema validation of the blockdev-add
> arguments generators and most commands which are covered by the
> qemumonitorjsontest. The schema used is based on our capability
> detection so it's gathered from the most-recent version of qemu we have
> required for our tests (which is most of the time based on GIT version
> of qemu if there are any significant new features).
>
> If the deprecation will be expressable by the schema it should be rather
> simple to modify the schema validator to catch the deprecation flags and
> report errors in our testsuite.

... we can certainly make it if it's useful.

> CI-ifying of the above should be then also very simple. We'd just gather
> fresh QMP schema rather than using one from our test case pantry.
>
> Some time ago I also added testing of the commandline generator in
> libvirt with the most recent capabilities rather than using the
> historically declared capabilities that we've added when the test was
> created. This means that we actually test some valid combinations and
> also if stuff covered by our capability probing is removed the tests
> will catch it.
>
> I was also thinking of adding a tool which would use the above tests to
> attempt starting of a qemu process until the monitor shows up. That test
> then could also use -no-deprecated-options. I'm hoping waiting for the
> monitor is sufficient to excercise most of the code which could contain
> deprecation warnings. (Alternatively we can go through the
> pre-cpu-startup setup done on the monitor as well). Unfortunately doing
> this will not be as simple asi the test cases contain random disk paths
> and other resources which may not be available. This means that it will
> require some in-place modification and creative temporary resource
> usage.

Yes.

If you find QEMU makes testing something hard, we should talk.  Together
we might find a reasonable way to make it easier.

  reply	other threads:[~2018-07-12 11:19 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-15 14:20 [Qemu-devel] [PULL 00/26] Block layer patches Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 01/26] qemu-img: Fix assert when mapping unaligned raw file Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 02/26] iotests: Add test 221 to catch qemu-img map regression Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 03/26] jobs: fix stale wording Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 04/26] jobs: fix verb references in docs Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 05/26] rbd: Drop deprecated -drive parameter "filename" Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 06/26] iscsi: " Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 07/26] block: Add block-specific QDict header Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 08/26] qobject: Move block-specific qdict code to block-qdict.c Kevin Wolf
2018-06-19 19:29   ` Eric Blake
2018-06-15 14:20 ` [Qemu-devel] [PULL 09/26] block: Fix -blockdev for certain non-string scalars Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 10/26] block: Fix -drive " Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 11/26] block: Clean up a misuse of qobject_to() in .bdrv_co_create_opts() Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 12/26] block: Factor out qobject_input_visitor_new_flat_confused() Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 13/26] block: Make remaining uses of qobject input visitor more robust Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 14/26] block-qdict: Simplify qdict_flatten_qdict() Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 15/26] block-qdict: Tweak qdict_flatten_qdict(), qdict_flatten_qlist() Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 16/26] block-qdict: Clean up qdict_crumple() a bit Kevin Wolf
2018-06-15 14:20 ` [Qemu-devel] [PULL 17/26] block-qdict: Simplify qdict_is_list() some Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 18/26] check-block-qdict: Rename qdict_flatten()'s variables for clarity Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 19/26] check-block-qdict: Cover flattening of empty lists and dictionaries Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 20/26] block: Fix -blockdev / blockdev-add for empty objects and arrays Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 21/26] rbd: New parameter auth-client-required Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 22/26] rbd: New parameter key-secret Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 23/26] block: Remove deprecated -drive geometry options Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 24/26] block: Remove deprecated -drive option addr Kevin Wolf
2018-06-15 14:21 ` [Qemu-devel] [PULL 25/26] block: Remove deprecated -drive option serial Kevin Wolf
2018-06-22 11:38   ` Christian Borntraeger
2018-06-22 12:51     ` [Qemu-devel] request a revert for "block: Remove deprecated -drive option serial" (was block: Remove deprecated -drive option serial) Christian Borntraeger
2018-06-22 20:08       ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-06-22 12:55     ` [Qemu-devel] [PULL 25/26] block: Remove deprecated -drive option serial Kevin Wolf
2018-06-22 13:36       ` Christian Borntraeger
2018-06-22 14:00         ` Christian Borntraeger
2018-06-22 14:02         ` [Qemu-devel] [libvirt] " Daniel P. Berrangé
2018-06-22 14:25         ` [Qemu-devel] " Kevin Wolf
2018-06-22 14:31           ` [Qemu-devel] [libvirt] " Daniel P. Berrangé
2018-06-25  9:53             ` Daniel P. Berrangé
2018-06-25 11:41               ` Kevin Wolf
2018-06-25 11:45                 ` Peter Krempa
2018-07-02  8:04                   ` Kevin Wolf
2018-07-03 10:53                     ` Christian Borntraeger
2018-07-03 11:22                       ` Daniel P. Berrangé
2018-07-03 11:32                         ` Kevin Wolf
2018-07-03 11:35                           ` Peter Maydell
2018-07-03 12:38                             ` Christian Borntraeger
2018-07-03 11:35                           ` Daniel P. Berrangé
2018-07-04 13:02                           ` Cornelia Huck
2018-07-04 13:34                             ` Kevin Wolf
2018-07-04 13:43                               ` Daniel P. Berrangé
2018-07-04 14:23                                 ` Kevin Wolf
2018-07-04 13:52                               ` Christian Borntraeger
2018-07-04 13:58                               ` Cornelia Huck
2018-07-04 16:14                               ` Peter Maydell
2018-07-06 11:11                                 ` Cornelia Huck
2018-07-06 14:56                                   ` Kevin Wolf
2018-07-06 15:05                                     ` Daniel P. Berrangé
2018-07-06 15:10                                     ` Peter Maydell
2018-07-09  6:33                                       ` Markus Armbruster
2018-07-09 11:08                                         ` Cornelia Huck
2018-07-09 11:17                                           ` Daniel P. Berrangé
2018-07-12  6:32                                             ` Markus Armbruster
2018-07-12 15:47                                               ` Thomas Huth
2018-07-13 11:35                                                 ` Cornelia Huck
2018-07-16 10:06                                                   ` Kashyap Chamarthy
2018-07-16  9:33                                                 ` Daniel P. Berrangé
2018-07-09  7:29                                     ` Peter Krempa
2018-07-10  5:59                                       ` Markus Armbruster
2018-07-10 14:22                                         ` Cornelia Huck
2018-07-10 14:38                                           ` Kevin Wolf
2018-07-12  6:38                                             ` Markus Armbruster
2018-07-12  6:51                                               ` Markus Armbruster
2018-07-12  7:48                                                 ` Cornelia Huck
2018-07-12  9:05                                                   ` Kevin Wolf
2018-07-12 11:14                                                   ` Markus Armbruster
2018-07-12  7:00                                               ` Peter Krempa
2018-07-12 11:19                                                 ` Markus Armbruster [this message]
2018-07-10 14:39                                           ` Peter Krempa
2018-07-10 15:01                                             ` Cornelia Huck
2018-07-10 15:24                                               ` Peter Krempa
2018-07-11  6:53                                                 ` Thomas Huth
2018-07-11  7:24                                                   ` Cornelia Huck
2018-07-12  6:40                                                   ` Markus Armbruster
2018-07-12  6:59                                                 ` Markus Armbruster
2018-07-12  7:19                                                   ` Peter Krempa
2018-07-12 11:33                                                     ` Markus Armbruster
2018-07-10 17:01                                               ` Daniel P. Berrangé
2018-07-11 13:48                                               ` Kashyap Chamarthy
2018-07-10 15:09                                           ` Peter Maydell
2018-07-10 16:59                                             ` Daniel P. Berrangé
2018-07-09  6:58                                   ` Thomas Huth
2018-07-09 11:58                                     ` Cornelia Huck
2018-06-22 14:38           ` [Qemu-devel] " Christian Borntraeger
2018-06-22 14:47             ` Peter Maydell
2018-06-22 15:01             ` Kevin Wolf
2018-06-22 15:50               ` Christian Borntraeger
2018-06-22 15:40           ` Daniel P. Berrangé
2018-06-22 17:54             ` Kevin Wolf
2018-06-25 11:18               ` Daniel P. Berrangé
2018-06-25 10:01             ` Peter Maydell
2018-06-25 10:31               ` Peter Krempa
2018-06-25 10:35                 ` Peter Maydell
2018-06-25  7:44           ` Thomas Huth
2018-06-22 14:19       ` Markus Armbruster
2018-06-22 14:25         ` [Qemu-devel] [libvirt] " Daniel P. Berrangé
2018-06-22 14:30           ` Daniel P. Berrangé
2018-06-22 15:00             ` Eric Blake
2018-06-25  7:16       ` Peter Krempa
2018-06-25  8:23         ` Thomas Huth
2018-06-25  9:04           ` Daniel P. Berrangé
2018-06-15 14:21 ` [Qemu-devel] [PULL 26/26] block: Remove dead deprecation warning code Kevin Wolf
2018-06-15 16:28 ` [Qemu-devel] [PULL 00/26] Block layer patches Peter Maydell

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=87a7qwr9a7.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=fiuczy@linux.ibm.com \
    --cc=kwolf@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=pkrempa@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.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.