From a925b5a0ca4aa3e63b084c0f6664fe815c2c9db0 Mon Sep 17 00:00:00 2001
From: Till Riedel <riedel@teco.edu>
Date: Tue, 17 Nov 2020 20:54:14 +0100
Subject: add --no-tty option to gpg (#669)

Make sure that gpg works even if the instance has no /dev/tty.  This has
been observed on Debian.

LP: #1813396
---
 cloudinit/gpg.py            | 2 +-
 cloudinit/tests/test_gpg.py | 3 ++-
 tools/.github-cla-signers   | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/cloudinit/gpg.py b/cloudinit/gpg.py
index be0ca0ea..3780326c 100644
--- a/cloudinit/gpg.py
+++ b/cloudinit/gpg.py
@@ -42,7 +42,7 @@ def recv_key(key, keyserver, retries=(1, 1)):
     @param retries: an iterable of sleep lengths for retries.
                     Use None to indicate no retries."""
     LOG.debug("Importing key '%s' from keyserver '%s'", key, keyserver)
-    cmd = ["gpg", "--keyserver=%s" % keyserver, "--recv-keys", key]
+    cmd = ["gpg", "--no-tty", "--keyserver=%s" % keyserver, "--recv-keys", key]
     if retries is None:
         retries = []
     trynum = 0
diff --git a/cloudinit/tests/test_gpg.py b/cloudinit/tests/test_gpg.py
index f96f5372..311dfad6 100644
--- a/cloudinit/tests/test_gpg.py
+++ b/cloudinit/tests/test_gpg.py
@@ -49,6 +49,7 @@ class TestReceiveKeys(CiTestCase):
         m_subp.return_value = ('', '')
         gpg.recv_key(key, keyserver, retries=retries)
         m_subp.assert_called_once_with(
-            ['gpg', '--keyserver=%s' % keyserver, '--recv-keys', key],
+            ['gpg', '--no-tty',
+             '--keyserver=%s' % keyserver, '--recv-keys', key],
             capture=True)
         m_sleep.assert_not_called()
diff --git a/tools/.github-cla-signers b/tools/.github-cla-signers
index 2090dc2a..b2464768 100644
--- a/tools/.github-cla-signers
+++ b/tools/.github-cla-signers
@@ -21,6 +21,7 @@ matthewruffell
 nishigori
 omBratteng
 onitake
+riedel
 slyon
 smoser
 sshedi
-- 
cgit v1.2.3