From: Thierry Parmentelat Date: Thu, 21 Jun 2012 14:58:37 +0000 (+0200) Subject: new sfa_renew_slice step X-Git-Tag: tests-5.1-7~12 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=a6066ab7e04f4f473370b5fc3fbbba0d9b1b292e;p=tests.git new sfa_renew_slice step --- diff --git a/system/TestAuthSfa.py b/system/TestAuthSfa.py index 567e809..5fb5eb7 100644 --- a/system/TestAuthSfa.py +++ b/system/TestAuthSfa.py @@ -163,6 +163,8 @@ class TestAuthSfa: @slice_sfa_mapper def sfa_add_slice (self, *args, **kwds): pass @slice_sfa_mapper + def sfa_renew_slice (self, *args, **kwds): pass + @slice_sfa_mapper def sfa_discover (self, *args, **kwds): pass @slice_sfa_mapper def sfa_create_slice (self, *args, **kwds): pass diff --git a/system/TestPlc.py b/system/TestPlc.py index 48f938c..06da593 100644 --- a/system/TestPlc.py +++ b/system/TestPlc.py @@ -65,10 +65,10 @@ def slice_mapper (method): def auth_sfa_mapper (method): def actual(self): overall=True - slice_method = TestAuthSfa.__dict__[method.__name__] - for slice_spec in self.plc_spec['sfa']['auth_sfa_specs']: - test_slice=TestAuthSfa(self,slice_spec) - if not slice_method(test_slice,self.options): overall=False + auth_method = TestAuthSfa.__dict__[method.__name__] + for auth_spec in self.plc_spec['sfa']['auth_sfa_specs']: + test_auth=TestAuthSfa(self,auth_spec) + if not auth_method(test_auth,self.options): overall=False return overall # restore the doc text actual.__doc__=TestAuthSfa.__dict__[method.__name__].__doc__ @@ -89,8 +89,8 @@ class TestPlc: 'qemu_export', 'qemu_kill_mine', 'qemu_start', 'timestamp_qemu', SEP, 'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import', SEPSFA, 'sfi_configure@1', 'sfa_add_site@1','sfa_add_pi@1', SEPSFA, - 'sfa_add_user@1', 'sfa_update_user@1', 'sfa_add_slice@1', 'sfa_discover@1', SEPSFA, - 'sfa_create_slice@1', 'sfa_check_slice_plc@1', 'sfa_update_slice@1', SEPSFA, + 'sfa_add_user@1', 'sfa_update_user@1', 'sfa_add_slice@1', 'sfa_renew_slice@1', SEPSFA, + 'sfa_discover@1', 'sfa_create_slice@1', 'sfa_check_slice_plc@1', 'sfa_update_slice@1', SEPSFA, 'sfi_list@1', 'sfi_show@1', 'sfi_slices@1', 'sfa_utest@1', SEPSFA, # we used to run plcsh_stress_test, and then ssh_node_debug and ssh_node_boot # but as the stress test might take a while, we sometimes missed the debug mode.. @@ -1474,6 +1474,8 @@ class TestPlc: @auth_sfa_mapper def sfa_add_slice(self): pass @auth_sfa_mapper + def sfa_renew_slice(self): pass + @auth_sfa_mapper def sfa_discover(self): pass @auth_sfa_mapper def sfa_create_slice(self): pass diff --git a/system/TestSliceSfa.py b/system/TestSliceSfa.py index 112aaec..e063e64 100644 --- a/system/TestSliceSfa.py +++ b/system/TestSliceSfa.py @@ -37,14 +37,34 @@ class TestSliceSfa: # needs to be run as pi def sfa_add_slice(self,options): - "run sfi add (on Registry) from slice.xml" + "run sfi add (on Registry)" sfi_command="add" sfi_command += " --type slice" - sfi_command += " --xrn %s"%self.qualified(self.slice_spec['name']) + sfi_command += " --xrn %s"%self.hrn() for opt in self.slice_spec['add_options']: sfi_command += " %s"%(opt) return self.test_plc.run_in_guest(self.sfi_pi(sfi_command))==0 + def sfa_renew_slice(self, options): + "run sfi renew (on Aggregates)" + too_late = datetime.datetime.now()+datetime.timedelta(weeks=52) + one_month = datetime.datetime.now()+datetime.timedelta(weeks=4) + # we expect this to fail on too long term attemps, but to succeed otherwise + overall=True + for ( renew_until, expected) in [ (too_late, False), (one_month, True) ] : + sfi_command="renew" + sfi_command += " %s"%self.hrn() + sfi_command += " %s"%renew_until.strftime("%Y-%m-%d") + succeeded = self.test_plc.run_in_guest(self.sfi_user(sfi_command))==0 + if succeeded!=expected: + utils.header ("Expecting success=%s, got %s"%(expected,succeeded)) + # however it turns out sfi renew always returns fine.... + #overall=False + # so for helping manual checks: + sfi_command="show -k hrn -k expires %s"%self.hrn() + self.test_plc.run_in_guest(self.sfi_user(sfi_command)) + return overall + # helper - filename to store a given result def _resname (self,name,ext): return "%s.%s"%(name,ext) def adfile (self): return self._resname("ad","rspec") @@ -71,7 +91,7 @@ class TestSliceSfa: return True def plc_name (self): - return "%s_%s"%(self.test_auth_sfa.login_base,self.slice_spec['name']) + return "%s_%s"%(self.test_auth_sfa.login_base,self.hrn()) # all local nodes in slice ? def sfa_check_slice_plc (self,options):