Azure Files NFSv4 Support for XFStesting#4253
Merged
LiliDeng merged 13 commits intomicrosoft:mainfrom Feb 5, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request adds comprehensive Azure Files NFSv4.1 protocol support to LISA's testing framework. The changes introduce a unified AzureFileShare class that handles both SMB and NFS protocols through a configurable set_protocol() method, while preserving the legacy Nfs class for backward compatibility.
Changes:
- Adds protocol-aware Azure File Share management with NFS and SMB support via new enums and
set_protocol()configuration - Implements parallel NFSv4.1 xfstests validation (
verify_azure_file_share_nfsv4) with 73 validated test cases across 4 workers - Refactors storage test to use unified AzureFileShare class (
verify_nfsv4_basic, renamed fromverify_azure_file_share_nfs)
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| lisa/sut_orchestrator/azure/features.py | Adds FileShareProtocol/AuthMode/Connectivity enums, unified AzureFileShare with set_protocol() method, NFS-specific storage account configuration, preserves legacy Nfs class |
| lisa/sut_orchestrator/azure/common.py | Implements protocol-aware file share creation/deletion using ARM API for NFS (shared key disabled) and data plane API for SMB |
| lisa/microsoft/testsuites/xfstests/xfstests.py | Adds deferred notification support for parallel workers, file existence timeout handling, random delay to prevent SSH connection pool contention |
| lisa/microsoft/testsuites/xfstests/xfstesting.py | Implements verify_azure_file_share_nfsv4 with parallel workers, NFS worker setup helper, unified cleanup method for SMB/NFS protocols |
| lisa/microsoft/testsuites/core/storage.py | Renames verify_azure_file_share_nfs to verify_nfsv4_basic, migrates from legacy Nfs class to unified AzureFileShare with NFS protocol |
LiliDeng
approved these changes
Feb 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Summary: Azure Files NFSv4 Support
Overview
This PR adds comprehensive NFSv4.1 protocol support for Azure Files testing in LISA, including:
AzureFileShareclass that handles both SMB and NFS protocolsverify_azure_file_share_nfsv4) with parallel worker executionverify_nfsv4_basic) for quick validationNfsclass is preserved for backward compatibility (to be removed in future)Key Changes
1. Unified
AzureFileShareClass with Protocol SupportFile:
lisa/sut_orchestrator/azure/features.pyThe
AzureFileShareclass now supports both SMB and NFS protocols viacreate_share():New Enums Added:
FileShareProtocolFileShareAuthModeNfsSecurityModeFileShareConnectivityStorage Account Naming:
lisafs<random10chars>(supports both SMB and NFS)2. NFS xfstests Test Case:
verify_azure_file_share_nfsv4File:
lisa/microsoft/testsuites/xfstests/xfstesting.pyFully implemented xfstests validation with parallel worker execution:
vers=4,minorversion=1,sec=sysNFS Test Configuration:
3. NFS Smoke Test:
verify_nfsv4_basicFile:
lisa/microsoft/testsuites/core/storage.pyRenamed from
verify_azure_file_share_nfstoverify_nfsv4_basic. Simple NFS mount validation:4. Legacy
NfsClass PreservedFile:
lisa/sut_orchestrator/azure/features.pyThe original
Nfsclass is unchanged and preserved for backward compatibility:AzureFeatureMixin, features.Nfs5. NFS Worker Setup Helper
File:
lisa/microsoft/testsuites/xfstests/xfstesting.pyNew helper method
_setup_azure_nfs_workers()that:AzureFileSharefor NFS protocol_deploy_azure_file_share()NFSClienttoollocal.configfor each workerTechnical Details
Azure Files NFS Requirements
NFS Mount Options
Resource Naming Conventions
lisafs<random10chars><storageaccount>-file-peArchitecture
Protocol Selection Flow
Parallel Worker Architecture (xfstests)
Files Changed
lisa/sut_orchestrator/azure/features.pycreate_share(), preserved Nfs classlisa/microsoft/testsuites/xfstests/xfstesting.pyverify_azure_file_share_nfsv4,_setup_azure_nfs_workers(), NFS test configlisa/microsoft/testsuites/core/storage.pyverify_azure_file_share_nfs→verify_nfsv4_basic, uses unified AzureFileShareTesting
Test Cases
verify_azure_file_share_nfsv4verify_nfsv4_basicverify_azure_file_shareRun Commands
Recommended Test Images
canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latestcanonical ubuntu-24_04-lts server latestredhat rhel 9_5 latestmicrosoftcblmariner azure-linux-3 azure-linux-3-gen2 latestNFS Test Exclusions
Tests excluded due to Azure Files NFS limitations (29 total):
link()syscall not supportedFuture Work
Nfsclass once all consumers migrate toAzureFileShareFileShareAuthMode.MANAGED_IDENTITY)Breaking Changes
verify_azure_file_share_nfsrenamedverify_nfsv4_basicBackward Compatibility
verify_azure_file_share(SMB xfstests)AzureFileShareclassNfsclass (lisa.sut_orchestrator.azure.features)Nfsbase class (lisa.features.nfs)References
Key Test Cases:
verify_azure_file_share_nfsv4 | verify_nfsv4_basicImpacted LISA Features: AzureFileShare, Nfs
Tested Azure Marketplace Images:
canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latestcanonical ubuntu-24_04-lts server latestredhat rhel 9_5 latestmicrosoftcblmariner azure-linux-3 azure-linux-3-gen2 latest