@@ -297,6 +297,15 @@ class NFS4Client(rpc.Client, rpc.Server):
s.compound([op4.reclaim_complete(FALSE)])
return s
+ def new_pnfs_client_session(self, name, flags=EXCHGID4_FLAG_USE_PNFS_MDS, sec=None):
+ # Make sure E_ID returns MDS capabilities
+ c = self.new_client(name, flags=flags)
+ if not c.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
+ fail("Server can not be used as pnfs metadata server")
+ s = c.create_session(sec=sec)
+ s.compound([op4.reclaim_complete(FALSE)])
+ return s
+
def create_tag(self):
current_stack = inspect.stack()
stackid = 0
@@ -15,8 +15,7 @@ def testStateid1(t, env):
FLAGS: block
CODE: BLOCK1
"""
- sess = env.c1.new_client_session(env.testname(t),
- flags=EXCHGID4_FLAG_USE_PNFS_MDS)
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Create the file
res = create_file(sess, env.testname(t))
check(res)
@@ -57,8 +56,7 @@ def testStateid2(t, env):
FLAGS: block
CODE: BLOCK2
"""
- c1 = env.c1.new_client_session(env.testname(t),
- flags=EXCHGID4_FLAG_USE_PNFS_MDS)
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Create the file
res = create_file(sess, env.testname(t))
check(res)
@@ -117,8 +115,7 @@ def testEmptyCommit(t, env):
FLAGS: block
CODE: BLOCK3
"""
- c1 = env.c1.new_client_session(env.testname(t),
- flags=EXCHGID4_FLAG_USE_PNFS_MDS)
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Create the file
res = create_file(sess, env.testname(t))
check(res)
@@ -179,8 +176,7 @@ def testSplitCommit(t, env):
FLAGS: block
CODE: BLOCK4
"""
- sess = env.c1.new_client_session(env.testname(t),
- flags=EXCHGID4_FLAG_USE_PNFS_MDS)
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Create the file
res = create_file(sess, env.testname(t))
check(res)
@@ -125,8 +125,7 @@ def testOpenLayoutGet(t, env):
FLAGS: currentstateid pnfs
CODE: CSID7
"""
- sess = env.c1.new_client_session(env.testname(t),
- flags=EXCHGID4_FLAG_USE_PNFS_MDS)
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
open_op = open_create_file_op(sess, env.testname(t), open_create=OPEN4_CREATE)
res = sess.compound( open_op +
@@ -142,8 +141,7 @@ def testOpenSetattr(t, env):
CODE: CSID8
"""
size = 8
- sess = env.c1.new_client_session(env.testname(t),
- flags=EXCHGID4_FLAG_USE_PNFS_MDS)
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
open_op = open_create_file_op(sess, env.testname(t), open_create=OPEN4_CREATE)
res = sess.compound( open_op +
@@ -94,11 +94,7 @@ def testLayout(t, env):
FLAGS: layout all
CODE: LAYOUT1
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
res = sess.compound(ops)
@@ -126,11 +122,7 @@ def testGetDevList(t, env):
FLAGS: layout all
CODE: LAYOUT2
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
res = sess.compound(ops)
@@ -14,11 +14,7 @@ def testGetDevList(t, env):
FLAGS: pnfs
CODE: GETDLIST1
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server did not set EXCHGID4_FLAG_USE_PNFS_MDS")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
res = sess.compound(ops)
@@ -41,11 +37,7 @@ def testGetDevInfo(t, env):
DEPEND: GETDLIST1
CODE: GETDINFO1
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server did not set EXCHGID4_FLAG_USE_PNFS_MDS")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
res = sess.compound(ops)
@@ -77,11 +69,7 @@ def testGetDevInfo(t, env):
## FLAGS: pnfs
## CODE: GETLAYOUT1
## """
-## # Make sure E_ID returns MDS capabilities
-## c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
-## if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
-## fail("Server can not be used as pnfs metadata server")
-## sess = c1.create_session()
+## sess = env.c1.new_pnfs_client_session(env.testname(t))
## # Test that fs handles block layouts
## ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
## res = sess.compound(ops)
@@ -109,11 +97,7 @@ def testGetLayout(t, env):
FLAGS: pnfs
CODE: GETLAYOUT1
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
res = sess.compound(ops)
@@ -150,11 +134,7 @@ def testEMCGetLayout(t, env):
FLAGS:
CODE: GETLAYOUT100
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES)]
res = sess.compound(ops)
@@ -192,11 +172,7 @@ def testLayoutReturnFile(t, env):
DEPEND: GETLAYOUT1
CODE: LAYOUTRET1
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Create the file
res = create_file(sess, env.testname(t))
check(res)
@@ -225,11 +201,7 @@ def testLayoutReturnFsid(t, env):
DEPEND: GETLAYOUT1
CODE: LAYOUTRET2
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
print sess.c.homedir
# Create the file
res = create_file(sess, env.testname(t))
@@ -257,11 +229,7 @@ def testLayoutReturnAll(t, env):
DEPEND: GETLAYOUT1
CODE: LAYOUTRET3
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
print sess.c.homedir
# Create the file
res = create_file(sess, env.testname(t))
@@ -287,11 +255,7 @@ def testLayoutCommit(t, env):
FLAGS: pnfs
CODE: LAYOUTCOMMIT1
"""
- # Make sure E_ID returns MDS capabilities
- c1 = env.c1.new_client(env.testname(t), flags=EXCHGID4_FLAG_USE_PNFS_MDS)
- if not c1.flags & EXCHGID4_FLAG_USE_PNFS_MDS:
- fail("Server can not be used as pnfs metadata server")
- sess = c1.create_session()
+ sess = env.c1.new_pnfs_client_session(env.testname(t))
# Test that fs handles block layouts
ops = use_obj(env.opts.path) + [op.getattr(1<<FATTR4_FS_LAYOUT_TYPES |
1<<FATTR4_LAYOUT_BLKSIZE)]
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> --- nfs4.1/nfs4client.py | 9 +++++ nfs4.1/server41tests/st_block.py | 12 +++---- nfs4.1/server41tests/st_current_stateid.py | 6 ++-- nfs4.1/server41tests/st_debug.py | 12 ++----- nfs4.1/server41tests/st_getdevicelist.py | 54 +++++------------------------- 5 files changed, 26 insertions(+), 67 deletions(-)