Skip to content

New testcase 'verify_smb_linux'#4184

Closed
SRIKKANTH wants to merge 1 commit into
mainfrom
smyakam/verify_smb_linux/03_01_2025
Closed

New testcase 'verify_smb_linux'#4184
SRIKKANTH wants to merge 1 commit into
mainfrom
smyakam/verify_smb_linux/03_01_2025

Conversation

@SRIKKANTH

Copy link
Copy Markdown
Collaborator

A comprehensive test to verify CIFS module and SMB share functionality between two Linux VMs.

@SRIKKANTH SRIKKANTH requested a review from LiliDeng as a code owner January 2, 2026 20:00
@SRIKKANTH

Copy link
Copy Markdown
Collaborator Author

Depended on PR #4182

@SRIKKANTH SRIKKANTH force-pushed the smyakam/verify_smb_linux/03_01_2025 branch from cfb9c2e to 4ac2dad Compare January 2, 2026 20:20
@LiliDeng LiliDeng requested a review from Copilot January 4, 2026 03:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a new test case verify_smb_linux to validate CIFS module and SMB share functionality between two Linux VMs. The test creates two VMs in Azure, configures one as an SMB server and the other as a client, then validates SMB mounting and file I/O operations across multiple SMB versions (2.0, 2.1, 3.0, 3.1.1).

Critical Issue: The test cannot execute as written because it depends on SmbClient and SmbServer tools that do not exist in the codebase. These tools must be implemented before the test can be functional.

Key Changes

  • Adds comprehensive SMB/CIFS testing between two Linux VMs
  • Tests multiple SMB protocol versions (2.0, 2.1, 3.0, 3.1.1)
  • Validates bidirectional file I/O through SMB shares

