qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Lukáš Doktor" <ldoktor@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Charles Shih <cheshi@redhat.com>,
	Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: Proposal for a regular upstream performance testing
Date: Thu, 26 Nov 2020 12:29:18 +0100	[thread overview]
Message-ID: <c05d6f4e-c51e-a2b2-e4f0-f22bb8740359@redhat.com> (raw)
In-Reply-To: <20201126094338.GB1122957@redhat.com>

Dne 26. 11. 20 v 10:43 Daniel P. Berrangé napsal(a):
> On Thu, Nov 26, 2020 at 09:10:14AM +0100, Lukáš Doktor wrote:
>> How
>> ===
>>
>> This is a tough question. Ideally this should be a standalone service that
>> would only notify the author of the patch that caused the change with a
>> bunch of useful data so they can either address the issue or just be aware
>> of this change and mark it as expected.
> 
> We need to distinguish between the service that co-ordinates and reports
> the testing, vs the service which runs the tests.
> 
> For the service which runs the tests, it is critical that it be a standalone
> bare metal machine with nothing else being run, to ensure reproducability of
> results as you say.
> 

Ack, for "solution 1" that would be me and I do have a dedicated machine (more will hopefully come). In "solution 2" that would be up to the other volunteer and there could be a combination, of course.

> For the service which co-ordinates and reports test results, we ideally want
> it to be integrated into our primary CI dashboard, which is GitLab CI at
> this time.
> 

At this point I don't have the resources to make this per commit, nor push. I know that in github it is possible to manually inject CI results via:

     curl -u $GITHUB_USER:$GITHUB_TOKEN --data "\"state\": \"$status\", \"description\": \"$description\", \"context\": \"manual/$GITHUB_USER\"" -H "Accept: application/vnd.github.v3+json" "$base_url/statuses/$commit"

if something like this is available in gitlab than I would be glad to start injecting my results.

>> Ideally the community should have a way to also issue their custom builds
>> in order to verify their patches so they can debug and address issues
>> better than just commit to qemu-master.
> 
> Allowing community builds certainly adds an extra dimension of complexity
> to the problem, as you need some kind of permissions control, as you can't
> allow any arbitrary user on the web to trigger jobs with arbitrary code,
> as that is a significant security risk to your infra.
> 
> I think I'd just suggest providing a mechanism for the user to easily spin
> up performance test jobs on their own hardware. This could be as simple
> as providing a docker container recipe that users can deploy on some
> arbitrary machine of their choosing that contains the test rig. All they
> should need do is provide a git ref, and then launching the container and
> running jobs should be a single command. They can simply run the tests
> twice, with and without the patch series in question.
> 

Sure, I can bundle run-perf in a container along with some helpers to simplify the usage.

>> The problem with those is that we can not simply use travis/gitlab/...
>> machines for running those tests, because we are measuring in-guest
>> actual performance.
> 
> As mentioned above - distinguish between the CI framework, and the
> actual test runner.
> 
> 
> 
>> Solution 3
>> ----------
>>
>> You name it. I bet there are many other ways to perform system-wide
>> performance testing.
> 
> IMHO ideally we should use GitLab CI as the dashboard for trigger
> the tests, and report results back.  We should not use the GitLab
> shared runners though for reasons you describe of course. Instead
> register our own dedicated bare metal machine to run the perf jobs.
> Cleber has already done some work in this area to provide custom
> runners for some of the integration testing work. Red Hat is providing
> the hardware for those runners, but I don't know what spare we have
> available, if any,  that could be dedicated for the performance
> regression tests
> 

Thanks for the pointer, I'll ask Cleber about the integration possibilities.

> 
> Regards,
> Daniel
> 



  reply	other threads:[~2020-11-26 11:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-26  8:10 Proposal for a regular upstream performance testing Lukáš Doktor
2020-11-26  8:23 ` Jason Wang
2020-11-26  9:43 ` Daniel P. Berrangé
2020-11-26 11:29   ` Lukáš Doktor [this message]
2020-11-30 13:23   ` Stefan Hajnoczi
2020-12-01  7:51     ` Lukáš Doktor
2020-11-26 10:17 ` Peter Maydell
2020-11-26 11:16   ` Lukáš Doktor
2020-11-30 13:25 ` Stefan Hajnoczi
2020-12-01  8:05   ` Lukáš Doktor
2020-12-01 10:22     ` Stefan Hajnoczi
2020-12-01 12:06       ` Lukáš Doktor
2020-12-01 12:35         ` Stefan Hajnoczi
2020-12-02  8:58           ` Chenqun (kuhn)
2020-12-02  8:23 ` Chenqun (kuhn)
2022-03-21  8:46 ` Lukáš Doktor
2022-03-21  9:42   ` Stefan Hajnoczi
2022-03-21 10:29     ` Lukáš Doktor
2022-03-22 15:05       ` Stefan Hajnoczi
2022-03-28  6:18         ` Lukáš Doktor
2022-03-28  9:57           ` Stefan Hajnoczi
2022-03-28 11:09             ` Lukáš Doktor

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=c05d6f4e-c51e-a2b2-e4f0-f22bb8740359@redhat.com \
    --to=ldoktor@redhat.com \
    --cc=aleksandar.qemu.devel@gmail.com \
    --cc=berrange@redhat.com \
    --cc=cheshi@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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).