qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Wainer dos Santos Moschetta <wainersm@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: "Fam Zheng" <fam@euphon.net>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: Re: [PATCH v2 12/25] tests/docker: add script for automating container refresh
Date: Fri, 15 Jan 2021 17:35:11 -0300	[thread overview]
Message-ID: <71896ff9-3b67-5d68-61da-695497cd19c8@redhat.com> (raw)
In-Reply-To: <20210114130245.1654081-13-berrange@redhat.com>

Hi,

On 1/14/21 10:02 AM, Daniel P. Berrangé wrote:
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   tests/docker/dockerfiles/refresh | 53 ++++++++++++++++++++++++++++++++
>   1 file changed, 53 insertions(+)
>   create mode 100755 tests/docker/dockerfiles/refresh
>
> diff --git a/tests/docker/dockerfiles/refresh b/tests/docker/dockerfiles/refresh

My suggestion is to rename the file to gen_dockerfiles.py and move to 
the parent directory.

To the best of my knowledge this community isn't picky about the style 
of Python code but if you run pylint you gonna see some warns worth a 
fix (mostly about bad indentation).

> new file mode 100755
> index 0000000000..b1d99963e9
> --- /dev/null
> +++ b/tests/docker/dockerfiles/refresh
> @@ -0,0 +1,53 @@
> +#!/usr/bin/python3
> +#
> +# Re-generate container recipes
> +#
> +# This script uses the "lcitool" available from
> +#
> +#   https://gitlab.com/libvirt/libvirt-ci

Shouldn't we document somewhere else the use of this tool in QEMU? For 
those who don't know its purpose, how it can be installed/extended, 
etc... maybe having a README under tests/docker or just appending some 
words on "Docker based tests" section from docs/devel/testing.rst?

- Wainer

> +#
> +# Copyright (c) 2020 Red Hat Inc.
> +#
> +# This work is licensed under the terms of the GNU GPL, version 2
> +# or (at your option) any later version. See the COPYING file in
> +# the top-level directory.
> +
> +import sys
> +import os
> +import subprocess
> +
> +if len(sys.argv) != 2:
> +   print("syntax: %s PATH-TO-LCITOOL" % sys.argv[0], file=sys.stderr)
> +   sys.exit(1)
> +
> +lcitool_path=sys.argv[1]
> +
> +def atomic_write(filename, content):
> +   try:
> +      with open(filename + ".tmp", "w") as fp:
> +         print(content, file=fp, end="")
> +         os.replace(filename + ".tmp", filename)
> +   except Exception as ex:
> +      os.unlink(filename + ".tmp")
> +      raise
> +
> +def generate_image(filename, host, cross=None, trailer=None):
> +   print("Generate %s" % filename)
> +   args = [lcitool_path, "dockerfile"]
> +   if cross is not None:
> +      args.extend(["--cross", cross])
> +   args.extend([host, "qemu"])
> +   lcitool=subprocess.run(args, capture_output=True)
> +
> +   if lcitool.returncode != 0:
> +      raise Exception("Failed to generate %s: %s" % (filename, lcitool.stderr))
> +
> +   content = lcitool.stdout.decode("utf8")
> +   if trailer is not None:
> +      content += trailer
> +   atomic_write(filename, content)
> +
> +try:
> +   pass
> +except Exception as ex:
> +   print(str(ex), file=sys.stderr)



  parent reply	other threads:[~2021-01-15 20:36 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 13:02 [PATCH v2 00/25] tests/docker: start using libvirt-ci's "lcitool" for dockerfiles Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 01/25] hw/usb/ccid: remove references to NSS Daniel P. Berrangé
2021-01-15 13:42   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 02/25] tests/docker: don't use BUILDKIT in GitLab either Daniel P. Berrangé
2021-01-15 13:53   ` Wainer dos Santos Moschetta
2021-01-15 13:58     ` Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 03/25] tests/docker: use project specific container registries Daniel P. Berrangé
2021-01-14 13:21   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 04/25] tests/docker: use explicit docker.io registry Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 05/25] tests/docker: remove travis container Daniel P. Berrangé
2021-01-14 13:22   ` Philippe Mathieu-Daudé
2021-01-15 14:50   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 06/25] tests/docker: remove FEATURES env var from templates Daniel P. Berrangé
2021-01-14 14:01   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 07/25] tests/docker: fix sorting in package lists Daniel P. Berrangé
2021-01-15 18:06   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 08/25] tests/docker: fix mistakes in centos " Daniel P. Berrangé
2021-01-15 18:39   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 09/25] tests/docker: fix mistakes in fedora package list Daniel P. Berrangé
2021-01-15 18:46   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 10/25] tests/docker: fix mistakes in ubuntu package lists Daniel P. Berrangé
2021-01-15 18:55   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 11/25] tests/docker: remove mingw packages from Fedora Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 12/25] tests/docker: add script for automating container refresh Daniel P. Berrangé
2021-01-14 13:31   ` Philippe Mathieu-Daudé
2021-01-15 20:35   ` Wainer dos Santos Moschetta [this message]
2021-01-14 13:02 ` [PATCH v2 13/25] tests/docker: expand centos7 package list Daniel P. Berrangé
2021-01-14 13:34   ` Philippe Mathieu-Daudé
2021-03-03 14:51   ` Thomas Huth
2021-03-03 15:04     ` Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 14/25] tests/docker: expand centos8 " Daniel P. Berrangé
2021-01-14 13:34   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 15/25] tests/docker: expand fedora " Daniel P. Berrangé
2021-01-14 13:58   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 16/25] tests/docker: expand ubuntu1804 " Daniel P. Berrangé
2021-01-14 13:58   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 17/25] tests/docker: expand ubuntu2004 " Daniel P. Berrangé
2021-01-14 13:59   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 18/25] tests/docker: expand opensuse-leap " Daniel P. Berrangé
2021-01-14 13:59   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 19/25] tests/docker: auto-generate centos7 with lcitool Daniel P. Berrangé
2021-01-14 13:36   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 20/25] tests/docker: auto-generate centos8 " Daniel P. Berrangé
2021-01-14 13:36   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 21/25] tests/docker: auto-generate fedora " Daniel P. Berrangé
2021-01-14 13:37   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 22/25] tests/docker: auto-generate ubuntu1804 " Daniel P. Berrangé
2021-01-14 13:37   ` Philippe Mathieu-Daudé
2021-01-14 13:39   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 23/25] tests/docker: auto-generate ubuntu2004 " Daniel P. Berrangé
2021-01-14 13:56   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 24/25] tests/docker: auto-generate opensuse-leap " Daniel P. Berrangé
2021-01-14 13:57   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 25/25] tests/docker: remove ubuntu container Daniel P. Berrangé

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=71896ff9-3b67-5d68-61da-695497cd19c8@redhat.com \
    --to=wainersm@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=fam@euphon.net \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --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 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).