Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

virtio_fs_nfs_migration: Virtiofs migration testing over NFS #4190

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

zhencliu
Copy link
Contributor

@zhencliu zhencliu commented Oct 31, 2024

The following testing matrix is covered:
cache mode:
auto, never, always, metadata
writeback:
enabled and disabled
allow-direct-io
enabled and disabled
file-handles
mandatory and never

ID: 2966

@zhencliu zhencliu force-pushed the virtiofs_migration_nfs branch 8 times, most recently from a345b0e to 5ae85f0 Compare November 5, 2024 12:59
@zhencliu
Copy link
Contributor Author

zhencliu commented Nov 5, 2024

Hi @hellohellenmao , would you please review this patch? Testing on RHEL9.3 and Win2022 has passed, thanks.

@hellohellenmao
Copy link
Contributor

Hi @zhencliu
For this case, still need to cover the File handles matrix as below(Also in the Setup part in polarion case)

source:
# /usr/libexec/virtiofsd --shared-dir /home/timao/virtiofsd/source_mnt/ --socket-path /home/timao/virtiofsd/source_virtiofsd.sock --inode-file-handles=mandatory --migration-mode=file-handles --modcaps=+dac_read_search --cache auto & (working and migrating using file handles)
# /usr/libexec/virtiofsd --shared-dir /home/timao/virtiofsd/source_mnt/ --socket-path /home/timao/virtiofsd/source_virtiofsd.sock --inode-file-handles=never --migration-mode=file-handles --modcaps=+dac_read_search  --cache auto & (working without file handle and migrating using file handles)
target:
# /usr/libexec/virtiofsd --shared-dir /home/timao/virtiofsd/tgt_mnt/ --socket-path /home/timao/virtiofsd/tgt_virtiofsd.sock --modcaps=+dac_read_search --cache auto &

Thanks.

@zhencliu zhencliu force-pushed the virtiofs_migration_nfs branch 3 times, most recently from 142bc9f to 2b1d493 Compare November 12, 2024 02:48
@XueqiangWei
Copy link
Contributor

Hi @fbq815 , @xiagao, could you please help review it? Many thanks.

@fbq815
Copy link
Contributor

fbq815 commented Dec 5, 2024

@zhencliu we use memory-backend-file on s390x when we use memory-backend with virtio-fs, please reference to the usage of avocado-framework/avocado-vt@85915c0

@fbq815
Copy link
Contributor

fbq815 commented Dec 6, 2024

@zhencliu s390x.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles_mandatory.dio.cache_mode_never.s390-virtio:ERROR: 'NoneType' object has no attribute 'close' (12.06 s)
details added in the jira task

@xiagao
Copy link
Contributor

xiagao commented Dec 9, 2024

@zhencliu s390x.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles_mandatory.dio.cache_mode_never.s390-virtio:ERROR: 'NoneType' object has no attribute 'close' (12.06 s) details added in the jira task

win2025 on x86_64 also has this issue.

@zhencliu zhencliu force-pushed the virtiofs_migration_nfs branch 3 times, most recently from 6f8f60b to 1b8661d Compare January 24, 2025 08:24
@zhencliu
Copy link
Contributor Author

hi @hellohellenmao , two virtiofs scenario was added, would you please have a check? Thanks

Passed on RHEL9 and Win2025

The following testing matrix is covered:
cache mode:
  auto, never, always, metadata
writeback:
  enabled and disabled
allow-direct-io
  enabled and disabled
file-handles
  mandatory and never
virtiofs
  single fs and two fs

Note we usually use memory-backend-file on s390x for the virtio-fs
testing on RHEL, but for the live migration scenario, we have to use
memory-backend-memfd due to RHEL-58831.

Signed-off-by: Zhenchao Liu <[email protected]>
A full process name is required for the TASKKILL command, e.g.
TASKKILL /F /IM fio.exe /T

Signed-off-by: Zhenchao Liu <[email protected]>
@zhencliu zhencliu force-pushed the virtiofs_migration_nfs branch from 1b8661d to 5c5af34 Compare February 5, 2025 08:48
- file_handles:
required_virtiofsd_version = [1.13.0,)
virtiofsd_version_cmd = rpm -q virtiofsd | cut -d- -f2
fs_binary_extra_options_targetfs = " --modcaps=+dac_read_search"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be += but not =, or the migration will fail as the cache mode does not match to source daemon.

@hellohellenmao
Copy link
Contributor

hellohellenmao commented Feb 8, 2025

And for fio over --writeback, there will be only 4 jobs for fio job, but not the 5. @zhencliu Could you please help to check and update the code?
Thanks.

The current test results:

 (01/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_auto.q35: STARTED
 (01/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_auto.q35: PASS (78.44 s)
 (02/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_always.q35: STARTED
 (02/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_always.q35: PASS (78.22 s)
 (03/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_never.q35: STARTED
 (03/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_never.q35: PASS (78.33 s)
 (04/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_metadata.q35: STARTED
 (04/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.cache_mode_metadata.q35: PASS (75.66 s)
 (05/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.writeback.cache_mode_auto.q35: STARTED
 (05/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.writeback.cache_mode_auto.q35: FAIL: Failed to get all running fio process (69.58 s)
 (06/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.writeback.cache_mode_always.q35: STARTED
 (06/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.writeback.cache_mode_always.q35: FAIL: Failed to get all running fio process (69.78 s)
 (07/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.dio.cache_mode_never.q35: STARTED
 (07/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.find_paths.dio.cache_mode_never.q35: PASS (77.93 s)
 (08/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_auto.q35: STARTED
 (08/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_auto.q35: PASS (78.63 s)
 (09/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_always.q35: STARTED
 (09/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_always.q35: PASS (77.02 s)
 (10/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_never.q35: STARTED
 (10/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_never.q35: PASS (77.10 s)
 (11/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_metadata.q35: STARTED
 (11/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.cache_mode_metadata.q35: PASS (77.91 s)
 (12/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.writeback.cache_mode_auto.q35: STARTED
 (12/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.writeback.cache_mode_auto.q35:FAIL: Failed to get all running fio process (69.93 s)
 (13/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.writeback.cache_mode_always.q35: STARTED
 (13/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.writeback.cache_mode_always.q35: FAIL: Failed to get all running fio process (69.28 s)
 (14/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.dio.cache_mode_never.q35: STARTED
 (14/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.never.dio.cache_mode_never.q35: PASS (76.21 s)
 (15/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_auto.q35: STARTED
 (15/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_auto.q35: PASS (77.55 s)
 (16/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_always.q35: STARTED
 (16/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_always.q35: PASS (80.69 s)
 (17/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_never.q35: STARTED
 (17/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_never.q35: PASS (75.93 s)
 (18/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_metadata.q35: STARTED
 (18/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.cache_mode_metadata.q35: PASS (100.56 s)
 (19/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.writeback.cache_mode_auto.q35: STARTED
 (19/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.writeback.cache_mode_auto.q35: FAIL: Failed to get all running fio process (69.65 s)
 (20/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.writeback.cache_mode_always.q35: STARTED
 (20/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.writeback.cache_mode_always.q35: FAIL: Failed to get all running fio process (71.56 s)
 (21/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.dio.cache_mode_never.q35: STARTED
 (21/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.file_handles.mandatory.dio.cache_mode_never.q35: PASS (77.57 s)
 (22/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.multifs.find_paths.cache_mode_auto.q35: STARTED
 (22/22) Host_RHEL.m10.u0.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.RHEL.10.0.x86_64.io-github-autotest-qemu.virtio_fs_nfs_migration.multifs.find_paths.cache_mode_auto.q35: PASS (176.87 s)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants