[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 18/22] Acceptance Tests: set up existing ssh keys by default
From: |
Cleber Rosa |
Subject: |
[PATCH 18/22] Acceptance Tests: set up existing ssh keys by default |
Date: |
Wed, 3 Feb 2021 12:23:53 -0500 |
It's questionable wether it's necessary to create one brand new pair
for each test. It's not questionable that it takes less time and
resources to just use the keys available at "tests/keys" that exist
for that exact reason.
If a location for the public key is not given explicitly, the
LinuxTest will now set up the existing pair of keys as the default.
This removes the need for a lot of boiler plate code.
To avoid the ssh client from erroring on permission issues, a
directory with restricive permissions is created for the private key.
This should still be a lot cheaper than creating a new key.
Signed-off-by: Cleber Rosa <crosa@redhat.com>
---
tests/acceptance/avocado_qemu/__init__.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tests/acceptance/avocado_qemu/__init__.py
b/tests/acceptance/avocado_qemu/__init__.py
index 8156224625..5f4dd6b9ec 100644
--- a/tests/acceptance/avocado_qemu/__init__.py
+++ b/tests/acceptance/avocado_qemu/__init__.py
@@ -11,6 +11,7 @@
import logging
import os
import re
+import shutil
import sys
import uuid
import tempfile
@@ -301,8 +302,21 @@ class LinuxTest(Test, LinuxSSHMixIn):
self.vm.add_args('-smp', '2')
self.vm.add_args('-m', '1024')
self.set_up_boot()
+ if ssh_pubkey is None:
+ ssh_pubkey, self.ssh_key = self.set_up_existing_ssh_keys()
self.set_up_cloudinit(ssh_pubkey)
+ def set_up_existing_ssh_keys(self):
+ ssh_public_key = os.path.join(SOURCE_DIR, 'tests', 'keys',
'id_rsa.pub')
+ source_private_key = os.path.join(SOURCE_DIR, 'tests', 'keys',
'id_rsa')
+ ssh_dir = os.path.join(self.workdir, '.ssh')
+ os.mkdir(ssh_dir, mode=0o700)
+ ssh_private_key = os.path.join(ssh_dir,
+ os.path.basename(source_private_key))
+ shutil.copyfile(source_private_key, ssh_private_key)
+ os.chmod(ssh_private_key, 0o600)
+ return (ssh_public_key, ssh_private_key)
+
def download_boot(self):
self.log.debug('Looking for and selecting a qemu-img binary to be '
'used to create the bootable snapshot image')
--
2.25.4
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, (continued)
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Beraldo Leal, 2021/02/04
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Alex Bennée, 2021/02/04
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Max Reitz, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Alex Bennée, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Max Reitz, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Alex Bennée, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Max Reitz, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Alex Bennée, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Philippe Mathieu-Daudé, 2021/02/09
- Re: [PATCH 07/22] tests/acceptance/virtiofs_submounts.py: evaluate string not length, Cleber Rosa, 2021/02/15
[PATCH 18/22] Acceptance Tests: set up existing ssh keys by default,
Cleber Rosa <=
[PATCH 15/22] Acceptance Tests: move useful ssh methods to base class, Cleber Rosa, 2021/02/03
Re: [PATCH 00/22] Acceptance Test: introduce base class for Linux based tests, Philippe Mathieu-Daudé, 2021/02/08