Added attribute repository to PlanetLab CCNxDaemon to run the ccnr command after...
authorAlina Quereilhac <alina.quereilhac@inria.fr>
Sat, 13 Apr 2013 16:42:01 +0000 (18:42 +0200)
committerAlina Quereilhac <alina.quereilhac@inria.fr>
Sat, 13 Apr 2013 16:42:01 +0000 (18:42 +0200)
src/nepi/testbeds/planetlab/application.py
src/nepi/testbeds/planetlab/metadata.py

index e9a823a..6fc6fee 100644 (file)
@@ -1129,6 +1129,7 @@ class CCNxDaemon(Application):
         self.ccnLocalPort = None
         self.ccnRoutes = None
         self.ccnxVersion = "0.7.1"
+        self.repository = False
         
         #self.ccnx_0_6_0_sources = "http://yans.pl.sophia.inria.fr/libs/ccnx-0.6.0.tar.gz"
         self.ccnx_sources = "http://www.ccnx.org/releases/ccnx-%s.tar.gz"
@@ -1185,13 +1186,17 @@ class CCNxDaemon(Application):
                     self.ccnLocalPort) if _ccnre.match(route) else route, 
                         routes)
 
-            routes = map(lambda route: "ccndc add ccnx:/ %s" % route, 
+            routes = map(lambda route: "ccndc add %s" % route, 
                 routes)
 
             routescmd = " ; ".join(routes)
             self.command += " ; "
             self.command += routescmd
 
+            if self.repository:
+                self.command += " ; ccnr "
+
+
         # Start will be invoked in prestart step
         super(CCNxDaemon, self).start()
             
index 75b2bd1..f10893a 100644 (file)
@@ -1217,6 +1217,14 @@ attributes = dict({
                             "0.7.1"],
                 "validation_function": validation.is_enum,
             }),
+    "repository": dict({      
+                "name": "repository",
+                "help": "If True the ccnr command will be issued on start, and a repository will be created.",
+                "type": Attribute.BOOL, 
+                "value": False,
+                "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+                "validation_function": validation.is_bool,
+            }),
      "ccnlocalport" : dict({
             "name" : "ccnLocalPort", 
             "help" : "Local port to bind the ccn daemon. (i.e. CCN_LOCAL_PORT=)",
@@ -1635,7 +1643,7 @@ factories_info = dict({
             "stop_function": stop_application,
             "configure_function": configure_application,
             "box_attributes": ["ccnroutes", "build", "ccnlocalport",
-                "install", "ccnxversion", "sources"],
+                "install", "ccnxversion", "sources", "repository"],
             "connector_types": ["node"],
             "traces": ["stdout", "stderr", "buildlog", "output"],
             "tags": [tags.APPLICATION],