qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] testing/next: docker, ansible
@ 2023-03-07 14:38 Alex Bennée
  2023-03-07 14:38 ` [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2 Alex Bennée
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Alex Bennée @ 2023-03-07 14:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé

A quick fix to docker which should help layer re-use. I was also
trying to get the KVM version of the boot_linux.py tests running on
the centos8-stream machine so we could disable the TCG equivalents.
Unfortunately this doesn't help as the TCG versions exercise both the
fdc emulation and the out-of-kernel APIC emulation. We may not care
too much about the fdc coverage but it would be awesome if we could
find a better way of exercising the x86 interrupt controller code than
running a very slow distro boot.

Alex Bennée (4):
  tests/docker: all add DOCKER_BUILDKIT to RUNC environment
  scripts/ci: add libslirp-devel to build-environment
  scripts/ci: update gitlab-runner playbook to handle CentOS
  gitlab: update centos-8-stream job

Marcin Juszkiewicz (1):
  tests/avocado: update AArch64 tests to Alpine 3.17.2

 .../custom-runners/centos-stream-8-x86_64.yml | 18 ++++++-----------
 .../org.centos/stream/8/build-environment.yml |  1 +
 scripts/ci/setup/gitlab-runner.yml            | 20 +++++++++++++++++--
 tests/avocado/machine_aarch64_virt.py         |  8 ++++----
 tests/docker/Makefile.include                 |  2 +-
 5 files changed, 30 insertions(+), 19 deletions(-)

-- 
2.39.2



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2
  2023-03-07 14:38 [PATCH 0/5] testing/next: docker, ansible Alex Bennée
@ 2023-03-07 14:38 ` Alex Bennée
  2023-03-07 15:03   ` Philippe Mathieu-Daudé
  2023-03-07 14:38 ` [PATCH 2/5] tests/docker: all add DOCKER_BUILDKIT to RUNC environment Alex Bennée
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Alex Bennée @ 2023-03-07 14:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Marcin Juszkiewicz, Peter Maydell,
	Beraldo Leal, open list:Virt

From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

To test Alpine boot on SBSA-Ref target we need Alpine Linux
'standard' image as 'virt' one lacks kernel modules.

So to minimalize Avocado cache I move test to 'standard' image.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Message-Id: <20230302191146.1790560-1-marcin.juszkiewicz@linaro.org>
---
 tests/avocado/machine_aarch64_virt.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/avocado/machine_aarch64_virt.py b/tests/avocado/machine_aarch64_virt.py