Comment thread lisa/microsoft/testsuites/core/storage.py Outdated
Comment thread lisa/microsoft/testsuites/core/storage.py
Comment thread lisa/microsoft/testsuites/core/storage.py Outdated
Comment thread lisa/microsoft/testsuites/core/storage.py Outdated
Comment thread lisa/microsoft/testsuites/core/storage.py
Comment thread lisa/microsoft/testsuites/core/storage.py
Comment thread lisa/microsoft/testsuites/core/storage.py Outdated
timeout=TIME_OUT,
requirement=simple_requirement(
min_count=2,
unsupported_os=[Redhat, CBLMariner, AlmaLinux, BSD, Windows],

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.

Why is Redhat, CBLMariner and Alma unsupported?
In the SMBTool, the below line exists

if isinstance(self.node.os, (CBLMariner, Redhat, Fedora, Oracle, Suse)):

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.

SMB "server" packages are not officially supported by Mariner. Redhat family have issues SELinux etc.
Only Ubuntu, Debian and SUSE are supported for this test case now.

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.

Only Ubuntu, Debian and SUSE are supported for this test case now.

Do you want to rather use supported_os requirement in that case?

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.

Redhat has issues because of SELinux, we can't make it work in test code?
Do we have a link for SMB "server" packages are not officially supported by Mariner

smb_client.unmount_share(mount_point)
smb_client.cleanup_mount_point(mount_point)
except Exception as e:
log.warning(

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.

Dont use warning

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.

changed to "log.error()"

@adityagesh adityagesh Jan 6, 2026

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.

Use log.info or log.debug. If you need to exit, you can raise an Exception

smb_server.stop()
smb_server.remove_share(share_path)
except Exception as e:
log.warning(

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.

Dont use warning

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.

changed to "log.error()"

smb_server = server_node.tools[SmbServer]
smb_server.stop()
smb_server.remove_share(share_path)
except Exception as e:

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.

If cleanup fails, mark node as dirty

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 as suggested.

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.

added comment below

Comment thread lisa/microsoft/testsuites/core/storage.py
smb_server.create_share(share_name, share_path)

# Step 8: Repeat for different SMB versions
for smb_version in smb_versions:

@adityagesh adityagesh Jan 5, 2026

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.

In the current logic, if one version fails, the case fails and exits.
Is that the expected? or do you want to verify each version independently?

Comment thread lisa/microsoft/testsuites/core/storage.py Outdated
for role_name, role_node in (("server", server_node), ("client", client_node)):
if not role_node.tools[KernelConfig].is_enabled("CONFIG_CIFS"):
raise LisaException(
f"CIFS module must be present for SMB testing on {role_name} node"

@adityagesh adityagesh Jan 5, 2026

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.

Since we are not printing the node being assigned as server and client, printing the role_name does not add value in the logging.
Do you rather want to print the node name? or I think it's fine to just have it like "CIFS module must be present on the node", as both nodes are identical

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.

Since both the nodes are identical its okay this way.

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.

In that case "{role_name}" does not add any value in the logging statement, you can replace it with "CIFS module must be present" ?

Comment thread lisa/microsoft/testsuites/core/storage.py Outdated
@LiliDeng

LiliDeng commented Jan 5, 2026

Copy link
Copy Markdown
Collaborator

@SRIKKANTH please make the two PRs into one PR, so that we can validate it.

@SRIKKANTH

Copy link
Copy Markdown
Collaborator Author

@SRIKKANTH please make the two PRs into one PR, so that we can validate it.

Merged both PRs.

)
bad_cleanup = True
if bad_cleanup:
raise BadEnvironmentStateException("SMB test cleanup encountered errors.")

@adityagesh adityagesh Jan 6, 2026

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.

raising BadEnvironmentStateException in the case will cause test case failure.

You are running the cleanup in the case itself, hence even if your test logic succeeds, but the cleanup fails, the case will fail.

You can move the cleanup to after case, or ensure that cleanup does not raise an Exception within the case.
If you are moving the cleanup to after case, use self.node.mark_dirty() because BadEnvironmentStateException does not mark the env as dirty in after case

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment thread lisa/tools/smb.py
# Install client utilities
if isinstance(
self.node.os,
(Ubuntu, Debian, CBLMariner, CoreOs, Fedora, Oracle, Redhat, Suse, Alpine),

Copilot AI Jan 8, 2026

Copy link

Choose a reason for hiding this comment

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

The _install method for SmbClient includes CBLMariner in the supported distributions list, but the test case excludes CBLMariner in its requirements (line 624 of storage.py). This creates an inconsistency in which distributions are actually supported for SMB client functionality.

Suggested change
(Ubuntu, Debian, CBLMariner, CoreOs, Fedora, Oracle, Redhat, Suse, Alpine),
(Ubuntu, Debian, CoreOs, Fedora, Oracle, Redhat, Suse, Alpine),

Copilot uses AI. Check for mistakes.
Comment thread lisa/tools/smb.py
Comment on lines +164 to +170
mount_options = [
f"vers={smb_version}",
"file_mode=0777",
"dir_mode=0777",
"guest",
]

Copilot AI Jan 8, 2026

Copy link

Choose a reason for hiding this comment

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

The mount options use hardcoded permissions (file_mode=0777, dir_mode=0777) which create a security risk. Consider making these configurable via the options parameter or using more restrictive defaults like 0755.

Suggested change
mount_options = [
f"vers={smb_version}",
"file_mode=0777",
"dir_mode=0777",
"guest",
]
mount_options: List[str] = [
f"vers={smb_version}",
"guest",
]
# Apply default permissions only if not specified by caller
caller_options = options or []
if not any(opt.startswith("file_mode=") for opt in caller_options):
mount_options.append("file_mode=0755")
if not any(opt.startswith("dir_mode=") for opt in caller_options):
mount_options.append("dir_mode=0755")

Copilot uses AI. Check for mistakes.
Comment thread lisa/microsoft/testsuites/core/storage.py
Comment on lines +624 to +625
unsupported_os=[Redhat, CBLMariner, AlmaLinux, BSD, Windows],
),

Copilot AI Jan 8, 2026

Copy link

Choose a reason for hiding this comment

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

The test excludes Redhat, CBLMariner, and AlmaLinux from the supported_os list, but there's no clear documentation explaining why these distributions are unsupported. Consider adding a comment explaining the technical reason (e.g., package availability issues, known bugs, or version compatibility problems) to help future maintainers understand this decision.

Copilot uses AI. Check for mistakes.
Comment thread lisa/tools/smb.py
Comment on lines +55 to +56
elif isinstance(self.node.os, (Debian, CoreOs, Fedora, Oracle, Redhat, Suse)):
self.node.os.install_packages(["samba", "cifs-utils"])

Copilot AI Jan 8, 2026

Copy link

Choose a reason for hiding this comment

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

The _install method includes CBLMariner in the installation logic, but the test case explicitly excludes CBLMariner in its requirements (line 624 of storage.py). Either CBLMariner should be removed from this installation list to match the test requirements, or the test should support CBLMariner. This inconsistency could lead to confusion about which distributions are actually supported.

Copilot uses AI. Check for mistakes.
Comment thread lisa/tools/smb.py
Comment thread lisa/tools/smb.py Outdated
Comment on lines +77 to +78
# Set permissions for the share directory
self.node.tools[Chmod].chmod(share_path, "777", sudo=True)

Copilot AI Jan 8, 2026

Copy link

Choose a reason for hiding this comment

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

Setting directory permissions to 777 creates a security risk by allowing any user to read, write, and execute files in the share directory. While this might be acceptable for testing purposes, consider using more restrictive permissions (e.g., 755 or 775) and document the security implications, especially if this code could be used as a reference for production setups.

Suggested change
# Set permissions for the share directory
self.node.tools[Chmod].chmod(share_path, "777", sudo=True)
# Set permissions for the share directory.
# Use 775 to avoid world-writable permissions (777) while still
# allowing group members to write to the share directory.
self.node.tools[Chmod].chmod(share_path, "775", sudo=True)

Copilot uses AI. Check for mistakes.
Comment thread lisa/tools/smb.py
@SRIKKANTH SRIKKANTH marked this pull request as draft March 17, 2026 07:37
@SRIKKANTH SRIKKANTH force-pushed the smyakam/verify_smb_linux/03_01_2025 branch from b58aa41 to 8a9b6c4 Compare May 3, 2026 19:27
@github-actions

github-actions Bot commented May 3, 2026

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 49
❌ Failed 5
⏭️ Skipped 20
Total 74
Test case details
Test Case Status Time (s) Message
verify_vmbus_devices_channels_bsd (lisa_0_14) ⏭️ 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_15) ✅ PASSED 3.016
verify_vmbus_heartbeat_properties (lisa_0_16) ✅ PASSED 12.086
verify_serial_console (lisa_0_0) ✅ PASSED 43.371
verify_deployment_provision_synthetic_nic (lisa_0_3) ✅ PASSED 48.972
verify_deployment_provision_standard_ssd_disk (lisa_0_4) ✅ PASSED 50.509
smoke_test (lisa_0_1) ✅ PASSED 50.759
smoke_test_check_serial_console_pattern (lisa_0_2) ✅ PASSED 51.328
verify_deployment_provision_ephemeral_managed_disk (lisa_0_5) ✅ PASSED 46.519
verify_deployment_provision_premiumv2_disk (lisa_0_7) ✅ PASSED 46.911
verify_deployment_provision_sriov (lisa_0_8) ✅ PASSED 52.883
verify_deployment_provision_premium_disk (lisa_0_6) ✅ PASSED 75.395
verify_deployment_provision_ultra_datadisk (lisa_0_10) ✅ PASSED 47.702
verify_reboot_in_platform (lisa_0_9) ✅ PASSED 134.311
verify_deployment_provision_swiotlb_force (lisa_0_13) ⏭️ SKIPPED 8.222 skipped: GrubConfig is not available on this distribution: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. Gr
verify_stop_start_in_platform (lisa_0_11) ✅ PASSED 196.396
stress_reboot (lisa_0_12) ✅ PASSED 588.268
verify_default_targetpw (lisa_0_36) ✅ PASSED 1.735
verify_grub (lisa_0_37) ✅ PASSED 1.838
verify_network_file_configuration (lisa_0_39) ⏭️ SKIPPED 1.387 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_ifcfg_eth0 (lisa_0_40) ⏭️ SKIPPED 3.856 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_udev_rules_moved (lisa_0_41) ⏭️ SKIPPED 0.271 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_dhcp_file_configuration (lisa_0_42) ✅ PASSED 0.871
verify_repository_installed (lisa_0_46) ✅ PASSED 26.472
verify_serial_console_is_enabled (lisa_0_47) ✅ PASSED 0.945
verify_no_pre_exist_users (lisa_0_52) ✅ PASSED 1.362
verify_resource_disk_file_system (lisa_0_54) ✅ PASSED 2.790
verify_waagent_version (lisa_0_55) ✅ PASSED 0.264
verify_python_version (lisa_0_56) ❌ FAILED 0.736 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_57) ✅ PASSED 0.731
verify_azure_64bit_os (lisa_0_58) ✅ PASSED 0.716
verify_omi_version (lisa_0_59) ✅ PASSED 0.848
verify_no_swap_on_osdisk (lisa_0_60) ✅ PASSED 0.724
verify_essential_kernel_modules (lisa_0_61) ❌ FAILED 0.990 failed. AssertionError: [Not enabled essential kernel modules for Hyper-V / Azure platform found.] Expected <['wdt']> to
verify_yum_conf (lisa_0_43) ⏭️ SKIPPED 0.746 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_os_update (lisa_0_44) ✅ PASSED 83.581
verify_hv_kvp_daemon_installed (lisa_0_45) ⏭️ SKIPPED 0.290 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_cloud_init_error_status (lisa_0_50) ⏭️ SKIPPED 0.280 skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. unsupported distro to run verify_cloud_init test.
verify_client_active_interval (lisa_0_51) ✅ PASSED 0.796
verify_resource_disk_readme_file (lisa_0_53) ⏭️ SKIPPED 2.626 skipped: /mnt/DATALOSS_WARNING_README.txt is not present. DATALOSS_WARNING_README.txt is created by waagent, not cloud-i
verify_boot_error_fail_warnings (lisa_0_49) ❌ FAILED 8.009 failed. AssertionError: [unexpected error/failure/warnings shown up in bootup log of distro SLES 15.6.0] Expected <["202
verify_network_manager_not_installed (lisa_0_38) ⏭️ SKIPPED 6.612 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_bash_history_is_empty (lisa_0_48) ✅ PASSED 7.601
verify_l3_cache (lisa_0_33) ✅ PASSED 0.790
verify_cpu_count (lisa_0_34) ✅ PASSED 0.306
verify_vmbus_interrupts (lisa_0_35) ✅ PASSED 8.557
verify_dhcp_client_timeout (lisa_0_22) ✅ PASSED 1.064
verify_dns_name_resolution (lisa_0_71) ✅ PASSED 1.687
verify_dns_name_resolution_after_upgrade (lisa_0_72) ✅ PASSED 113.117
verify_floppy_module_is_blacklisted (lisa_0_18) ✅ PASSED 1.016
verify_initrd_modules (lisa_0_24) ✅ PASSED 1.323
verify_hyperv_modules (lisa_0_25) ⏭️ SKIPPED 2.214 skipped: Hyper-V drivers are statically built into the kernel
verify_lis_modules_version (lisa_0_23) ⏭️ SKIPPED 6.450 skipped: SLES not supported. This test case only supports Redhat distros.
verify_reload_hyperv_modules (lisa_0_26) ⏭️ SKIPPED 7.238 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_17) ✅ PASSED 1.650
verify_kvp (lisa_0_27) ✅ PASSED 3.569
verify_hyperv_platform_id (lisa_0_28) ⏭️ SKIPPED 2.644 skipped: Cannot find package msr-tools or rdmsr binary
verify_pmu_disabled_for_arm64 (lisa_0_67) ⏭️ SKIPPED 0.311 skipped: This test case does not support CpuArchitecture.X64. This validation is only for ARM64.
verify_timedrift_corrected (lisa_0_68) ✅ PASSED 49.785
verify_timesync_ptp (lisa_0_62) ✅ PASSED 1.325
verify_timesync_unbind_clocksource (lisa_0_63) ✅ PASSED 42.531
verify_timesync_unbind_clockevent (lisa_0_64) ✅ PASSED 1.555
verify_timesync_ntp (lisa_0_65) ⏭️ SKIPPED 0.285 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_66) ✅ PASSED 7.429
verify_vdso (lisa_0_20) ✅ PASSED 112.552
verify_vm_hot_resize (lisa_0_29) ❌ FAILED 22.511 failed. HttpResponseError: (InvalidParameter) The VM size 'Standard_D256ls_v7' cannot boot with DiskControllerType 'SCSI
verify_vm_resize_increase (lisa_0_31) ❌ FAILED 76.638 failed. HttpResponseError: (AllocationFailed) Allocation failed. We do not have sufficient capacity for the requested VM
verify_vm_resize_decrease (lisa_0_32) ✅ PASSED 107.915
verify_vm_hot_resize_decrease (lisa_0_30) ✅ PASSED 217.128
verify_gdb (lisa_0_19) ✅ PASSED 116.164
verify_sched_core_basic (lisa_0_21) ⏭️ SKIPPED 6.490 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_73) ⏭️ SKIPPED 0.412 skipped: SLES not supported. This test case only supports redhat/centos distro.
verify_zram_crypto_zstd (lisa_0_69) ⏭️ SKIPPED 0.274 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
verify_zram_crypto_lz4 (lisa_0_70) ⏭️ SKIPPED 0.277 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin

