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')
|
self.cancel('Failed to download/prepare boot image')
|
||||||
return boot.path
|
return boot.path
|
||||||
|
|
||||||
def download_cloudinit(self):
|
def download_cloudinit(self, ssh_pubkey=None):
|
||||||
self.log.info('Preparing cloudinit image')
|
self.log.info('Preparing cloudinit image')
|
||||||
try:
|
try:
|
||||||
cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso')
|
cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso')
|
||||||
@ -67,7 +67,8 @@ class BootLinuxBase(Test):
|
|||||||
password='password',
|
password='password',
|
||||||
# QEMU's hard coded usermode router address
|
# QEMU's hard coded usermode router address
|
||||||
phone_home_host='10.0.2.2',
|
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:
|
except Exception:
|
||||||
self.cancel('Failed to prepared cloudinit image')
|
self.cancel('Failed to prepared cloudinit image')
|
||||||
return cloudinit_iso
|
return cloudinit_iso
|
||||||
@ -80,19 +81,19 @@ class BootLinux(BootLinuxBase):
|
|||||||
timeout = 900
|
timeout = 900
|
||||||
chksum = None
|
chksum = None
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self, ssh_pubkey=None):
|
||||||
super(BootLinux, self).setUp()
|
super(BootLinux, self).setUp()
|
||||||
self.vm.add_args('-smp', '2')
|
self.vm.add_args('-smp', '2')
|
||||||
self.vm.add_args('-m', '1024')
|
self.vm.add_args('-m', '1024')
|
||||||
self.prepare_boot()
|
self.prepare_boot()
|
||||||
self.prepare_cloudinit()
|
self.prepare_cloudinit(ssh_pubkey)
|
||||||
|
|
||||||
def prepare_boot(self):
|
def prepare_boot(self):
|
||||||
path = self.download_boot()
|
path = self.download_boot()
|
||||||
self.vm.add_args('-drive', 'file=%s' % path)
|
self.vm.add_args('-drive', 'file=%s' % path)
|
||||||
|
|
||||||
def prepare_cloudinit(self):
|
def prepare_cloudinit(self, ssh_pubkey=None):
|
||||||
cloudinit_iso = self.download_cloudinit()
|
cloudinit_iso = self.download_cloudinit(ssh_pubkey)
|
||||||
self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso)
|
self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso)
|
||||||
|
|
||||||
def launch_and_wait(self):
|
def launch_and_wait(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user