Fix ansible-test Azure Pipelines container auth.

pull/72222/head
Matt Clay 4 years ago
parent 8465f285cc
commit 2ef4b7e07e

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Using the ``--remote`` option on Azure Pipelines now works from a job running in a container.

@ -151,8 +151,14 @@ class AzurePipelinesAuthHelper(CryptographyAuthHelper):
"""
def publish_public_key(self, public_key_pem): # type: (str) -> None
"""Publish the given public key."""
try:
agent_temp_directory = os.environ['AGENT_TEMPDIRECTORY']
except KeyError as ex:
raise MissingEnvironmentVariable(name=ex.args[0])
# the temporary file cannot be deleted because we do not know when the agent has processed it
with tempfile.NamedTemporaryFile(prefix='public-key-', suffix='.pem', delete=False) as public_key_file:
# placing the file in the agent's temp directory allows it to be picked up when the job is running in a container
with tempfile.NamedTemporaryFile(prefix='public-key-', suffix='.pem', delete=False, dir=agent_temp_directory) as public_key_file:
public_key_file.write(to_bytes(public_key_pem))
public_key_file.flush()

Loading…
Cancel
Save