Copilot AI review requested due to automatic review settings May 3, 2026 21:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment thread lisa/tools/smb.py
Comment on lines +104 to +105
self.node.tools[Echo].write_to_file(
smb_config, PurePosixPath(self.SMB_CONF_FILE), sudo=True
Comment thread lisa/tools/smb.py
Comment on lines +116 to +118
# stop firewall to allow SMB traffic
self.node.tools[Firewall].stop()

Comment on lines +714 to +719
# Check if CONFIG_CIFS is enabled in KCONFIG on both nodes
for role_node in (server_node, client_node):
if not role_node.tools[KernelConfig].is_enabled("CONFIG_CIFS"):
raise LisaException(
"CIFS module must be present for SMB testing"
)
Comment on lines +763 to +767
# Step 7: Cleanup between version tests
try:
smb_client.unmount_share(mount_point)
except Exception:
pass
@github-actions

github-actions Bot commented May 3, 2026

Copy link
Copy Markdown

⚠️ AI Test Selection — cancelled

74 test case(s) selected (view run)

Marketplace image: suse sles-15-sp6 gen2 latest

Count
✅ Passed 23
❌ Failed 2
⏭️ Skipped 4
Total 29
Test case details
Test Case Status Time (s) Message
smoke_test_check_serial_console_pattern (lisa_0_2) ✅ PASSED 56.737
verify_deployment_provision_standard_ssd_disk (lisa_0_4) ✅ PASSED 58.105
verify_deployment_provision_synthetic_nic (lisa_0_3) ✅ PASSED 50.684
smoke_test (lisa_0_1) ✅ PASSED 77.132
verify_deployment_provision_ephemeral_managed_disk (lisa_0_5) ✅ PASSED 54.225
verify_deployment_provision_premium_disk (lisa_0_6) ✅ PASSED 56.054
verify_vmbus_devices_channels_bsd (lisa_0_14) ⏭️ SKIPPED 0.000 check skipped: OS type mismatch: ["requires [<class 'lisa.operating_system.BSD'>] but VM supports [<class 'lisa.operatin
verify_serial_console (lisa_0_0) ✅ PASSED 42.157
verify_default_targetpw (lisa_0_36) ✅ PASSED 7.713
verify_grub (lisa_0_37) ✅ PASSED 4.658
verify_network_file_configuration (lisa_0_39) ⏭️ SKIPPED 1.592 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_ifcfg_eth0 (lisa_0_40) ⏭️ SKIPPED 0.279 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_udev_rules_moved (lisa_0_41) ⏭️ SKIPPED 0.353 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_dhcp_file_configuration (lisa_0_42) ✅ PASSED 2.260
verify_repository_installed (lisa_0_46) ✅ PASSED 32.718
verify_serial_console_is_enabled (lisa_0_47) ✅ PASSED 2.555
verify_no_pre_exist_users (lisa_0_52) ✅ PASSED 4.342
verify_resource_disk_file_system (lisa_0_54) ✅ PASSED 8.699
verify_waagent_version (lisa_0_55) ✅ PASSED 0.258
verify_python_version (lisa_0_56) ❌ FAILED 1.890 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_57) ✅ PASSED 1.934
verify_azure_64bit_os (lisa_0_58) ✅ PASSED 2.074
verify_omi_version (lisa_0_59) ✅ PASSED 2.718
verify_no_swap_on_osdisk (lisa_0_60) ✅ PASSED 1.897
verify_essential_kernel_modules (lisa_0_61) ❌ FAILED 2.805 failed. AssertionError: [Not enabled essential kernel modules for Hyper-V / Azure platform found.] Expected <['wdt']> to
verify_l3_cache (lisa_0_33) ✅ PASSED 2.070
verify_cpu_count (lisa_0_34) ✅ PASSED 0.237
verify_dhcp_client_timeout (lisa_0_22) ✅ PASSED 3.121
verify_dns_name_resolution (lisa_0_71) ✅ PASSED 3.171

@github-actions

github-actions Bot commented May 3, 2026

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 4
⏭️ Skipped 20
Total 74
Test case details
Test Case Status Time (s) Message
verify_deployment_provision_synthetic_nic (lisa_0_3) ✅ PASSED 48.764
smoke_test_check_serial_console_pattern (lisa_0_2) ✅ PASSED 50.533
verify_deployment_provision_standard_ssd_disk (lisa_0_4) ✅ PASSED 47.896
smoke_test (lisa_0_1) ✅ PASSED 80.884
verify_deployment_provision_ephemeral_managed_disk (lisa_0_5) ✅ PASSED 47.279
verify_deployment_provision_premium_disk (lisa_0_6) ✅ PASSED 51.750
verify_deployment_provision_premiumv2_disk (lisa_0_7) ✅ PASSED 47.746
verify_deployment_provision_sriov (lisa_0_8) ✅ PASSED 53.571
verify_deployment_provision_ultra_datadisk (lisa_0_10) ✅ PASSED 47.239
verify_reboot_in_platform (lisa_0_9) ✅ PASSED 61.764
verify_deployment_provision_swiotlb_force (lisa_0_13) ⏭️ SKIPPED 15.789 skipped: GrubConfig is not available on this distribution: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. Gr
verify_stop_start_in_platform (lisa_0_11) ✅ PASSED 197.974
stress_reboot (lisa_0_12) ✅ PASSED 583.070
verify_vmbus_devices_channels_bsd (lisa_0_14) ⏭️ 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_15) ✅ PASSED 4.842
verify_vmbus_heartbeat_properties (lisa_0_16) ✅ PASSED 14.265
verify_serial_console (lisa_0_0) ✅ PASSED 36.214
verify_default_targetpw (lisa_0_36) ✅ PASSED 3.726
verify_grub (lisa_0_37) ✅ PASSED 3.348
verify_network_file_configuration (lisa_0_39) ⏭️ SKIPPED 1.283 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_ifcfg_eth0 (lisa_0_40) ⏭️ SKIPPED 1.370 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_udev_rules_moved (lisa_0_41) ⏭️ SKIPPED 1.668 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_dhcp_file_configuration (lisa_0_42) ✅ PASSED 2.161
verify_repository_installed (lisa_0_46) ✅ PASSED 30.866
verify_serial_console_is_enabled (lisa_0_47) ✅ PASSED 1.891
verify_no_pre_exist_users (lisa_0_52) ✅ PASSED 1.893
verify_resource_disk_file_system (lisa_0_54) ✅ PASSED 3.902
verify_waagent_version (lisa_0_55) ✅ PASSED 0.147
verify_python_version (lisa_0_56) ❌ FAILED 1.077 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_57) ✅ PASSED 1.023
verify_azure_64bit_os (lisa_0_58) ✅ PASSED 0.986
verify_omi_version (lisa_0_59) ✅ PASSED 1.231
verify_no_swap_on_osdisk (lisa_0_60) ✅ PASSED 0.970
verify_essential_kernel_modules (lisa_0_61) ❌ FAILED 1.466 failed. AssertionError: [Not enabled essential kernel modules for Hyper-V / Azure platform found.] Expected <['wdt']> to
verify_yum_conf (lisa_0_43) ⏭️ SKIPPED 2.490 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_hv_kvp_daemon_installed (lisa_0_45) ⏭️ SKIPPED 2.526 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_cloud_init_error_status (lisa_0_50) ⏭️ SKIPPED 1.351 skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. unsupported distro to run verify_cloud_init test.
verify_os_update (lisa_0_44) ✅ PASSED 135.249
verify_client_active_interval (lisa_0_51) ✅ PASSED 2.377
verify_resource_disk_readme_file (lisa_0_53) ⏭️ SKIPPED 4.966 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_38) ⏭️ SKIPPED 1.286 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_boot_error_fail_warnings (lisa_0_49) ❌ FAILED 6.889 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_48) ✅ PASSED 9.100
verify_l3_cache (lisa_0_33) ✅ PASSED 1.106
verify_cpu_count (lisa_0_34) ✅ PASSED 0.171
verify_vmbus_interrupts (lisa_0_35) ✅ PASSED 9.449
verify_dhcp_client_timeout (lisa_0_22) ✅ PASSED 1.540
verify_dns_name_resolution (lisa_0_71) ✅ PASSED 1.930
verify_dns_name_resolution_after_upgrade (lisa_0_72) ✅ PASSED 86.132
verify_floppy_module_is_blacklisted (lisa_0_18) ✅ PASSED 0.975
verify_initrd_modules (lisa_0_24) ✅ PASSED 2.077
verify_hyperv_modules (lisa_0_25) ⏭️ SKIPPED 3.654 skipped: Hyper-V drivers are statically built into the kernel
verify_lis_modules_version (lisa_0_23) ⏭️ SKIPPED 7.296 skipped: SLES not supported. This test case only supports Redhat distros.
verify_reload_hyperv_modules (lisa_0_26) ⏭️ SKIPPED 8.458 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_17) ✅ PASSED 2.462
verify_kvp (lisa_0_27) ✅ PASSED 5.364
verify_hyperv_platform_id (lisa_0_28) ⏭️ SKIPPED 2.819 skipped: Cannot find package msr-tools or rdmsr binary
verify_pmu_disabled_for_arm64 (lisa_0_67) ⏭️ SKIPPED 0.150 skipped: This test case does not support CpuArchitecture.X64. This validation is only for ARM64.
verify_timedrift_corrected (lisa_0_68) ✅ PASSED 49.895
verify_timesync_ptp (lisa_0_62) ✅ PASSED 3.498
verify_timesync_unbind_clockevent (lisa_0_64) ✅ PASSED 2.353
verify_timesync_ntp (lisa_0_65) ⏭️ SKIPPED 1.208 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_66) ✅ PASSED 12.351
verify_timesync_unbind_clocksource (lisa_0_63) ✅ PASSED 39.263
verify_vdso (lisa_0_20) ✅ PASSED 116.731
verify_vm_resize_increase (lisa_0_31) ❌ FAILED 75.277 failed. HttpResponseError: (BadRequest) Requested operation cannot be performed because VM size Standard_D4_v2_Internal
verify_vm_resize_decrease (lisa_0_32) ✅ PASSED 166.483
verify_vm_hot_resize_decrease (lisa_0_30) ✅ PASSED 695.256
verify_vm_hot_resize (lisa_0_29) ✅ PASSED 750.959
verify_gdb (lisa_0_19) ✅ PASSED 116.080
verify_sched_core_basic (lisa_0_21) ⏭️ SKIPPED 7.221 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_73) ⏭️ SKIPPED 1.260 skipped: SLES not supported. This test case only supports redhat/centos distro.
verify_zram_crypto_zstd (lisa_0_69) ⏭️ SKIPPED 1.279 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
verify_zram_crypto_lz4 (lisa_0_70) ⏭️ SKIPPED 3.119 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin

