register_resource(autoDeploy=True)
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Tue, 8 Mar 2016 17:15:10 +0000 (18:15 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Tue, 8 Mar 2016 17:15:10 +0000 (18:15 +0100)
as a shothand instead of
register_resource() + deploy()

nepi/execution/ec.py

index 5f34f82..e91836d 100644 (file)
@@ -617,14 +617,24 @@ class ExperimentController(object):
         ### so we can do something like
         # node = ec.register_resource("linux::Node",
         #                             username = user,
         ### so we can do something like
         # node = ec.register_resource("linux::Node",
         #                             username = user,
-        #                             hostname = host)
+        #                             hostname = host,
+        #                             autoDeploy = True)
         ### instead of
         # node = ec.register_resource("linux::Node")
         # ec.set(node, "username", user)
         # ec.set(node, "hostname", host)
         ### instead of
         # node = ec.register_resource("linux::Node")
         # ec.set(node, "username", user)
         # ec.set(node, "hostname", host)
+        # ec.deploy(node)
 
 
+        auto_deploy = 'autoDeploy' in keywords and keywords['autoDeploy']
+
+        # now we can do all the calls to 'set'
         for name, value in keywords.items():
         for name, value in keywords.items():
-            self.set(guid, name, value)
+            # autoDeploy is handled locally and not propagated to 'set'
+            if name != 'autoDeploy':
+                self.set(guid, name, value)
+
+        if auto_deploy:
+            self.deploy(guid)
 
         return guid
 
 
         return guid