qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 421954: tests/qtest/boot-serial-test: Test Vi


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 421954: tests/qtest/boot-serial-test: Test Virt machine wi...
Date: Fri, 19 Feb 2021 09:22:35 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 421954f43b938bc48eb4ebad0d9953490cb4bfcc
      
https://github.com/qemu/qemu/commit/421954f43b938bc48eb4ebad0d9953490cb4bfcc
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M tests/qtest/boot-serial-test.c

  Log Message:
  -----------
  tests/qtest/boot-serial-test: Test Virt machine with 'max'

When using KVM, using a specific cpu type will only work if the
host CPU really is that exact CPU type.

During testing we can simply use the 'max' CPU which will select
all the features available from the host.

This allow running this test on a Cavium CN8890 (ThunderX cores).

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210205144345.2068758-4-f4bug@amsat.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c31fa24e9690ef62bd92571a8afaad9c8d54a037
      
https://github.com/qemu/qemu/commit/c31fa24e9690ef62bd92571a8afaad9c8d54a037
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.d/containers.yml

  Log Message:
  -----------
  gitlab: always build container images

Currently we attempt to skip building container images if the commits do
not involve changes to the dockerfiles or gitlab CI definitions.

Conceptually this makes sense, but there is a challenge in the real
world implementation of this in gitlab.

In the case of a CI pipeline triggered from a merge request, GitLab
knows the common ancestor of the merge request and the main git repo,
so it can trivially determine if any of the commits associated with
the MR change the dockerfiles.

In the case of a CI pipeline triggered from a push to a branch, it is
much more difficult. There is no concept of a common ancestor in this
case. Instead GitLab looks at the set of commits in the git push event.

On the surface this may sound reasonable, but it doesn't take into
account that a push event does not always contain the full set of
patches from a branch.

For example, consider pushing 5 commits, one of which contains a
dockerfile change. This will trigger a CI pipeline for the
containers. Now consider you do some more work on the branch and push 3
further commits, so you now have a branch of 8 commits. For the second
push GitLab will only look at the 3 most recent commits, the other 5
were already present. Thus GitLab will not realize that the branch has
dockerfile changes that need to trigger the container build.

This can cause real world problems:

 - Push 5 commits to branch "foo", including a dockerfile change

    => rebuilds the container images with content from "foo"
    => build jobs runs against containers from "foo"

 - Refresh your master branch with latest upstream master

    => rebuilds the container images with content from "master"
    => build jobs runs against containers from "master"

 - Push 3 more commits to branch "foo", with no dockerfile change

    => no container rebuild triggers
    => build jobs runs against containers from "master"

The "changes" conditional in gitlab is OK, *provided* your build
jobs are not relying on any external state from previous builds.

This is NOT the case in QEMU, because we are building container
images and these are cached. This is a scenario in which the
"changes" conditional is not usuable.

The only other way to avoid this problem would be to use the git
branch name as the container image tag, instead of always using
"latest". The downside of this approach is that the user's gitlab
registry will grow significantly until it starts to trigger
GitLab's automatic deletion policy.  Every time the user starts
a new branch they will have to trigger a rebuild of the container
images. Given this, we might as well just drop the conditional
and always build the container images. Most of the time docker
will be able to use the layer cache to avoid the most expensive
part of the rebuild process (installing all the RPMs/debs/etc)

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210216132954.295906-2-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 764a0747a7540ee216421c3f95de8ae46a433dab
      
https://github.com/qemu/qemu/commit/764a0747a7540ee216421c3f95de8ae46a433dab
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.d/crossbuilds.yml
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab: add fine grained job deps for all build jobs

This allows the build jobs to start running as soon as their respective
container image is ready, instead of waiting for all container builds
to finish.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210216132954.295906-3-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f5157dc770c6a8ac22872ea7959bc9d93d02ec10
      
https://github.com/qemu/qemu/commit/f5157dc770c6a8ac22872ea7959bc9d93d02ec10
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab: fix inconsistent indentation

The standard is to use 2 space indent, not 3.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210216132954.295906-4-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c071f19b0dfaedd87d7f4ef18d6dc3e1e298674d
      
https://github.com/qemu/qemu/commit/c071f19b0dfaedd87d7f4ef18d6dc3e1e298674d
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab-ci: Display Avocado log content when tests timeout