Copilot AI review requested due to automatic review settings May 29, 2026 13:46
@SRIKKANTH SRIKKANTH force-pushed the smyakam/verify_smb_linux/03_01_2025 branch from b76d302 to d3374d2 Compare May 29, 2026 13:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment thread lisa/tools/smb.py
Comment on lines +84 to +101
smb_config = f"""
[global]
workgroup = {workgroup}
server string = {server_string}
security = user
map to guest = bad user
dns proxy = no

[{share_name}]
path = {share_path}
browsable = yes
writable = yes
guest ok = yes
guest only = yes
read only = no
create mask = 0666
directory mask = 0777
"""
Comment thread lisa/tools/smb.py
Comment on lines +103 to +106
# Write SMB configuration
self.node.tools[Echo].write_to_file(
smb_config, PurePosixPath(self.SMB_CONF_FILE), sudo=True
)
Comment on lines +750 to +755
failed_versions.append(smb_version)
finally:
# Step 7: Cleanup between version tests
try:
smb_client.unmount_share(mount_point)
except Exception:
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 force-pushed the smyakam/verify_smb_linux/03_01_2025 branch from d8abd87 to de1e2fd Compare May 29, 2026 13:54
@github-actions

Copy link
Copy Markdown

⚠️ AI Test Selection — cancelled

