Skip to content

New testcase 'verify_smb_linux' for CIFS module validation#4503

Open
SRIKKANTH wants to merge 3 commits into
mainfrom
smyakam/verify_smb_linux/2026_05_29
Open

New testcase 'verify_smb_linux' for CIFS module validation#4503
SRIKKANTH wants to merge 3 commits into
mainfrom
smyakam/verify_smb_linux/2026_05_29

Conversation

@SRIKKANTH
Copy link
Copy Markdown
Collaborator

@SRIKKANTH SRIKKANTH commented May 30, 2026

New testcase 'verify_smb_linux'

A test to verify CIFS module and SMB share functionality between two Linux VMs. SMB server and client tools are added which are useful in validating samba file share with Linux OS and CIFS module in kernel.

Description

Related Issue

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Documentation update

Checklist

  • Description is filled in above
  • No credentials, secrets, or internal details are included
  • Peer review requested (if not, add required peer reviewers after raising PR)
  • Tests executed and results posted below

Test Validation

Key Test Cases:

verify_smb_linux

Impacted LISA Features:

Tested Azure Marketplace Images:

  • canonical 0001-com-ubuntu-server-focal 20_04-lts-gen2 latest
  • Canonical ubuntu-25_10 server-arm64 latest
  • Canonical ubuntu-24_04-lts server latest
  • Canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
  • Canonical 0001-com-ubuntu-pro-microsoft 18_04-lts-arm64 latest"

Test Results

Image VM Size Result
canonical 0001-com-ubuntu-server-focal 20_04-lts-gen2 latest Standard_D2ads_v5 PASSED
Canonical ubuntu-25_10 server-arm64 latest Standard_D2ads_v5 PASSED
Canonical ubuntu-24_04-lts server latest Standard_D2ads_v5 PASSED
Canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest Standard_D2ads_v5 PASSED
Canonical 0001-com-ubuntu-pro-microsoft 18_04-lts-arm64 latest" Standard_D2ads_v5 PASSED

New testcase 'verify_smb_linux'

A test to verify CIFS module and SMB share functionality between two Linux VMs.
SMB server and client tools are added which are useful in validating samba file share with Linux OS and CIFS module in kernel.
@SRIKKANTH SRIKKANTH changed the title New testcase 'verify_smb_linux' New testcase 'verify_smb_linux' for CIFS module validation May 30, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds an SMB/CIFS validation scenario to the storage test suite and introduces reusable SMB server/client tools for Linux nodes.

Changes:

  • Added SmbServer and SmbClient tools for Samba setup, CIFS mounting, and cleanup.
  • Added CIFS as a mount filesystem type.
  • Added verify_smb_linux, a two-node Linux test that validates SMB versions and file I/O over a share.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 8 comments.

File Description
lisa/tools/smb.py Adds SMB server/client tool implementations.
lisa/tools/mkfs.py Adds cifs to the filesystem enum for mount usage.
lisa/tools/__init__.py Exports the new SMB tools.
lisa/microsoft/testsuites/core/storage.py Adds the SMB Linux validation test case.

Comment on lines +803 to +805
assert_that(file_content_client).described_as(
"SMB file content should match written content on client"
).is_equal_to(test_content)
Comment on lines +821 to +823
assert_that(file_content_server).described_as(
"SMB file content should match on server VM"
).is_equal_to(test_content)
)
from lisa.node import Node
from lisa.operating_system import BSD, Fedora, Posix, Windows
from lisa.operating_system import BSD, Debian, Fedora, Posix, Ubuntu, Windows
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Fixed

Comment on lines +745 to +747
except Exception as e:
log.info(f"SMB version {smb_version} failed: {e}")
failed_versions.append(smb_version)
Comment on lines +752 to +753
except Exception:
pass
Comment on lines +847 to +852
except Exception as e:
log.info(
f"Failed to cleanup SMB client mount point {mount_point}: "
f"{e}. Continuing cleanup..."
)
client_node.mark_dirty()
Comment on lines +859 to +864
except Exception as e:
log.info(
f"Failed to remove share {share_path} from SMB server: "
f"{e}. Finishing cleanup..."
)
server_node.mark_dirty()
Comment thread lisa/tools/smb.py
Comment on lines +116 to +117
# stop firewall to allow SMB traffic
self.node.tools[Firewall].stop()
@SRIKKANTH SRIKKANTH requested review from umfranci and removed request for kanchansenlaskar May 30, 2026 06:00
@github-actions
Copy link
Copy Markdown