Since commit ba2232bae6d ("gitlab-ci: Refactor code that show logs
of failed acceptances") we display the log content of failing tests
(Avocado "FAIL" event).

Since we are also interested in tests timeouting, update our global
Avocado config to display log content for the "INTERRUPT" event,
"possible when the timeout is reached" (See [*]).

[*] 
https://avocado-framework.readthedocs.io/en/latest/guides/writer/chapters/writing.html#test-statuses

Suggested-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Message-Id: <20210215171438.935665-1-philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 7b59d10e23b7cf1e9fbc2c595852e40317aef1e6
      
https://github.com/qemu/qemu/commit/7b59d10e23b7cf1e9fbc2c595852e40317aef1e6
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  scripts/checkpatch: Improve the check for authors mangled by the mailing list

There were recently some patches on the list which had their "From:"
line mangled like this:

 From: qemu_oss--- via <qemu-devel@nongnu.org>

Since our test in the checkpatch.pl script did not trigger here, the
patches finally also ended up in a pull request, with the wrong author
set. So let's improve the regular expression to also complain on
these new patterns, too.

Message-Id: <20210216071512.1199827-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 3473f6ed88169e755123396447a5c119e74814c3
      
https://github.com/qemu/qemu/commit/3473f6ed88169e755123396447a5c119e74814c3
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab-ci: Disable vhost-kernel in build-disable job

Commit 299e6f19b3e ("vhost-net: revamp configure logic") added
the --enable-vhost-kernel option.
Disable it in the build-disable job.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Message-Id: <20210131104621.221602-1-f4bug@amsat.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 45d10d724b421c9a96720cc870de9533206ccdc9
      
https://github.com/qemu/qemu/commit/45d10d724b421c9a96720cc870de9533206ccdc9
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M tests/qtest/boot-sector.c

  Log Message:
  -----------
  tests/qtest/boot-sector: Check that the guest did not panic

The s390-ccw bios code panics if it can not boot successfully. In
this case, it does not make sense that we wait the full 600 seconds
for the boot sector test to finish and can signal the failure
immediately, thus let's check the status of the guest with the
"query-status" QMP command here, too.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20210212113141.854871-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 53c915c627898c3d196a9ae6bd1e08ce38c31777
      
https://github.com/qemu/qemu/commit/53c915c627898c3d196a9ae6bd1e08ce38c31777
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.yml

  Log Message:
  -----------
  gitlab-ci.yml: Run check-tcg with TCI

It's now possible to also run the non-x86 TCG tests with TCI.

Message-Id: <20210127055903.40148-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: fc4241827fffc761f0ca41536c1c7d88b1b1d0c4
      
https://github.com/qemu/qemu/commit/fc4241827fffc761f0ca41536c1c7d88b1b1d0c4
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  travis.yml: Limit simultaneous jobs to 3

Even though the host machines that run the Travis CI jobs have
quite a lot of CPUs (e.g. nproc in an aarch64 job reports 32), the
containers on Travis are still limited to 2 vCPUs according to:

 https://docs.travis-ci.com/user/reference/overview/#approx-boot-time

So we do not gain much when compiling with a job number based on
the output of "getconf _NPROCESSORS_ONLN" - quite the contrary, the
aarch64 containers are currently aborting quite often since they
are running out of memory. Thus let's rather use a fixed number
like 3 in the jobs here, so that e.g. two threads can actively run
while a third one might be waiting for I/O operations to complete.
This should hopefully fix the out-of-memory failures in the aarch64
CI jobs.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210217102531.1441557-1-thuth@redhat.com>
[AJB: add comment]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210217121932.19986-6-alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: ce42fe17ad2d2459436fdacbc207df3212a58428
      
https://github.com/qemu/qemu/commit/ce42fe17ad2d2459436fdacbc207df3212a58428
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    M .gitlab-ci.d/containers.yml
    M .gitlab-ci.d/crossbuilds.yml
    M .gitlab-ci.yml
    M .travis.yml
    M scripts/checkpatch.pl
    M tests/qtest/boot-sector.c
    M tests/qtest/boot-serial-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/huth-gitlab/tags/pull-request-2021-02-19' into staging

* Always build the container images in the gitlab-CI
* Some other small gitlab-CI improvements
* Some qtest fixes

# gpg: Signature made Fri 19 Feb 2021 06:10:20 GMT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2021-02-19:
  travis.yml: Limit simultaneous jobs to 3
  gitlab-ci.yml: Run check-tcg with TCI
  tests/qtest/boot-sector: Check that the guest did not panic
  gitlab-ci: Disable vhost-kernel in build-disable job
  scripts/checkpatch: Improve the check for authors mangled by the mailing list
  gitlab-ci: Display Avocado log content when tests timeout
  gitlab: fix inconsistent indentation
  gitlab: add fine grained job deps for all build jobs
  gitlab: always build container images
  tests/qtest/boot-serial-test: Test Virt machine with 'max'

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/6de76c5f3249...ce42fe17ad2d



reply via email to

[Prev in Thread] Current Thread [Next in Thread]