You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ariatosca.apache.org by mx...@apache.org on 2017/08/03 14:22:29 UTC

incubator-ariatosca git commit: moved the model_storage to the instanatiation of a service only - no longer need to pass it to the topology

Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-174-Refactor-instantiation-phase cb4c04692 -> f29602505


moved the model_storage to the instanatiation of a service only - no longer need to pass it to the topology


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/f2960250
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/f2960250
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/f2960250

Branch: refs/heads/ARIA-174-Refactor-instantiation-phase
Commit: f29602505fc3f865e37db3f97f16ff9a8f2b2825
Parents: cb4c046
Author: max-orlov <ma...@gigaspaces.com>
Authored: Thu Aug 3 17:22:24 2017 +0300
Committer: max-orlov <ma...@gigaspaces.com>
Committed: Thu Aug 3 17:22:24 2017 +0300

----------------------------------------------------------------------
 aria/core.py                                   |  5 ++--
 aria/orchestrator/topology/common.py           |  2 +-
 aria/orchestrator/topology/template_handler.py | 28 ++++++++++-----------
 aria/orchestrator/topology/topology.py         |  5 +---
 4 files changed, 19 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f2960250/aria/core.py
----------------------------------------------------------------------
diff --git a/aria/core.py b/aria/core.py
index 30ca2d6..83d5f7a 100644
--- a/aria/core.py
+++ b/aria/core.py
@@ -74,8 +74,9 @@ class Core(object):
         # setting no autoflush for the duration of instantiation - this helps avoid dependency
         # constraints as they're being set up
         with storage_session.no_autoflush:
-            topology_ = topology.Topology(self.model_storage)
-            service = topology_.instantiate(service_template, inputs=inputs)
+            topology_ = topology.Topology()
+            service = topology_.instantiate(
+                service_template, inputs=inputs, model_storage=self.model_storage)
             topology_.coerce(service, report_issues=True)
 
             topology_.validate(service)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f2960250/aria/orchestrator/topology/common.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/topology/common.py b/aria/orchestrator/topology/common.py
index 96ceb31..02926ab 100644
--- a/aria/orchestrator/topology/common.py
+++ b/aria/orchestrator/topology/common.py
@@ -42,7 +42,7 @@ class TemplateHandlerBase(HandlerBase):
     Base handler for template based models
     """
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **kwargs):
         raise NotImplementedError
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f2960250/aria/orchestrator/topology/template_handler.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/topology/template_handler.py b/aria/orchestrator/topology/template_handler.py
index 8f57ace..274abae 100644
--- a/aria/orchestrator/topology/template_handler.py
+++ b/aria/orchestrator/topology/template_handler.py
@@ -47,7 +47,7 @@ class ServiceTemplate(common.TemplateHandlerBase):
                      self._model.workflow_templates,
                      **kwargs)
 
-    def instantiate(self, instance_cls, inputs=None):                                               # pylint: disable=arguments-differ
+    def instantiate(self, instance_cls, inputs=None, model_storage=None):                           # pylint: disable=arguments-differ
         now = datetime.now()
 
         modeling_utils.validate_no_undeclared_inputs(
@@ -64,9 +64,9 @@ class ServiceTemplate(common.TemplateHandlerBase):
         )
 
         for plugin_specification in self._model.plugin_specifications.itervalues():
-            if plugin_specification.enabled and self._topology._model_storage:
+            if plugin_specification.enabled and model_storage:
                 if self._resolve_plugin_specification(plugin_specification,
-                                                      self._topology.model_storage.plugin.list()):
+                                                      model_storage.plugin.list()):
                     plugin = plugin_specification.plugin
                     service.plugins[plugin.name] = plugin
                 else:
@@ -169,7 +169,7 @@ class ArtifactTemplate(common.TemplateHandlerBase):
     def coerce(self, **kwargs):
         self._topology.coerce(self._model.properties, **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         return instance_cls(
             name=self._model.name,
             type=self._model.type,
@@ -206,7 +206,7 @@ class CapabilityTemplate(common.TemplateHandlerBase):
     def coerce(self, **kwargs):
         self._topology.coerce(self._model.properties, **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         return instance_cls(name=self._model.name,
                             type=self._model.type,
                             min_occurrences=self._model.min_occurrences,
@@ -250,7 +250,7 @@ class RequirementTemplate(common.TemplateHandlerBase):
     def coerce(self, **kwargs):
         self._topology.coerce(self._model.relationship_template, **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         pass
 
     def validate(self, **kwargs):
@@ -276,7 +276,7 @@ class GroupTemplate(common.TemplateHandlerBase):
                      self._model.interface_templates,
                      **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         group = instance_cls(
             name=self._model.name,
             type=self._model.type,
@@ -312,7 +312,7 @@ class InterfaceTemplate(common.TemplateHandlerBase):
                      self._model.operation_templates,
                      **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         interface = instance_cls(
             name=self._model.name,
             type=self._model.type,
@@ -355,7 +355,7 @@ class NodeTemplate(common.TemplateHandlerBase):
                      self._model.requirement_templates,
                      **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         node = instance_cls(
             name=self._model._next_name,
             type=self._model.type,
@@ -405,7 +405,7 @@ class PolicyTemplate(common.TemplateHandlerBase):
     def coerce(self, **kwargs):
         self._topology.coerce(self._model.properties, **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         policy = instance_cls(
             name=self._model.name,
             type=self._model.type,
@@ -437,7 +437,7 @@ class SubstitutionTemplate(common.TemplateHandlerBase):
     def coerce(self, **kwargs):
         self._topology.coerce(self._model.mappings, **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         return instance_cls(node_type=self._model.node_type,
                             substitution_template=self._model)
 
@@ -462,7 +462,7 @@ class SubstitutionTemplateMapping(common.TemplateHandlerBase):
     def coerce(self, **_):
         pass
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         substitution_mapping = instance_cls(
             name=self._model.name,
             requirement_template=self._model.requirement_template)
@@ -516,7 +516,7 @@ class RelationshipTemplate(common.TemplateHandlerBase):
     def coerce(self, **kwargs):
         self._coerce(self._model.properties, self._model.interface_templates, **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         relationship = instance_cls(
             name=self._model.name,
             type=self._model.type,
@@ -566,7 +566,7 @@ class OperationTemplate(common.TemplateHandlerBase):
                      self._model.configurations,
                      **kwargs)
 
-    def instantiate(self, instance_cls):
+    def instantiate(self, instance_cls, **_):
         operation = instance_cls(
             name=self._model.name,
             description=utils.deepcopy_with_locators(self._model.description),

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f2960250/aria/orchestrator/topology/topology.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/topology/topology.py b/aria/orchestrator/topology/topology.py
index 96ee4f9..b2b689d 100644
--- a/aria/orchestrator/topology/topology.py
+++ b/aria/orchestrator/topology/topology.py
@@ -49,11 +49,8 @@ class Topology(issue.ReporterMixin):
         models.Type: models.Type
     }
 
-    def __init__(self, model_storage=None, *args, **kwargs):
-        # TODO: model storage is required only for the list of plugins, can we get it
-        # somewhere else?
+    def __init__(self, *args, **kwargs):
         super(Topology, self).__init__(*args, **kwargs)
-        self._model_storage = model_storage
         self._models_to_handlers = dict(self._init_handlers(instance_handler),
                                         **self._init_handlers(template_handler))