tests/acceptance/boot_linux: Accept SSH pubkey
Let download_cloudinit() take an optional pubkey, which subclasses of BootLinux can pass through setUp(). Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20200909184028.262297-8-mreitz@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: WIllian Rampazzo <willianr@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
08dce386e7
commit
45ced7ca2f
@ -57,7 +57,7 @@ class BootLinuxBase(Test):
|
||||
self.cancel('Failed to download/prepare boot image')
|
||||
return boot.path
|
||||
|
||||
def download_cloudinit(self):
|
||||
def download_cloudinit(self, ssh_pubkey=None):
|
||||
self.log.info('Preparing cloudinit image')
|
||||
try:
|
||||
cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso')
|
||||
@ -67,7 +67,8 @@ class BootLinuxBase(Test):
|
||||
password='password',
|
||||
# QEMU's hard coded usermode router address
|
||||
phone_home_host='10.0.2.2',
|
||||
phone_home_port=self.phone_home_port)
|
||||
phone_home_port=self.phone_home_port,
|
||||
authorized_key=ssh_pubkey)
|
||||
except Exception:
|
||||
self.cancel('Failed to prepared cloudinit image')
|
||||
return cloudinit_iso
|
||||
@ -80,19 +81,19 @@ class BootLinux(BootLinuxBase):
|
||||
timeout = 900
|
||||
chksum = None
|
||||
|
||||
def setUp(self):
|
||||
def setUp(self, ssh_pubkey=None):
|
||||
super(BootLinux, self).setUp()
|
||||
self.vm.add_args('-smp', '2')
|
||||
self.vm.add_args('-m', '1024')
|
||||
self.prepare_boot()
|
||||
self.prepare_cloudinit()
|
||||
self.prepare_cloudinit(ssh_pubkey)
|
||||
|
||||
def prepare_boot(self):
|
||||
path = self.download_boot()
|
||||
self.vm.add_args('-drive', 'file=%s' % path)
|
||||
|
||||
def prepare_cloudinit(self):
|
||||
cloudinit_iso = self.download_cloudinit()
|
||||
def prepare_cloudinit(self, ssh_pubkey=None):
|
||||
cloudinit_iso = self.download_cloudinit(ssh_pubkey)
|
||||
self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso)
|
||||
|
||||
def launch_and_wait(self):
|
||||
|
Loading…
Reference in New Issue
Block a user