Skip to content

Commit 6738a0e

Browse files
committed
Use vm.detect_package_manager() to check if apk is available
Signed-off-by: Gaëtan Lehmann <gaetan.lehmann@vates.tech>
1 parent 78479a1 commit 6738a0e

3 files changed

Lines changed: 7 additions & 6 deletions

File tree

lib/common.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class PackageManagerEnum(Enum):
6969
UNKNOWN = 1
7070
RPM = 2
7171
APT_GET = 3
72+
APK = 4
7273

7374
# Common VM images used in tests
7475
def vm_image(vm_key: str) -> str:

lib/vm.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -500,10 +500,11 @@ def detect_package_manager(self) -> PackageManagerEnum:
500500
""" Heuristic to determine the package manager on a unix distro. """
501501
if self.file_exists('/usr/bin/rpm') or self.file_exists('/bin/rpm'):
502502
return PackageManagerEnum.RPM
503-
elif self.file_exists('/usr/bin/apt-get'):
503+
if self.file_exists('/usr/bin/apt-get'):
504504
return PackageManagerEnum.APT_GET
505-
else:
506-
return PackageManagerEnum.UNKNOWN
505+
if self.file_exists('/sbin/apk'):
506+
return PackageManagerEnum.APK
507+
return PackageManagerEnum.UNKNOWN
507508

508509
def insert_cd(self, vdi_name: str) -> None:
509510
logging.info("Insert CD %r in VM %s", vdi_name, self.uuid)

tests/storage/storage.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from lib import config
77
from lib.commands import SSHCommandFailed
8-
from lib.common import Defer, GiB, MiB, TiB, strtobool, wait_for
8+
from lib.common import Defer, GiB, MiB, PackageManagerEnum, TiB, strtobool, wait_for
99
from lib.host import Host
1010
from lib.sr import SR
1111
from lib.vdi import VDI, ImageFormat
@@ -241,8 +241,7 @@ def xva_export_import(source_vm: VM, compression: XVACompression, temp_large_dir
241241
vm.wait_for_vm_running_and_ssh_up()
242242
install_randstream(vm)
243243

244-
is_alpine = vm.ssh_with_result('apk --version').returncode == 0
245-
if is_alpine:
244+
if vm.detect_package_manager() == PackageManagerEnum.APK:
246245
# growpart is not available in alpine 3.12
247246
# vm.ssh('apk add cloud-utils-growpart e2fsprogs-extra')
248247
vm.ssh('apk add gawk util-linux e2fsprogs-extra')

0 commit comments

Comments
 (0)