Modified FailureManager to abort only when critical resources fail
[nepi.git] / src / nepi / resources / linux / ccn / ccnping.py
index 2e3f485..d828950 100644 (file)
@@ -18,8 +18,8 @@
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
 from nepi.execution.attribute import Attribute, Flags, Types
-from nepi.execution.resource import ResourceManager, clsinit_copy, ResourceState, \
-    reschedule_delay
+from nepi.execution.resource import ResourceManager, clsinit_copy, \
+        ResourceState, reschedule_delay, failtrap
 from nepi.resources.linux.ccn.ccnpingserver import LinuxCCNPingServer
 from nepi.util.timefuncs import tnow, tdiffsec
 
@@ -38,7 +38,7 @@ class LinuxCCNPing(LinuxCCNPingServer):
 
         count = Attribute("c",
             "Total number of pings",
-            type = Types.Integer,
+            type = Types.Double,
             flags = Flags.ExecReadOnly)
 
         number = Attribute("n",
@@ -65,6 +65,7 @@ class LinuxCCNPing(LinuxCCNPingServer):
         if ccnpingserver: return ccnpingserver[0]
         return None
 
+    @failtrap
     def start(self):
         if not self.ccnpingserver or \
                 self.ccnpingserver.state < ResourceState.STARTED:
@@ -84,7 +85,7 @@ class LinuxCCNPing(LinuxCCNPingServer):
         if self.get("n"):
             args.append("-n %d" % self.get("n"))
         if self.get("i"):
-            args.append("-i %d" % self.get("i"))
+            args.append("-i %.2f" % self.get("i"))
 
         command = " ".join(args)