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
39 changes: 22 additions & 17 deletions tests/storage/test_libguestfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
from ocp_resources.pod import Pod
Comment thread
ema-aka-young marked this conversation as resolved.
from pytest_testconfig import config as py_config

from tests.storage.utils import create_cirros_dv
from utilities.constants import QUARANTINED, TIMEOUT_1MIN, UNPRIVILEGED_PASSWORD, UNPRIVILEGED_USER
from utilities.constants import TIMEOUT_1MIN, UNPRIVILEGED_PASSWORD, UNPRIVILEGED_USER
from utilities.infra import login_with_user_password
from utilities.storage import create_dv, get_dv_size_from_datasource

pytestmark = pytest.mark.post_upgrade

Expand All @@ -22,31 +22,41 @@ def virtctl_libguestfs_by_user(
f"virtctl guestfs {dv_created_by_specific_user.name} -n {dv_created_by_specific_user.namespace} \
{fs_group_flag}"
)

libguestfs_pod = Pod(
name=f"libguestfs-tools-{dv_created_by_specific_user.name}",
namespace=dv_created_by_specific_user.namespace,
)
libguestfs_pod.wait_for_status(status=Pod.Status.RUNNING, timeout=TIMEOUT_1MIN)
guestfs_proc.send("\n\n")
guestfs_proc.expect("$", timeout=TIMEOUT_1MIN)
guestfs_proc.expect(r"\$", timeout=TIMEOUT_1MIN)
yield guestfs_proc
guestfs_proc.send("exit\n")
guestfs_proc.expect(pexpect.EOF, timeout=TIMEOUT_1MIN)
guestfs_proc.close()
Pod(
name=f"libguestfs-tools-{dv_created_by_specific_user.name}",
namespace=dv_created_by_specific_user.namespace,
).wait_deleted()
libguestfs_pod.wait_deleted()


@pytest.fixture
def dv_created_by_specific_user(
request,
namespace,
client_for_test,
fedora_data_source_scope_module,
):
yield from create_cirros_dv(
name=request.param["data_volume_name"],
namespace=namespace.name,
with create_dv(
dv_name=request.param["data_volume_name"],
storage_class=py_config["default_storage_class"],
client=client_for_test,
)
namespace=namespace.name,
source_ref={
"kind": fedora_data_source_scope_module.kind,
"name": fedora_data_source_scope_module.name,
"namespace": fedora_data_source_scope_module.namespace,
},
size=get_dv_size_from_datasource(data_source=fedora_data_source_scope_module),
) as dv:
dv.wait_for_dv_success()
yield dv


@pytest.fixture()
Expand Down Expand Up @@ -86,13 +96,8 @@ def client_for_test(request, admin_client, unprivileged_client):
],
indirect=True,
)
@pytest.mark.xfail(
reason=f"{QUARANTINED}: Timeout exceeded. Tracked in CNV-62312",
run=False,
)
Comment thread
ema-aka-young marked this conversation as resolved.
@pytest.mark.s390x
def test_virtctl_libguestfs_with_specific_user(
client_for_test,
virtctl_libguestfs_by_user,
):
virtctl_libguestfs_by_user.sendline("libguestfs-test-tool")
Expand Down
23 changes: 0 additions & 23 deletions tests/storage/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,29 +388,6 @@ def create_windows19_vm(dv_name, namespace, client, vm_name, cpu_model, storage_
)


def create_cirros_dv(
namespace,
name,
storage_class,
client,
access_modes=None,
volume_mode=None,
dv_size=Images.Cirros.DEFAULT_DV_SIZE,
):
with create_dv(
dv_name=f"dv-{name}",
namespace=namespace,
url=get_http_image_url(image_directory=Images.Cirros.DIR, image_name=Images.Cirros.QCOW2_IMG),
size=dv_size,
storage_class=storage_class,
access_modes=access_modes,
volume_mode=volume_mode,
client=client,
) as dv:
dv.wait_for_dv_success()
yield dv


def check_snapshot_indication(snapshot, is_online):
snapshot_indications = snapshot.instance.status.indications
online = "Online"
Expand Down