triggers all scripts in qaapi/qa/tests/node in one node's root context
[tests.git] / system / TestSlice.py
index dc822cc..a72c680 100644 (file)
@@ -56,17 +56,9 @@ class TestSlice:
             isname=self.slice_spec['initscriptname']
             utils.header("Adding initscript %s in %s"%(isname,slice_name))
             self.test_plc.apiserver.AddSliceAttribute(self.test_plc.auth_root(), slice_name,'initscript',isname)
-        
-#    def clear_known_hosts (self):
-#        utils.header("Messing with known_hosts for slice %s"%self.name())
-#        hostnames=[]
-#        # scan nodenames
-#        for nodename in self.slice_spec['nodenames']:
-#            (site_spec,node_spec) = self.test_plc.locate_node(nodename)
-#            hostnames.append(node_spec['node_fields']['hostname'])
-#            self.test_plc.run_in_guest("sed -i -e /^%s/d /root/.ssh/known_hosts"%node_spec['node_fields']['hostname'])
-#        #scan public key and update the known_host file in the root image
-#        self.test_plc.scan_publicKeys(hostnames)
+        if self.slice_spec.has_key ('vref'):
+            vref_value=self.slice_spec['vref']
+            self.test_plc.apiserver.AddSliceAttribute(self.test_plc.auth_root(), slice_name,'vref',vref_value)
         
     def locate_key(self):
         # locate the first avail. key
@@ -83,10 +75,9 @@ class TestSlice:
                     found=True
         return (found,privatekey)
 
-    def do_check_slice(self,options,minutes=3):
-#        self.clear_known_hosts()
+    def check_slice(self,options,minutes=10,gracetime=4,period=15):
         timeout = datetime.datetime.now()+datetime.timedelta(minutes=minutes)
-
+        graceout = datetime.datetime.now()+datetime.timedelta(minutes=gracetime)
         # locate a key
         (found,remote_privatekey)=self.locate_key()
         if not found :
@@ -105,10 +96,11 @@ class TestSlice:
             for hostname in tocheck:
                 (site_spec,node_spec) = self.test_plc.locate_hostname(hostname)
                 date_test_ssh = TestSsh (hostname,key=remote_privatekey,username=self.name())
+                if datetime.datetime.now() >= graceout:
+                    utils.header('Trying to enter into slice %s@%s'%(self.name(),hostname))
                 # this can be ran locally as we have the key
-                utils.header('Trying to enter into slice %s@%s'%(self.name(),hostname))
-                date = date_test_ssh.run("date")
-                if not date:
+                date = date_test_ssh.run("id;hostname")==0
+                if date:
                     utils.header("Successfuly entered slice %s on %s"%(self.name(),hostname))
                     tocheck.remove(hostname)
                 else:
@@ -133,6 +125,8 @@ class TestSlice:
                 for hostname in tocheck:
                     utils.header("FAILURE to ssh into %s@%s"%(self.name(),hostname))
                 return False
-            time.sleep (15)
+            # wait for the period
+            time.sleep (period)
         # for an empty slice
         return True
+