index 25dab8dc00..a90dc6ff4b 100644
--- a/tests/avocado/machine_aarch64_virt.py
+++ b/tests/avocado/machine_aarch64_virt.py
@@ -38,11 +38,11 @@ def test_alpine_virt_tcg_gic_max(self):
         :avocado: tags=accel:tcg
         """
         iso_url = ('https://dl-cdn.alpinelinux.org/'
-                   'alpine/v3.16/releases/aarch64/'
-                   'alpine-virt-3.16.3-aarch64.iso')
+                   'alpine/v3.17/releases/aarch64/'
+                   'alpine-standard-3.17.2-aarch64.iso')
 
         # Alpine use sha256 so I recalculated this myself
-        iso_sha1 = '0683bc089486d55c91bf6607d5ecb93925769bc0'
+        iso_sha1 = '76284fcd7b41fe899b0c2375ceb8470803eea839'
         iso_path = self.fetch_asset(iso_url, asset_hash=iso_sha1)
 
         self.vm.set_console()
@@ -65,7 +65,7 @@ def test_alpine_virt_tcg_gic_max(self):
         self.vm.add_args('-object', 'rng-random,id=rng0,filename=/dev/urandom')
 
         self.vm.launch()
-        self.wait_for_console_pattern('Welcome to Alpine Linux 3.16')
+        self.wait_for_console_pattern('Welcome to Alpine Linux 3.17')
 
 
     def common_aarch64_virt(self, machine):
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/5] tests/docker: all add DOCKER_BUILDKIT to RUNC environment
  2023-03-07 14:38 [PATCH 0/5] testing/next: docker, ansible Alex Bennée
  2023-03-07 14:38 ` [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2 Alex Bennée
@ 2023-03-07 14:38 ` Alex Bennée
  2023-03-07 14:38 ` [PATCH 3/5] scripts/ci: add libslirp-devel to build-environment Alex Bennée
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2023-03-07 14:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Fabiano Rosas, Beraldo Leal

It seems we also need to pass DOCKER_BUILDKIT as an argument to docker
itself to get the full benefit of caching.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Suggested-by: Fabiano Rosas <farosas@suse.de>
---
 tests/docker/Makefile.include | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 54ed77f671..9401525325 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -39,7 +39,7 @@ docker-qemu-src: $(DOCKER_SRC_COPY)
 # General rule for building docker images.
 docker-image-%: $(DOCKER_FILES_DIR)/%.docker
 	  $(call quiet-command,			\
-		$(RUNC) build				\
+		DOCKER_BUILDKIT=1 $(RUNC) build		\
 		$(if $V,,--quiet)			\
 		$(if $(NOCACHE),--no-cache,		\
 			$(if $(DOCKER_REGISTRY),--cache-from $(DOCKER_REGISTRY)/qemu/$*)) \
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/5] scripts/ci: add libslirp-devel to build-environment
  2023-03-07 14:38 [PATCH 0/5] testing/next: docker, ansible Alex Bennée
  2023-03-07 14:38 ` [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2 Alex Bennée
  2023-03-07 14:38 ` [PATCH 2/5] tests/docker: all add DOCKER_BUILDKIT to RUNC environment Alex Bennée
@ 2023-03-07 14:38 ` Alex Bennée
  2023-03-07 14:42   ` Thomas Huth
  2023-03-07 14:38 ` [PATCH 4/5] scripts/ci: update gitlab-runner playbook to handle CentOS Alex Bennée
  2023-03-07 14:38 ` [PATCH 5/5] gitlab: update centos-8-stream job Alex Bennée
  4 siblings, 1 reply; 8+ messages in thread
From: Alex Bennée @ 2023-03-07 14:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Beraldo Leal

Without libslip enabled we won't have user networking which means the
KVM tests won't run.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 scripts/ci/org.centos/stream/8/build-environment.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/ci/org.centos/stream/8/build-environment.yml b/scripts/ci/org.centos/stream/8/build-environment.yml
index 0d094d70c3..1ead77e2cb 100644
--- a/scripts/ci/org.centos/stream/8/build-environment.yml
+++ b/scripts/ci/org.centos/stream/8/build-environment.yml
@@ -55,6 +55,7 @@
           - librados-devel
           - librbd-devel
           - libseccomp-devel
+          - libslirp-devel
           - libssh-devel
           - libxkbcommon-devel
           - lzo-devel
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/5] scripts/ci: update gitlab-runner playbook to handle CentOS
  2023-03-07 14:38 [PATCH 0/5] testing/next: docker, ansible Alex Bennée
                   ` (2 preceding siblings ...)
  2023-03-07 14:38 ` [PATCH 3/5] scripts/ci: add libslirp-devel to build-environment Alex Bennée
@ 2023-03-07 14:38 ` Alex Bennée
  2023-03-07 14:38 ` [PATCH 5/5] gitlab: update centos-8-stream job Alex Bennée
  4 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2023-03-07 14:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Beraldo Leal

This was broken when we moved to using the pre-built packages as we
didn't take care to ensure we used RPMs where required.

NB: I could never get this to complete on my test setup but I suspect
this was down to network connectivity and timeouts while downloading.

Fixes: 69c4befba1 (scripts/ci: update gitlab-runner playbook to use latest runner)
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 scripts/ci/setup/gitlab-runner.yml | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/scripts/ci/setup/gitlab-runner.yml b/scripts/ci/setup/gitlab-runner.yml
index 95d4199c03..1a1b270ff2 100644
--- a/scripts/ci/setup/gitlab-runner.yml
+++ b/scripts/ci/setup/gitlab-runner.yml
@@ -48,13 +48,29 @@
     - debug:
         msg: gitlab-runner arch is {{ gitlab_runner_arch }}
 
-    - name: Download the matching gitlab-runner
+    - name: Download the matching gitlab-runner (DEB)
       get_url:
         dest: "/root/"
         url: "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_{{ gitlab_runner_arch }}.deb"
+      when:
+        - ansible_facts['distribution'] == 'Ubuntu'
+
+    - name: Download the matching gitlab-runner (RPM)
+      get_url:
+        dest: "/root/"
+        url: "https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_{{ gitlab_runner_arch }}.rpm"
+      when:
+        - ansible_facts['distribution'] == 'CentOS'
 
-    - name: Install gitlab-runner via package manager
+    - name: Install gitlab-runner via package manager (DEB)
       apt: deb="/root/gitlab-runner_{{ gitlab_runner_arch }}.deb"
+      when:
+        - ansible_facts['distribution'] == 'Ubuntu'
+
+    - name: Install gitlab-runner via package manager (RPM)
+      yum: name="/root/gitlab-runner_{{ gitlab_runner_arch }}.rpm"
+      when:
+        - ansible_facts['distribution'] == 'CentOS'
 
     - name: Register the gitlab-runner
       command: "/usr/bin/gitlab-runner register --non-interactive --url {{ gitlab_runner_server_url }} --registration-token {{ gitlab_runner_registration_token }} --executor shell --tag-list {{ ansible_facts[\"architecture\"] }},{{ ansible_facts[\"distribution\"]|lower }}_{{ ansible_facts[\"distribution_version\"] }} --description '{{ ansible_facts[\"distribution\"] }} {{ ansible_facts[\"distribution_version\"] }} {{ ansible_facts[\"architecture\"] }} ({{ ansible_facts[\"os_family\"] }})'"
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/5] gitlab: update centos-8-stream job
  2023-03-07 14:38 [PATCH 0/5] testing/next: docker, ansible Alex Bennée
                   ` (3 preceding siblings ...)
  2023-03-07 14:38 ` [PATCH 4/5] scripts/ci: update gitlab-runner playbook to handle CentOS Alex Bennée
@ 2023-03-07 14:38 ` Alex Bennée
  4 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2023-03-07 14:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Alex Bennée, Paolo Bonzini,
	Philippe Mathieu-Daudé, Beraldo Leal

A couple of clean-ups here:

  - inherit from the custom runners job for artefacts
  - call check-avocado directly
  - add some comments to the top about setup

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .../custom-runners/centos-stream-8-x86_64.yml  | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml b/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
index 068b0c4335..367424db78 100644
--- a/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
+++ b/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
@@ -1,4 +1,9 @@
+# All centos-stream-8 jobs should run successfully in an environment
+# setup by the scripts/ci/setup/stream/8/build-environment.yml task
+# "Installation of extra packages to build QEMU"
+
 centos-stream-8-x86_64:
+ extends: .custom_runner_template
  allow_failure: true
  needs: []
  stage: build
@@ -8,15 +13,6 @@ centos-stream-8-x86_64:
  rules:
  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
  - if: "$CENTOS_STREAM_8_x86_64_RUNNER_AVAILABLE"
- artifacts:
-   name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
-   when: on_failure
-   expire_in: 7 days
-   paths:
-     - build/tests/results/latest/results.xml
-     - build/tests/results/latest/test-results
-   reports:
-     junit: build/tests/results/latest/results.xml
  before_script:
  - JOBS=$(expr $(nproc) + 1)
  script:
@@ -25,6 +21,4 @@ centos-stream-8-x86_64:
  - ../scripts/ci/org.centos/stream/8/x86_64/configure
    || { cat config.log meson-logs/meson-log.txt; exit 1; }
  - make -j"$JOBS"
- - make NINJA=":" check
-   || { cat meson-logs/testlog.txt; exit 1; } ;
- - ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
+ - make NINJA=":" check check-avocado
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/5] scripts/ci: add libslirp-devel to build-environment
  2023-03-07 14:38 ` [PATCH 3/5] scripts/ci: add libslirp-devel to build-environment Alex Bennée
@ 2023-03-07 14:42   ` Thomas Huth
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-07 14:42 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: John Snow, Wainer dos Santos Moschetta, Marc-André Lureau,
	Markus Armbruster, Daniel P. Berrangé, Stefan Hajnoczi,
	Bastian Koppelmann, Cleber Rosa, Paolo Bonzini,
	Philippe Mathieu-Daudé, Beraldo Leal

On 07/03/2023 15.38, Alex Bennée wrote:
> Without libslip enabled we won't have user networking which means the
> KVM tests won't run.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   scripts/ci/org.centos/stream/8/build-environment.yml | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/scripts/ci/org.centos/stream/8/build-environment.yml b/scripts/ci/org.centos/stream/8/build-environment.yml
> index 0d094d70c3..1ead77e2cb 100644
> --- a/scripts/ci/org.centos/stream/8/build-environment.yml
> +++ b/scripts/ci/org.centos/stream/8/build-environment.yml
> @@ -55,6 +55,7 @@
>             - librados-devel
>             - librbd-devel
>             - libseccomp-devel
> +          - libslirp-devel
>             - libssh-devel
>             - libxkbcommon-devel
>             - lzo-devel

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2
  2023-03-07 14:38 ` [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2 Alex Bennée
@ 2023-03-07 15:03   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-07 15:03 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: John Snow, Thomas Huth, Wainer dos Santos Moschetta,
	Marc-André Lureau, Markus Armbruster,
	Daniel P. Berrangé, Stefan Hajnoczi, Bastian Koppelmann,
	Cleber Rosa, Paolo Bonzini, Marcin Juszkiewicz, Peter Maydell,
	Beraldo Leal, open list:Virt

On 7/3/23 15:38, Alex Bennée wrote:
> From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> 
> To test Alpine boot on SBSA-Ref target we need Alpine Linux
> 'standard' image as 'virt' one lacks kernel modules.
> 
> So to minimalize Avocado cache I move test to 'standard' image.
> 
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> Message-Id: <20230302191146.1790560-1-marcin.juszkiewicz@linaro.org>
> ---
>   tests/avocado/machine_aarch64_virt.py | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-03-07 15:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-07 14:38 [PATCH 0/5] testing/next: docker, ansible Alex Bennée
2023-03-07 14:38 ` [PATCH 1/5] tests/avocado: update AArch64 tests to Alpine 3.17.2 Alex Bennée
2023-03-07 15:03   ` Philippe Mathieu-Daudé
2023-03-07 14:38 ` [PATCH 2/5] tests/docker: all add DOCKER_BUILDKIT to RUNC environment Alex Bennée
2023-03-07 14:38 ` [PATCH 3/5] scripts/ci: add libslirp-devel to build-environment Alex Bennée
2023-03-07 14:42   ` Thomas Huth
2023-03-07 14:38 ` [PATCH 4/5] scripts/ci: update gitlab-runner playbook to handle CentOS Alex Bennée
2023-03-07 14:38 ` [PATCH 5/5] gitlab: update centos-8-stream job Alex Bennée

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).