[Qemu-devel] [PATCH v2 01/43] docker: add "probe" command for configure

Alex Bennée posted 43 patches 7 years, 9 months ago
There is a newer version of this series
[Qemu-devel] [PATCH v2 01/43] docker: add "probe" command for configure
Posted by Alex Bennée 7 years, 9 months ago
From: Peter Maydell <peter.maydell@linaro.org>

This is a helper function for the configure script. It replies yes,
sudo or no to inform the user if non-interactive docker support is
available. We trap the Exception to fail gracefully.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/docker.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 1246ba9578..f8267586eb 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -390,6 +390,24 @@ class ImagesCommand(SubCommand):
     def run(self, args, argv):
         return Docker().command("images", argv, args.quiet)
 
+
+class ProbeCommand(SubCommand):
+    """Probe if we can run docker automatically"""
+    name = "probe"
+
+    def run(self, args, argv):
+        try:
+            docker = Docker()
+            if docker._command[0] == "docker":
+                print "yes"
+            elif docker._command[0] == "sudo":
+                print "sudo"
+        except Exception:
+            print "no"
+
+        return
+
+
 def main():
     parser = argparse.ArgumentParser(description="A Docker helper",
             usage="%s <subcommand> ..." % os.path.basename(sys.argv[0]))
-- 
2.17.0


Re: [Qemu-devel] [PATCH v2 01/43] docker: add "probe" command for configure
Posted by Fam Zheng 7 years, 9 months ago
On Thu, 04/19 14:58, Alex Bennée wrote:
> From: Peter Maydell <peter.maydell@linaro.org>
> 
> This is a helper function for the configure script. It replies yes,
> sudo or no to inform the user if non-interactive docker support is
> available. We trap the Exception to fail gracefully.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  tests/docker/docker.py | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index 1246ba9578..f8267586eb 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -390,6 +390,24 @@ class ImagesCommand(SubCommand):
>      def run(self, args, argv):
>          return Docker().command("images", argv, args.quiet)
>  
> +
> +class ProbeCommand(SubCommand):
> +    """Probe if we can run docker automatically"""
> +    name = "probe"
> +
> +    def run(self, args, argv):
> +        try:
> +            docker = Docker()
> +            if docker._command[0] == "docker":
> +                print "yes"
> +            elif docker._command[0] == "sudo":
> +                print "sudo"
> +        except Exception:
> +            print "no"

Non-zero exit code is better in 'no' case, but I guess it's not required by
configure. Either way:

Reviewed-by: Fam Zheng <famz@redhat.com>


> +
> +        return
> +
> +
>  def main():
>      parser = argparse.ArgumentParser(description="A Docker helper",
>              usage="%s <subcommand> ..." % os.path.basename(sys.argv[0]))
> -- 
> 2.17.0
>