74 test case(s) selected (view run)

Marketplace image: suse sles-15-sp6 gen2 latest

Selected test cases
verify_default_targetpw
verify_grub
verify_network_manager_not_installed
verify_network_file_configuration
verify_ifcfg_eth0
verify_udev_rules_moved
verify_dhcp_file_configuration
verify_yum_conf
verify_os_update
verify_hv_kvp_daemon_installed
verify_repository_installed
verify_serial_console_is_enabled
verify_bash_history_is_empty
verify_boot_error_fail_warnings
verify_cloud_init_error_status
verify_client_active_interval
verify_no_pre_exist_users
verify_resource_disk_readme_file
verify_resource_disk_file_system
verify_waagent_version
verify_python_version
verify_openssl_version
verify_azure_64bit_os
verify_omi_version
verify_no_swap_on_osdisk
verify_essential_kernel_modules
verify_boot_with_debug_kernel
verify_l3_cache
verify_cpu_count
verify_vmbus_interrupts
verify_enable_kprobe
verify_dhcp_client_timeout
verify_dns_name_resolution
verify_dns_name_resolution_after_upgrade
verify_floppy_module_is_blacklisted
verify_gdb
verify_lis_modules_version
verify_initrd_modules
verify_hyperv_modules
verify_reload_hyperv_modules
verify_kvp
verify_vmbus_devices_channels_bsd
verify_vmbus_devices_channels
verify_vmbus_heartbeat_properties
verify_hyperv_platform_id
smoke_test
smoke_test_check_serial_console_pattern
verify_deployment_provision_synthetic_nic
verify_deployment_provision_standard_ssd_disk
verify_deployment_provision_ephemeral_managed_disk
verify_deployment_provision_premium_disk
verify_deployment_provision_premiumv2_disk
verify_deployment_provision_sriov
verify_reboot_in_platform
verify_deployment_provision_ultra_datadisk
verify_stop_start_in_platform
stress_reboot
verify_deployment_provision_swiotlb_force
verify_sched_core_basic
verify_serial_console
verify_timesync_ptp
verify_timesync_unbind_clocksource
verify_timesync_unbind_clockevent
verify_timesync_ntp
verify_timesync_chrony
verify_pmu_disabled_for_arm64
verify_timedrift_corrected
verify_vdso
verify_vm_hot_resize
verify_vm_hot_resize_decrease
verify_vm_resize_increase
verify_vm_resize_decrease
verify_zram_crypto_zstd
verify_zram_crypto_lz4

