NFS4.1: try to clean sessions after testing
Subsystems (3)
PATCH 1/1 NFS4.1: try to clean sessions after testing
There are many sessions left after testing, they hold drc memory at server. This patch tries to clean session after each testcase.
--- nfs4.1/server41tests/environment.py | 7 ++++++- nfs4.1/testmod.py | 1 + 2 files changed, 7 insertions(+), 1 deletion(-)
nfs4.1/server41tests/environment.py +6 -1
@@ -248,7 +248,12 @@ class Environment(testmod.Environment): def testname(self, t): """Returns a name for the test that is unique between runs""" return "%s_%i" % (t.code, self.timestamp) - + + def clean_sessions(self): + """Destroy client name env.c1""" + for sessionid in self.c1.sessions.keys(): + self.c1.compound([op.destroy_session(sessionid)]) + ######################################### debug_fail = False
nfs4.1/testmod.py +1 -0
@@ -220,6 +220,7 @@ class Test(object): environment.startUp() self.runtest(self, environment) self.result = self._pass_result + environment.clean_sessions() except KeyboardInterrupt: raise except TestException, e:
Signature · 1 line
1.9.3
PATCH v2 1/1 NFS4.1: try to clean sessions after testing
There are many sessions left after testing, they hold drc memory at server. This patch tries to clean session after each testcase.
v2,
adds empty function of clean_sessions for nfs4.0,
because they are using the same testmod.py
--- nfs4.0/servertests/environment.py | 3 +++ nfs4.1/server41tests/environment.py | 7 ++++++- nfs4.1/testmod.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-)
nfs4.0/servertests/environment.py +3 -0
@@ -226,6 +226,9 @@ class Environment(testmod.Environment): cmd += ' ' + args os.system(cmd); + def clean_sessions(self): + return + ######################################### debug_fail = False
nfs4.1/server41tests/environment.py +6 -1
@@ -248,7 +248,12 @@ class Environment(testmod.Environment): def testname(self, t): """Returns a name for the test that is unique between runs""" return "%s_%i" % (t.code, self.timestamp) - + + def clean_sessions(self): + """Destroy client name env.c1""" + for sessionid in self.c1.sessions.keys(): + self.c1.compound([op.destroy_session(sessionid)]) + ######################################### debug_fail = False
nfs4.1/testmod.py +1 -0
@@ -220,6 +220,7 @@ class Test(object): environment.startUp() self.runtest(self, environment) self.result = self._pass_result + environment.clean_sessions() except KeyboardInterrupt: raise except TestException, e:
Signature · 1 line
1.9.3
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.
Could you look into those and resend your pynfs patches? Thanks!
--b.
Quoted 61 lines · Kinglong Mee
There are many sessions left after testing, they hold drc memory at server. This patch tries to clean session after each testcase.
v2,
adds empty function ofclean_sessionsfor nfs4.0,
because they are using the sametestmod.pySigned-off-by Kinglong Mee <[email protected]>--- nfs4.0/servertests/environment.py | 3 +++ nfs4.1/server41tests/environment.py | 7 ++++++- nfs4.1/testmod.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-)nfs4.0/servertests/environment.py +3
-0@@ -226,6 +226,9 @@ class Environment(testmod.Environment): cmd += ' ' + args os.system(cmd); + def clean_sessions(self): + return + ######################################### debug_fail = Falsenfs4.1/server41tests/environment.py +6
-1@@ -248,7 +248,12 @@ class Environment(testmod.Environment): def testname(self, t): """Returns a name for the test that is unique between runs""" return "%s_%i" % (t.code, self.timestamp) - + + def clean_sessions(self): + """Destroy client name env.c1""" + for sessionid in self.c1.sessions.keys(): + self.c1.compound([op.destroy_session(sessionid)]) + ######################################### debug_fail = Falsenfs4.1/testmod.py +1
-0@@ -220,6 +220,7 @@ class Test(object): environment.startUp() self.runtest(self, environment) self.result = self._pass_result + environment.clean_sessions() except KeyboardInterrupt: raise except TestException, e:Signature · 1 line
1.9.3
Quoted 2 lines · J. Bruce Fields
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
nfs4.1 has supports IPv6, the patch for nfs4.0 is a back-port from nfs4.1.
Quoted 8 lines
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.Could you look into those and resend your pynfs patches? Thanks!
Yes, I will check those patch and resend them.
thanks,
Kinglong Mee
Quoted 67 lines
--b.
Quoted 61 lines · Kinglong Mee
There are many sessions left after testing, they hold drc memory at server. This patch tries to clean session after each testcase.
v2,
adds empty function ofclean_sessionsfor nfs4.0,
because they are using the sametestmod.pySigned-off-by Kinglong Mee <[email protected]>--- nfs4.0/servertests/environment.py | 3 +++ nfs4.1/server41tests/environment.py | 7 ++++++- nfs4.1/testmod.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-)nfs4.0/servertests/environment.py +3
-0@@ -226,6 +226,9 @@ class Environment(testmod.Environment): cmd += ' ' + args os.system(cmd); + def clean_sessions(self): + return + ######################################### debug_fail = Falsenfs4.1/server41tests/environment.py +6
-1@@ -248,7 +248,12 @@ class Environment(testmod.Environment): def testname(self, t): """Returns a name for the test that is unique between runs""" return "%s_%i" % (t.code, self.timestamp) - + + def clean_sessions(self): + """Destroy client name env.c1""" + for sessionid in self.c1.sessions.keys(): + self.c1.compound([op.destroy_session(sessionid)]) + ######################################### debug_fail = Falsenfs4.1/testmod.py +1
-0@@ -220,6 +220,7 @@ class Test(object): environment.startUp() self.runtest(self, environment) self.result = self._pass_result + environment.clean_sessions() except KeyboardInterrupt: raise except TestException, e:Signature · 1 line
1.9.3
Quoted 12 lines · Kinglong Mee
Quoted 2 lines · J. Bruce Fields
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
nfs4.1 has supports IPv6, the patch for nfs4.0 is a back-port from nfs4.1.
Quoted 6 lines
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.
Can you show me more information about this?
thanks,
Kinglong Mee
Quoted 76 lines
Quoted 2 lines
Could you look into those and resend your pynfs patches? Thanks!
Yes, I will check those patch and resend them.
thanks,
Kinglong MeeQuoted 67 lines
--b.
Quoted 61 lines · Kinglong Mee
There are many sessions left after testing, they hold drc memory at server. This patch tries to clean session after each testcase.
v2,
adds empty function ofclean_sessionsfor nfs4.0,
because they are using the sametestmod.pySigned-off-by Kinglong Mee <[email protected]>--- nfs4.0/servertests/environment.py | 3 +++ nfs4.1/server41tests/environment.py | 7 ++++++- nfs4.1/testmod.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-)nfs4.0/servertests/environment.py +3
-0@@ -226,6 +226,9 @@ class Environment(testmod.Environment): cmd += ' ' + args os.system(cmd); + def clean_sessions(self): + return + ######################################### debug_fail = Falsenfs4.1/server41tests/environment.py +6
-1@@ -248,7 +248,12 @@ class Environment(testmod.Environment): def testname(self, t): """Returns a name for the test that is unique between runs""" return "%s_%i" % (t.code, self.timestamp) - + + def clean_sessions(self): + """Destroy client name env.c1""" + for sessionid in self.c1.sessions.keys(): + self.c1.compound([op.destroy_session(sessionid)]) + ######################################### debug_fail = Falsenfs4.1/testmod.py +1
-0@@ -220,6 +220,7 @@ class Test(object): environment.startUp() self.runtest(self, environment) self.result = self._pass_result + environment.clean_sessions() except KeyboardInterrupt: raise except TestException, e:Signature · 1 line
1.9.3
Quoted 6 lines · Kinglong Mee
Quoted 5 lines · Kinglong Mee
Quoted 2 lines · J. Bruce Fields
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
nfs4.1 has supports IPv6, the patch for nfs4.0 is a back-port from nfs4.1.
OK, thanks for explaining.
Quoted 9 lines
Quoted 7 lines
Quoted 7 lines
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.Can you show me more information about this?
[root@pip5 pynfs]# ./nfs4.0/testserver.py f19:/exports/xfs/pynfstest-user --maketree Initialization failed, no tests run.
Traceback (most recent call last):
File "./nfs4.0/testserver.py", line 381, in <module>
main()
File "./nfs4.0/testserver.py", line 344, in main
env.init()
File "/root/pynfs/nfs4.0/servertests/environment.py", line 140, in init
self._maketree()
File "/root/pynfs/nfs4.0/servertests/environment.py", line 162, in _maketree
check(res, msg="Trying to create /%s," % '/'.join(path)) File "/root/pynfs/nfs4.0/servertests/environment.py", line 253, in check
raise testmod.FailureException(msg)
testmod.FailureException: Trying to create /tmp, should return NFS4_OK, instead got NFS4ERR_ROFS
This happens after the ipv6 patch.
Note /exports on my server is exported read-only, xfs is a separate writeable filesystem.
--b.
Quoted 31 lines · J. Bruce Fields
Quoted 6 lines · Kinglong Mee
Quoted 5 lines · Kinglong Mee
Quoted 2 lines · J. Bruce Fields
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
nfs4.1 has supports IPv6, the patch for nfs4.0 is a back-port from nfs4.1.
OK, thanks for explaining.
Quoted 9 lines
Quoted 7 lines
Quoted 7 lines
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.Can you show me more information about this?
[root@pip5 pynfs]#
./nfs4.0/testserver.pyf19:/exports/xfs/pynfstest-user --maketree Initialization failed, no tests run.
Traceback (most recent call last):
File "./nfs4.0/testserver.py", line 381, in <module>main() File "./nfs4.0/testserver.py", line 344, in main env.init() File "/root/pynfs/nfs4.0/servertests/environment.py", line 140, in init self._maketree() File "/root/pynfs/nfs4.0/servertests/environment.py", line 162, in _maketree check(res, msg="Trying to create /%s," % '/'.join(path))
Quoted 8 lines
File "
/root/pynfs/nfs4.0/servertests/environment.py", line 253, in check
raisetestmod.FailureException(msg)
testmod.FailureException: Trying to create /tmp, should returnNFS4_OK, instead gotNFS4ERR_ROFSThis happens after the ipv6 patch.
Note /exports on my server is exported read-only, xfs is a separate writeable filesystem.
Thanks for your testing.
I have found this bug in IPv6 path, and will send three new path all I have.
thanks,
Kinglong Mee
Quoted 36 lines · Kinglong Mee
Quoted 35 lines · J. Bruce Fields
Quoted 6 lines · Kinglong Mee
Quoted 5 lines · Kinglong Mee
Quoted 2 lines · J. Bruce Fields
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
nfs4.1 has supports IPv6, the patch for nfs4.0 is a back-port from nfs4.1.
OK, thanks for explaining.
Quoted 9 lines
Quoted 7 lines
Quoted 7 lines
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.Can you show me more information about this?
[root@pip5 pynfs]#
./nfs4.0/testserver.pyf19:/exports/xfs/pynfstest-user --maketree Initialization failed, no tests run.
Traceback (most recent call last):
File "./nfs4.0/testserver.py", line 381, in <module>main() File "./nfs4.0/testserver.py", line 344, in main env.init() File "/root/pynfs/nfs4.0/servertests/environment.py", line 140, in init self._maketree() File "/root/pynfs/nfs4.0/servertests/environment.py", line 162, in _maketree check(res, msg="Trying to create /%s," % '/'.join(path))File "
/root/pynfs/nfs4.0/servertests/environment.py", line 253, in check
raisetestmod.FailureException(msg)
testmod.FailureException: Trying to create /tmp, should returnNFS4_OK, instead gotNFS4ERR_ROFS
Quoted 7 lines
Quoted 4 lines
This happens after the ipv6 patch.
Note /exports on my server is exported read-only, xfs is a separate writeable filesystem.
Thanks for your testing.
I have found this bug in IPv6 path, and will send three new path all I have.
I found you have revert the following two patch in your tree,
"NFS4.1: try to clean sessions after testing" and, "NFS4.0: Case for linking to bad source path with zero-length"
thanks,
Kinglong Mee
Quoted 42 lines · Kinglong Mee
Quoted 41 lines · Kinglong Mee
Quoted 39 lines · J. Bruce Fields
Quoted 6 lines · Kinglong Mee
Quoted 5 lines · Kinglong Mee
Quoted 2 lines · J. Bruce Fields
I tried to apply this, and the ipv6 patch (could we do that for 4.1 too?) and the 3 other patches, but:
nfs4.1 has supports IPv6, the patch for nfs4.0 is a back-port from nfs4.1.
OK, thanks for explaining.
Quoted 9 lines
Quoted 7 lines
Quoted 7 lines
- there are some conflicts with the latest pynfs (e.g. I already added a few acl tests, apologies)
- I'm getting failures to write to a read-only fs, apparently one of the tests is trying to write to the export root? I didn't check which one.Can you show me more information about this?
[root@pip5 pynfs]#
./nfs4.0/testserver.pyf19:/exports/xfs/pynfstest-user --maketree Initialization failed, no tests run.
Traceback (most recent call last):
File "./nfs4.0/testserver.py", line 381, in <module>main() File "./nfs4.0/testserver.py", line 344, in main env.init() File "/root/pynfs/nfs4.0/servertests/environment.py", line 140, in init self._maketree() File "/root/pynfs/nfs4.0/servertests/environment.py", line 162, in _maketree check(res, msg="Trying to create /%s," % '/'.join(path))File "
/root/pynfs/nfs4.0/servertests/environment.py", line 253, in check
raisetestmod.FailureException(msg)
testmod.FailureException: Trying to create /tmp, should returnNFS4_OK, instead gotNFS4ERR_ROFSThis happens after the ipv6 patch.
Note /exports on my server is exported read-only, xfs is a separate writeable filesystem.
Quoted 7 lines
Quoted 2 lines
Thanks for your testing.
I have found this bug in IPv6 path, and will send three new path all I have.I found you have revert the following two patch in your tree,
"NFS4.1: try to clean sessions after testing" and, "NFS4.0: Case for linking to bad source path with zero-length"
I think those only every showed up in a temporary testing branch?
Anyway, pushed out now, with the ipv6 change. Others waiting for you to resend or me to get a chance to look at them (may be a few days).
--b.