Skip to content
Open
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
9 changes: 7 additions & 2 deletions libs/vm/factory.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from __future__ import annotations

from kubernetes.dynamic import DynamicClient
from pytest_testconfig import config as py_config

from libs.vm.spec import CPU, Devices, Domain, Memory, Metadata, Template, VMISpec, VMSpec
from libs.vm.vm import BaseVirtualMachine, container_image, containerdisk_storage
from utilities.constants import OS_FLAVOR_FEDORA, Images
from utilities.constants import OS_FLAVOR_FEDORA


def fedora_vm(
Expand All @@ -29,14 +30,18 @@ def fedora_vm(


def fedora_image() -> str:
return container_image(base_image=Images.Fedora.FEDORA_CONTAINER_IMAGE)
from utilities.constants import ArchImages

arch_images = getattr(ArchImages, py_config["cpu_arch"].upper())
return container_image(base_image=arch_images.Fedora.FEDORA_CONTAINER_IMAGE)


def _fill_vm_spec_defaults(spec: VMSpec | None) -> VMSpec:
spec = spec or base_vmspec()

vmi_spec = spec.template.spec

vmi_spec.architecture = vmi_spec.architecture or py_config["cpu_arch"]
vmi_spec.domain.devices = vmi_spec.domain.devices or Devices(rng={})
vmi_spec.domain.devices.disks = vmi_spec.domain.devices.disks or []
vmi_spec.volumes = vmi_spec.volumes or []
Expand Down
1 change: 1 addition & 0 deletions libs/vm/spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class Metadata:
@dataclass
class VMISpec:
domain: Domain
architecture: str | None = None
networks: list[Network] | None = None
volumes: list[Volume] | None = None
terminationGracePeriodSeconds: int | None = None # noqa: N815
Expand Down
1 change: 1 addition & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ markers =
rwx_default_storage: Tests that require RWX storage
descheduler: Tests that require kube-descheduler on nodes
remote_cluster: Tests that require a remote cluster
localnet: Tests that use node localnet topology

## Required operators
mtv: Tests that require the MTV operator to be installed
Expand Down
2 changes: 2 additions & 0 deletions tests/network/localnet/ipam/test_connectivity.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from libs.vm.vm import BaseVirtualMachine
from tests.network.localnet.liblocalnet import LOCALNET_IPAM_INTERFACE

pytestmark = pytest.mark.localnet


@pytest.mark.ipv4
@pytest.mark.polarion("CNV-14043")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@

import pytest

pytestmark = pytest.mark.localnet

__test__ = False

"""
Expand Down
2 changes: 2 additions & 0 deletions tests/network/localnet/test_default_bridge.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
from utilities.constants import QUARANTINED
from utilities.virt import migrate_vm_and_verify

pytestmark = pytest.mark.localnet


@pytest.mark.gating
@pytest.mark.single_nic
Expand Down
1 change: 1 addition & 0 deletions tests/network/localnet/test_jumbo_frames.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from utilities.virt import vm_console_run_commands

pytestmark = [
pytest.mark.localnet,
pytest.mark.special_infra,
pytest.mark.jumbo_frame,
]
Expand Down
2 changes: 2 additions & 0 deletions tests/network/localnet/test_ovs_bridge.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
)
from utilities.virt import migrate_vm_and_verify

pytestmark = pytest.mark.localnet


@pytest.mark.s390x
@pytest.mark.usefixtures("nncp_localnet_on_secondary_node_nic")
Expand Down