❌ AI Test Selection — FAILED

74 test case(s) selected (view run)

Marketplace image: suse sles-15-sp6 gen2 latest

Count
✅ Passed 50
❌ Failed 5
⏭️ Skipped 20
Total 75
Test case details
Test Case Status Time (s) Message
verify_vmbus_devices_channels_bsd (lisa_0_40) ⏭️ SKIPPED 0.000 check skipped: OS type mismatch: ["requires [<class 'lisa.operating_system.BSD'>] but VM supports [<class 'lisa.operatin
verify_vmbus_devices_channels (lisa_0_41) ✅ PASSED 9.035
verify_vmbus_heartbeat_properties (lisa_0_42) ✅ PASSED 13.673
verify_cpu_count (lisa_0_4) ✅ PASSED 0.857
verify_l3_cache (lisa_0_3) ✅ PASSED 10.438
verify_vmbus_interrupts (lisa_0_5) ✅ PASSED 12.081
verify_default_targetpw (lisa_0_43) ✅ PASSED 4.108
verify_grub (lisa_0_44) ✅ PASSED 4.316
verify_network_file_configuration (lisa_0_46) ⏭️ SKIPPED 2.720 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_ifcfg_eth0 (lisa_0_47) ⏭️ SKIPPED 2.722 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_udev_rules_moved (lisa_0_48) ⏭️ SKIPPED 2.678 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_dhcp_file_configuration (lisa_0_49) ✅ PASSED 4.264
verify_serial_console_is_enabled (lisa_0_54) ✅ PASSED 4.404
verify_no_pre_exist_users (lisa_0_59) ✅ PASSED 6.171
verify_waagent_version (lisa_0_62) ✅ PASSED 2.605
verify_python_version (lisa_0_63) ❌ FAILED 4.000 failed. LisaException: The Python version 3.6.15 is lower than the required version 3.9. Please update Python to a versi
verify_resource_disk_file_system (lisa_0_61) ✅ PASSED 14.521
verify_azure_64bit_os (lisa_0_65) ✅ PASSED 2.914
verify_openssl_version (lisa_0_64) ✅ PASSED 4.248
verify_repository_installed (lisa_0_53) ✅ PASSED 32.732
verify_omi_version (lisa_0_66) ✅ PASSED 4.550
verify_no_swap_on_osdisk (lisa_0_67) ✅ PASSED 4.191
verify_essential_kernel_modules (lisa_0_68) ❌ FAILED 5.040 failed. AssertionError: [Not enabled essential kernel modules for Hyper-V / Azure platform found.] Expected <['wdt']> to
verify_yum_conf (lisa_0_50) ⏭️ SKIPPED 0.225 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_hv_kvp_daemon_installed (lisa_0_52) ⏭️ SKIPPED 2.514 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_cloud_init_error_status (lisa_0_57) ⏭️ SKIPPED 2.549 skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. unsupported distro to run verify_cloud_init test.
verify_client_active_interval (lisa_0_58) ✅ PASSED 5.518
verify_resource_disk_readme_file (lisa_0_60) ⏭️ SKIPPED 10.820 skipped: /mnt/DATALOSS_WARNING_README.txt is not present. DATALOSS_WARNING_README.txt is created by waagent, not cloud-i
verify_os_update (lisa_0_51) ✅ PASSED 94.075
verify_network_manager_not_installed (lisa_0_45) ⏭️ SKIPPED 0.225 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_boot_error_fail_warnings (lisa_0_56) ❌ FAILED 8.572 failed. AssertionError: [unexpected error/failure/warnings shown up in bootup log of distro SLES 15.6.0] Expected <["202
verify_bash_history_is_empty (lisa_0_55) ✅ PASSED 12.120
verify_gdb (lisa_0_1) ✅ PASSED 116.314
verify_kvp (lisa_0_0) ✅ PASSED 17.945
verify_serial_console (lisa_0_2) ✅ PASSED 46.774
verify_dhcp_client_timeout (lisa_0_39) ✅ PASSED 4.114
verify_dns_name_resolution (lisa_0_69) ✅ PASSED 6.086
verify_dns_name_resolution_after_upgrade (lisa_0_70) ✅ PASSED 137.024
verify_floppy_module_is_blacklisted (lisa_0_21) ✅ PASSED 3.058
verify_initrd_modules (lisa_0_34) ✅ PASSED 5.291
verify_hyperv_modules (lisa_0_35) ⏭️ SKIPPED 9.178 skipped: Hyper-V drivers are statically built into the kernel
verify_lis_modules_version (lisa_0_33) ⏭️ SKIPPED 2.357 skipped: SLES not supported. This test case only supports Redhat distros.
verify_reload_hyperv_modules (lisa_0_36) ⏭️ SKIPPED 11.961 skipped: The following modules were skipped during reload: hv_vmbus, hv_netvsc, hv_storvsc, hv_utils, hv_balloon, hid_h
verify_enable_kprobe (lisa_0_38) ✅ PASSED 4.485
verify_hyperv_platform_id (lisa_0_73) ⏭️ SKIPPED 19.626 skipped: Cannot find package msr-tools or rdmsr binary
verify_pmu_disabled_for_arm64 (lisa_0_27) ⏭️ SKIPPED 3.159 skipped: This test case does not support CpuArchitecture.X64. This validation is only for ARM64.
verify_timedrift_corrected (lisa_0_28) ✅ PASSED 59.946
verify_timesync_ptp (lisa_0_22) ✅ PASSED 6.266
verify_timesync_unbind_clockevent (lisa_0_24) ✅ PASSED 2.303
verify_timesync_ntp (lisa_0_25) ⏭️ SKIPPED 0.230 skipped: The distro SLES 15.6.0 doesn't support ntp, because the ntp package is no longer supported and it is implemente
verify_timesync_chrony (lisa_0_26) ✅ PASSED 8.448
verify_timesync_unbind_clocksource (lisa_0_23) ✅ PASSED 68.907
verify_vdso (lisa_0_19) ✅ PASSED 144.574
verify_vm_hot_resize_decrease (lisa_0_30) ✅ PASSED 65.787
verify_vm_resize_increase (lisa_0_31) ✅ PASSED 139.498
verify_vm_resize_decrease (lisa_0_32) ✅ PASSED 170.520
verify_vm_hot_resize (lisa_0_29) ❌ FAILED 1202.271 failed. LisaTimeoutException: Azure operation failed: timeout after 1200 seconds.
verify_vm_hot_resize (lisa_0_29) ❌ FAILED 1609.916 failed. LisaTimeoutException: Azure operation failed: timeout after 1200 seconds. after_case found panic in serial log.
verify_sched_core_basic (lisa_0_37) ⏭️ SKIPPED 2.393 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. SCHED_CORE support is only tested on Azu
verify_boot_with_debug_kernel (lisa_0_20) ⏭️ SKIPPED 0.342 skipped: SLES not supported. This test case only supports redhat/centos distro.
verify_zram_crypto_zstd (lisa_0_71) ⏭️ SKIPPED 0.257 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
verify_zram_crypto_lz4 (lisa_0_72) ⏭️ SKIPPED 0.281 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
smoke_test (lisa_0_6) ✅ PASSED 71.392
smoke_test_check_serial_console_pattern (lisa_0_7) ✅ PASSED 58.738
verify_deployment_provision_synthetic_nic (lisa_0_8) ✅ PASSED 52.457
verify_deployment_provision_standard_ssd_disk (lisa_0_9) ✅ PASSED 79.881
verify_deployment_provision_ephemeral_managed_disk (lisa_0_10) ✅ PASSED 55.425
verify_deployment_provision_premium_disk (lisa_0_11) ✅ PASSED 52.814
verify_deployment_provision_premiumv2_disk (lisa_0_12) ✅ PASSED 52.683
verify_deployment_provision_sriov (lisa_0_13) ✅ PASSED 66.753
verify_reboot_in_platform (lisa_0_14) ✅ PASSED 62.086
verify_deployment_provision_swiotlb_force (lisa_0_18) ⏭️ SKIPPED 15.033 skipped: GrubConfig is not available on this distribution: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. Gr
verify_deployment_provision_ultra_datadisk (lisa_0_15) ✅ PASSED 79.625
verify_stop_start_in_platform (lisa_0_16) ✅ PASSED 82.430
stress_reboot (lisa_0_17) ✅ PASSED 585.511

timeout=TIME_OUT,
requirement=simple_requirement(
min_count=2,
supported_os=[Debian, Ubuntu],
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

supported_os=[Debian], should be enough.

mount_point = f"/mnt/{share_name}"

failed_versions: List[str] = []
try:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This try doesn't have except.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

❌ AI Test Selection — FAILED

74 test case(s) selected (view run)

Marketplace image: suse sles-15-sp6 gen2 latest

Count
✅ Passed 50
❌ Failed 4
⏭️ Skipped 20
Total 74
Test case details
Test Case Status Time (s) Message
verify_vmbus_devices_channels_bsd (lisa_0_40) ⏭️ SKIPPED 0.000 check skipped: OS type mismatch: ["requires [<class 'lisa.operating_system.BSD'>] but VM supports [<class 'lisa.operatin
verify_vmbus_devices_channels (lisa_0_41) ✅ PASSED 10.018
verify_vmbus_heartbeat_properties (lisa_0_42) ✅ PASSED 16.471
verify_l3_cache (lisa_0_3) ✅ PASSED 1.643
verify_cpu_count (lisa_0_4) ✅ PASSED 11.123
verify_vmbus_interrupts (lisa_0_5) ✅ PASSED 12.869
verify_default_targetpw (lisa_0_43) ✅ PASSED 4.766
verify_grub (lisa_0_44) ✅ PASSED 5.023
verify_network_file_configuration (lisa_0_46) ⏭️ SKIPPED 2.785 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_ifcfg_eth0 (lisa_0_47) ⏭️ SKIPPED 2.713 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_udev_rules_moved (lisa_0_48) ⏭️ SKIPPED 2.805 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_dhcp_file_configuration (lisa_0_49) ✅ PASSED 4.751
verify_serial_console_is_enabled (lisa_0_54) ✅ PASSED 5.379
verify_no_pre_exist_users (lisa_0_59) ✅ PASSED 10.803
verify_waagent_version (lisa_0_62) ✅ PASSED 2.624
verify_resource_disk_file_system (lisa_0_61) ✅ PASSED 9.500
verify_python_version (lisa_0_63) ❌ FAILED 4.675 failed. LisaException: The Python version 3.6.15 is lower than the required version 3.9. Please update Python to a versi
verify_openssl_version (lisa_0_64) ✅ PASSED 4.376
verify_azure_64bit_os (lisa_0_65) ✅ PASSED 4.932
verify_no_swap_on_osdisk (lisa_0_67) ✅ PASSED 4.641
verify_omi_version (lisa_0_66) ✅ PASSED 5.271
verify_essential_kernel_modules (lisa_0_68) ❌ FAILED 4.459 failed. AssertionError: [Not enabled essential kernel modules for Hyper-V / Azure platform found.] Expected <['wdt']> to
verify_repository_installed (lisa_0_53) ✅ PASSED 30.477
verify_yum_conf (lisa_0_50) ⏭️ SKIPPED 0.255 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_hv_kvp_daemon_installed (lisa_0_52) ⏭️ SKIPPED 3.009 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_cloud_init_error_status (lisa_0_57) ⏭️ SKIPPED 2.990 skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. unsupported distro to run verify_cloud_init test.
verify_client_active_interval (lisa_0_58) ✅ PASSED 4.752
verify_os_update (lisa_0_51) ✅ PASSED 181.356
verify_resource_disk_readme_file (lisa_0_60) ⏭️ SKIPPED 11.163 skipped: /mnt/DATALOSS_WARNING_README.txt is not present. DATALOSS_WARNING_README.txt is created by waagent, not cloud-i
verify_network_manager_not_installed (lisa_0_45) ⏭️ SKIPPED 0.244 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_boot_error_fail_warnings (lisa_0_56) ❌ FAILED 9.180 failed. AssertionError: [unexpected error/failure/warnings shown up in bootup log of distro SLES 15.6.0] Expected <["202
verify_bash_history_is_empty (lisa_0_55) ✅ PASSED 13.492
verify_serial_console (lisa_0_2) ✅ PASSED 48.870
verify_gdb (lisa_0_1) ❌ FAILED 32.075 failed. MissingPackagesException: Package manager could not install packages: gcc
verify_kvp (lisa_0_0) ✅ PASSED 20.277
verify_dhcp_client_timeout (lisa_0_39) ✅ PASSED 5.573
verify_dns_name_resolution (lisa_0_69) ✅ PASSED 4.239
verify_dns_name_resolution_after_upgrade (lisa_0_70) ✅ PASSED 201.838
verify_floppy_module_is_blacklisted (lisa_0_21) ✅ PASSED 3.218
verify_initrd_modules (lisa_0_34) ✅ PASSED 7.311
verify_hyperv_modules (lisa_0_35) ⏭️ SKIPPED 8.853 skipped: Hyper-V drivers are statically built into the kernel
verify_lis_modules_version (lisa_0_33) ⏭️ SKIPPED 0.241 skipped: SLES not supported. This test case only supports Redhat distros.
verify_reload_hyperv_modules (lisa_0_36) ⏭️ SKIPPED 13.014 skipped: The following modules were skipped during reload: hv_vmbus, hv_netvsc, hv_storvsc, hv_utils, hv_balloon, hid_h
verify_enable_kprobe (lisa_0_38) ✅ PASSED 5.152
verify_hyperv_platform_id (lisa_0_73) ⏭️ SKIPPED 23.847 skipped: Cannot find package msr-tools or rdmsr binary
verify_pmu_disabled_for_arm64 (lisa_0_27) ⏭️ SKIPPED 0.469 skipped: This test case does not support CpuArchitecture.X64. This validation is only for ARM64.
verify_timedrift_corrected (lisa_0_28) ✅ PASSED 53.107
verify_timesync_ptp (lisa_0_22) ✅ PASSED 5.149
verify_timesync_unbind_clockevent (lisa_0_24) ✅ PASSED 3.261
verify_timesync_ntp (lisa_0_25) ⏭️ SKIPPED 0.250 skipped: The distro SLES 15.6.0 doesn't support ntp, because the ntp package is no longer supported and it is implemente
verify_timesync_chrony (lisa_0_26) ✅ PASSED 9.403
verify_timesync_unbind_clocksource (lisa_0_23) ✅ PASSED 47.236
verify_vdso (lisa_0_19) ✅ PASSED 160.310
verify_vm_resize_increase (lisa_0_31) ✅ PASSED 200.903
verify_vm_hot_resize (lisa_0_29) ✅ PASSED 698.571
verify_vm_hot_resize_decrease (lisa_0_30) ✅ PASSED 698.763
verify_vm_resize_decrease (lisa_0_32) ✅ PASSED 882.301
verify_sched_core_basic (lisa_0_37) ⏭️ SKIPPED 0.242 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. SCHED_CORE support is only tested on Azu
verify_boot_with_debug_kernel (lisa_0_20) ⏭️ SKIPPED 0.240 skipped: SLES not supported. This test case only supports redhat/centos distro.
verify_zram_crypto_zstd (lisa_0_71) ⏭️ SKIPPED 0.281 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
verify_zram_crypto_lz4 (lisa_0_72) ⏭️ SKIPPED 0.244 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
smoke_test (lisa_0_6) ✅ PASSED 60.096
smoke_test_check_serial_console_pattern (lisa_0_7) ✅ PASSED 63.162
verify_deployment_provision_synthetic_nic (lisa_0_8) ✅ PASSED 52.904
verify_deployment_provision_standard_ssd_disk (lisa_0_9) ✅ PASSED 61.157
verify_deployment_provision_ephemeral_managed_disk (lisa_0_10) ✅ PASSED 55.952
verify_deployment_provision_premium_disk (lisa_0_11) ✅ PASSED 52.929
verify_deployment_provision_premiumv2_disk (lisa_0_12) ✅ PASSED 54.332
verify_deployment_provision_sriov (lisa_0_13) ✅ PASSED 70.015
verify_reboot_in_platform (lisa_0_14) ✅ PASSED 61.702
verify_deployment_provision_ultra_datadisk (lisa_0_15) ✅ PASSED 78.039
verify_stop_start_in_platform (lisa_0_16) ✅ PASSED 206.315
verify_deployment_provision_swiotlb_force (lisa_0_18) ⏭️ SKIPPED 15.660 skipped: GrubConfig is not available on this distribution: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. Gr
stress_reboot (lisa_0_17) ✅ PASSED 587.313

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.

3 participants