Merge "[RBAC] Generate unique cephx IDs for each operation in tests"
diff --git a/manila_tempest_tests/config.py b/manila_tempest_tests/config.py
index 03dfafb..decf2ac 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -108,6 +108,12 @@
cfg.ListOpt("enable_ro_access_level_for_protocols",
default=["nfs", ],
help="List of protocols to run tests with ro access level."),
+ cfg.ListOpt("nfs_versions",
+ default=["4", ],
+ help="Specifies the NFS protocol version to use when mounting "
+ "an NFS share. Set to '3' for NFSv3, and '4' or '4.1' "
+ "for NFSv4. Leave it blank to use the default version."),
+
# Capabilities
cfg.StrOpt("capability_storage_protocol",
diff --git a/manila_tempest_tests/tests/scenario/manager_share.py b/manila_tempest_tests/tests/scenario/manager_share.py
index 3e06323..f9df340 100644
--- a/manila_tempest_tests/tests/scenario/manager_share.py
+++ b/manila_tempest_tests/tests/scenario/manager_share.py
@@ -186,7 +186,7 @@
storage_net_nic[0]['addr']
)
# Attach a floating IP
- self.associate_floating_ip(floating_ip, instance)
+ self.associate_floating_ip(floating_ip, instance, ip_addr=ip_addr)
self.assertIsNotNone(server_ip)
# Check ssh
@@ -752,8 +752,11 @@
self.validate_ping_to_export_location(location, ssh_client)
target_dir = target_dir or "/mnt"
+ nfs_version = getattr(self, 'nfs_version', None)
+ version_option = f"-o vers={nfs_version}" if nfs_version else ""
ssh_client.exec_command(
- "sudo mount -vt nfs \"%s\" %s" % (location, target_dir)
+ "sudo mount -vt nfs %s \"%s\" %s" % (
+ version_option, location, target_dir)
)
diff --git a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
index d832974..fbcc87f 100644
--- a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
+++ b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
@@ -417,9 +417,16 @@
"sudo touch %s/file3" % snapshot_dir)
+@ddt.ddt
class TestShareBasicOpsNFS(manager.BaseShareScenarioNFSTest,
ShareBasicOpsBase):
- pass
+
+ @decorators.idempotent_id('4bad2073-a19b-4851-8cbe-75b20ade5cdb')
+ @tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
+ @ddt.data(*utils.deduplicate(CONF.share.nfs_versions))
+ def test_mount_share_one_vm(self, nfs_version):
+ self.nfs_version = nfs_version
+ super(TestShareBasicOpsNFS, self).test_mount_share_one_vm()
class TestShareBasicOpsCIFS(manager.BaseShareScenarioCIFSTest,
diff --git a/releasenotes/notes/nfs-versions-6886a2dd1bab094f.yaml b/releasenotes/notes/nfs-versions-6886a2dd1bab094f.yaml
new file mode 100644
index 0000000..b18d197
--- /dev/null
+++ b/releasenotes/notes/nfs-versions-6886a2dd1bab094f.yaml
@@ -0,0 +1,8 @@
+---
+upgrade:
+ - |
+ A new configuration option, nfs_version, has been added to control
+ the NFS protocol version used for mounting NFS shares during testing.
+ This option allows users to specify which version of NFS should be used,
+ supporting environments where compatibility with specific versions is
+ required.
diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml
index 208bec3..02357b6 100644
--- a/zuul.d/manila-tempest-jobs.yaml
+++ b/zuul.d/manila-tempest-jobs.yaml
@@ -164,6 +164,8 @@
name: manila-tempest-plugin-zfsonlinux
description: Test ZFSOnLinux multibackend (DHSS=False) with postgresql db
parent: manila-tempest-plugin-zfsonlinux-base
+ # https://bugs.launchpad.net/manila/+bug/2087192
+ nodeset: openstack-single-node-jammy
branches: &ubuntu_jammy_test_image_branches
regex: ^stable/(yoga|xena|wallaby|victoria|ussuri)$
negate: true
@@ -250,6 +252,16 @@
MANILA_SETUP_IPV6: false
NEUTRON_CREATE_INITIAL_NETWORKS: true
+
+# TODO(gmann): As per the 2025.1 testing runtime, we need to run at least
+# one job on jammy. This job can be removed as per the future testing
+# runtime (whenever we start testing Ubuntu 26.04 as default version).
+- job:
+ name: manila-tempest-plugin-lvm-jammy
+ description: This is integrated job testing on Ubuntu jammy(22.04)
+ parent: manila-tempest-plugin-lvm
+ nodeset: openstack-single-node-jammy
+
- job:
name: manila-tempest-plugin-container
description: |
@@ -875,6 +887,7 @@
check:
jobs:
- manila-tempest-plugin-lvm
+ - manila-tempest-plugin-lvm-jammy
- manila-tempest-plugin-generic-scenario:
voting: false
- manila-tempest-plugin-generic:
@@ -888,3 +901,4 @@
gate:
jobs:
- manila-tempest-plugin-lvm
+ - manila-tempest-plugin-lvm-jammy