From 59378c9841ad86822d36d8b88d32d8e4f27f45b9 Mon Sep 17 00:00:00 2001 From: Alina Quereilhac Date: Sat, 13 Apr 2013 18:42:01 +0200 Subject: [PATCH] Added attribute repository to PlanetLab CCNxDaemon to run the ccnr command after ccndstart --- src/nepi/testbeds/planetlab/application.py | 7 ++++++- src/nepi/testbeds/planetlab/metadata.py | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/nepi/testbeds/planetlab/application.py b/src/nepi/testbeds/planetlab/application.py index e9a823ad..6fc6fee8 100644 --- a/src/nepi/testbeds/planetlab/application.py +++ b/src/nepi/testbeds/planetlab/application.py @@ -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() diff --git a/src/nepi/testbeds/planetlab/metadata.py b/src/nepi/testbeds/planetlab/metadata.py index 75b2bd13..f10893ac 100644 --- a/src/nepi/testbeds/planetlab/metadata.py +++ b/src/nepi/testbeds/planetlab/metadata.py @@ -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], -- 2.43.0