Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions libs/vm/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,13 @@ def fedora_vm(
)


def fedora_image() -> str:
return container_image(base_image=constants.Images.Fedora.FEDORA_CONTAINER_IMAGE)
def fedora_image(arch: str | None = None) -> str:
if arch:
images = getattr(constants.ArchImages, arch.upper())
else:
images = constants.Images

return container_image(base_image=images.Fedora.FEDORA_CONTAINER_IMAGE, arch=arch)


def _fill_vm_spec_defaults(spec: VMSpec | None) -> VMSpec:
Expand All @@ -46,7 +51,7 @@ def _fill_vm_spec_defaults(spec: VMSpec | None) -> VMSpec:
vmi_spec.domain.devices.disks = vmi_spec.domain.devices.disks or []
vmi_spec.volumes = vmi_spec.volumes or []

disk, volume = containerdisk_storage(image=fedora_image())
disk, volume = containerdisk_storage(image=fedora_image(arch=vmi_spec.architecture))
vmi_spec.domain.devices.disks.insert(0, disk)
vmi_spec.volumes.insert(0, volume)

Expand Down
4 changes: 2 additions & 2 deletions libs/vm/vm.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,12 +227,12 @@ def from_existing(
return obj


def container_image(base_image: str) -> str:
def container_image(base_image: str, arch: str | None = None) -> str:
pull_secret = infra.generate_openshift_pull_secret_file()
image_info = get_oc_image_info(
image=base_image,
pull_secret=pull_secret,
architecture=py_config["cpu_arch"],
architecture=arch or py_config["cpu_arch"],
)
return f"{base_image}@{image_info['digest']}"

Expand Down
4 changes: 2 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -1026,7 +1026,7 @@ def mac_pool(admin_client, hco_namespace):

@pytest.fixture(scope="session")
def nodes_cpu_architecture():
return py_config["cpu_arch"]
return py_config.get("cpu_arch")


@pytest.fixture(scope="session")
Expand Down Expand Up @@ -1478,7 +1478,7 @@ def cluster_info(
f"\tOCS version: {ocs_current_version}\n"
f"\tCNI type: {get_cluster_cni_type(admin_client=admin_client)}\n"
f"\tWorkers type: {workers_type}\n"
f"\tCluster CPU Architecture: {nodes_cpu_architecture}\n"
f"\tCluster CPU Architecture: {py_config['cluster_arch']}\n"
f"\tIPv4 cluster: {ipv4_supported_cluster()}\n"
f"\tIPv6 cluster: {ipv6_supported_cluster()}\n"
f"\tVirtctl version: \n\t{virtctl_client_version}\n\t{virtctl_server_version}\n"
Expand Down