2015-03-30 09:34:33

by Kinglong Mee

[permalink] [raw]
Subject: [PATCH 2/3] 4.1 server tests: new helper new_pnfs_client_session for pnfs client

Signed-off-by: Kinglong Mee <[email protected]>
---
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(-)

diff --git a/nfs4.1/nfs4client.py b/nfs4.1/nfs4client.py
index 9ffe310..62ccc3a 100644
--- a/nfs4.1/nfs4client.py
+++ b/nfs4.1/nfs4client.py
@@ -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
diff --git a/nfs4.1/server41tests/st_block.py b/nfs4.1/server41tests/st_block.py
index a8c43dc..bf968f9 100644
--- a/nfs4.1/server41tests/st_block.py
+++ b/nfs4.1/server41tests/st_block.py
@@ -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)
diff --git a/nfs4.1/server41tests/st_current_stateid.py b/nfs4.1/server41tests/st_current_stateid.py
index 98fc76f..aa1f689 100644
--- a/nfs4.1/server41tests/st_current_stateid.py
+++ b/nfs4.1/server41tests/st_current_stateid.py
@@ -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 +
diff --git a/nfs4.1/server41tests/st_debug.py b/nfs4.1/server41tests/st_debug.py
index efef6b5..233ca54 100644
--- a/nfs4.1/server41tests/st_debug.py
+++ b/nfs4.1/server41tests/st_debug.py
@@ -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)
diff --git a/nfs4.1/server41tests/st_getdevicelist.py b/nfs4.1/server41tests/st_getdevicelist.py
index 2765be8..b181020 100644
--- a/nfs4.1/server41tests/st_getdevicelist.py
+++ b/nfs4.1/server41tests/st_getdevicelist.py
@@ -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)]
--
2.3.4