From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Fam Zheng" <fam@euphon.net>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: [PATCH v2 12/25] tests/docker: add script for automating container refresh
Date: Thu, 14 Jan 2021 13:02:32 +0000 [thread overview]
Message-ID: <20210114130245.1654081-13-berrange@redhat.com> (raw)
In-Reply-To: <20210114130245.1654081-1-berrange@redhat.com>
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
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
+#
+# 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)
--
2.29.2
next prev parent reply other threads:[~2021-01-14 13:24 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 ` Daniel P. Berrangé [this message]
2021-01-14 13:31 ` [PATCH v2 12/25] tests/docker: add script for automating container refresh Philippe Mathieu-Daudé
2021-01-15 20:35 ` Wainer dos Santos Moschetta
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=20210114130245.1654081-13-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--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).