@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 51
❌ Failed 3
⏭️ 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 3.683
verify_vmbus_heartbeat_properties (lisa_0_42) ✅ PASSED 6.080
verify_kvp (lisa_0_0) ✅ PASSED 3.525
verify_default_targetpw (lisa_0_43) ✅ PASSED 3.238
verify_grub (lisa_0_44) ✅ PASSED 1.816
verify_udev_rules_moved (lisa_0_48) ⏭️ SKIPPED 1.883 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_ifcfg_eth0 (lisa_0_47) ⏭️ SKIPPED 2.793 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_dhcp_file_configuration (lisa_0_49) ✅ PASSED 2.292
verify_network_file_configuration (lisa_0_46) ⏭️ SKIPPED 4.119 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_serial_console_is_enabled (lisa_0_54) ✅ PASSED 1.742
verify_no_pre_exist_users (lisa_0_59) ✅ PASSED 2.179
verify_waagent_version (lisa_0_62) ✅ PASSED 1.115
verify_resource_disk_file_system (lisa_0_61) ✅ PASSED 4.026
verify_python_version (lisa_0_63) ❌ FAILED 1.908 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 1.711
verify_azure_64bit_os (lisa_0_65) ✅ PASSED 1.168
verify_omi_version (lisa_0_66) ✅ PASSED 1.707
verify_no_swap_on_osdisk (lisa_0_67) ✅ PASSED 1.518
verify_essential_kernel_modules (lisa_0_68) ❌ FAILED 1.776 failed. AssertionError: [Not enabled essential kernel modules for Hyper-V / Azure platform found.] Expected <['wdt']> to
verify_repository_installed (lisa_0_53) ✅ PASSED 46.822
verify_yum_conf (lisa_0_50) ⏭️ SKIPPED 0.605 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_hv_kvp_daemon_installed (lisa_0_52) ⏭️ SKIPPED 3.960 skipped: Unsupported distro type : <class 'lisa.operating_system.SLES'>
verify_cloud_init_error_status (lisa_0_57) ⏭️ SKIPPED 1.106 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 1.551
verify_resource_disk_readme_file (lisa_0_60) ⏭️ SKIPPED 3.646 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 135.400
verify_network_manager_not_installed (lisa_0_45) ⏭️ SKIPPED 0.276 skipped: unsupported distro type: <class 'lisa.operating_system.SLES'>
verify_boot_error_fail_warnings (lisa_0_56) ❌ FAILED 3.298 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 7.461
verify_gdb (lisa_0_1) ✅ PASSED 114.594
verify_serial_console (lisa_0_2) ✅ PASSED 50.982
verify_cpu_count (lisa_0_4) ✅ PASSED 7.161
verify_l3_cache (lisa_0_3) ✅ PASSED 7.556
verify_vmbus_interrupts (lisa_0_5) ✅ PASSED 8.138
verify_dhcp_client_timeout (lisa_0_39) ✅ PASSED 2.037
verify_dns_name_resolution (lisa_0_69) ✅ PASSED 2.043
verify_dns_name_resolution_after_upgrade (lisa_0_70) ✅ PASSED 151.185
verify_floppy_module_is_blacklisted (lisa_0_21) ✅ PASSED 1.428
verify_initrd_modules (lisa_0_34) ✅ PASSED 2.067
verify_hyperv_modules (lisa_0_35) ⏭️ SKIPPED 2.968 skipped: Hyper-V drivers are statically built into the kernel
verify_lis_modules_version (lisa_0_33) ⏭️ SKIPPED 1.040 skipped: SLES not supported. This test case only supports Redhat distros.
verify_reload_hyperv_modules (lisa_0_36) ⏭️ SKIPPED 7.154 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 2.359
verify_hyperv_platform_id (lisa_0_73) ⏭️ SKIPPED 28.715 skipped: Cannot find package msr-tools or rdmsr binary
verify_pmu_disabled_for_arm64 (lisa_0_27) ⏭️ SKIPPED 1.617 skipped: This test case does not support CpuArchitecture.X64. This validation is only for ARM64.
verify_timedrift_corrected (lisa_0_28) ✅ PASSED 51.467
verify_timesync_ptp (lisa_0_22) ✅ PASSED 2.234
verify_timesync_unbind_clockevent (lisa_0_24) ✅ PASSED 1.210
verify_timesync_ntp (lisa_0_25) ⏭️ SKIPPED 0.276 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 7.058
verify_timesync_unbind_clocksource (lisa_0_23) ✅ PASSED 40.004
verify_vdso (lisa_0_19) ✅ PASSED 132.524
verify_vm_hot_resize (lisa_0_29) ✅ PASSED 124.465
verify_vm_resize_increase (lisa_0_31) ✅ PASSED 167.311
verify_vm_resize_decrease (lisa_0_32) ✅ PASSED 136.926
verify_vm_hot_resize_decrease (lisa_0_30) ✅ PASSED 697.908
verify_sched_core_basic (lisa_0_37) ⏭️ SKIPPED 0.993 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.280 skipped: SLES not supported. This test case only supports redhat/centos distro.
verify_zram_crypto_zstd (lisa_0_71) ⏭️ SKIPPED 0.299 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.320 before_case skipped: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. zram compression test requires Azure Lin
smoke_test (lisa_0_6) ✅ PASSED 80.848
smoke_test_check_serial_console_pattern (lisa_0_7) ✅ PASSED 47.893
verify_deployment_provision_synthetic_nic (lisa_0_8) ✅ PASSED 61.905
verify_deployment_provision_standard_ssd_disk (lisa_0_9) ✅ PASSED 62.445
verify_deployment_provision_ephemeral_managed_disk (lisa_0_10) ✅ PASSED 47.185
verify_deployment_provision_premium_disk (lisa_0_11) ✅ PASSED 51.160
verify_deployment_provision_premiumv2_disk (lisa_0_12) ✅ PASSED 50.432
verify_deployment_provision_sriov (lisa_0_13) ✅ PASSED 51.409
verify_deployment_provision_ultra_datadisk (lisa_0_15) ✅ PASSED 51.759
verify_deployment_provision_swiotlb_force (lisa_0_18) ⏭️ SKIPPED 8.774 skipped: GrubConfig is not available on this distribution: Unsupported system: 'SUSE Linux Enterprise Server 15 SP6'. Gr
verify_stop_start_in_platform (lisa_0_16) ✅ PASSED 76.643
verify_reboot_in_platform (lisa_0_14) ✅ PASSED 164.582
stress_reboot (lisa_0_17) ✅ PASSED 607.071

@SRIKKANTH

Copy link
Copy Markdown
Collaborator Author

Created a fresh PR with all the above comments above.
New PR: #4503

@SRIKKANTH SRIKKANTH closed this May 30, 2026
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.

4 participants