You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by mx...@apache.org on 2016/12/22 12:35:34 UTC

incubator-ariatosca git commit: review 1

Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-39-Genericize-storage-models 8614c9a92 -> 9fe443f12


review 1


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

Branch: refs/heads/ARIA-39-Genericize-storage-models
Commit: 9fe443f12095aeb68fbc734c72e7781ebf8162fe
Parents: 8614c9a
Author: mxmrlv <mx...@gmail.com>
Authored: Thu Dec 22 14:35:21 2016 +0200
Committer: mxmrlv <mx...@gmail.com>
Committed: Thu Dec 22 14:35:21 2016 +0200

----------------------------------------------------------------------
 aria/orchestrator/context/workflow.py       |  8 ++++----
 aria/orchestrator/workflows/builtin/heal.py |  9 ++++-----
 aria/storage/base_model.py                  |  2 +-
 aria/storage/structure.py                   | 10 ++++++----
 tests/storage/test_model_storage.py         |  6 ++++++
 5 files changed, 21 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9fe443f1/aria/orchestrator/context/workflow.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/context/workflow.py b/aria/orchestrator/context/workflow.py
index 387ca02..0299ea0 100644
--- a/aria/orchestrator/context/workflow.py
+++ b/aria/orchestrator/context/workflow.py
@@ -85,11 +85,11 @@ class WorkflowContext(BaseContext):
         """
         Iterator over nodes
         """
-        key = 'deployment_{0}'.format(self.model.node_instance.model_cls.name_column_name())
+        key = 'deployment_{0}'.format(self.model.node.model_cls.id_column_name())
 
         return self.model.node.iter(
             filters={
-                key: getattr(self.deployment, self.deployment.name_column_name())
+                key: getattr(self.deployment, self.deployment.id_column_name())
             }
         )
 
@@ -98,10 +98,10 @@ class WorkflowContext(BaseContext):
         """
         Iterator over node instances
         """
-        key = 'deployment_{0}'.format(self.model.node_instance.model_cls.name_column_name())
+        key = 'deployment_{0}'.format(self.model.node_instance.model_cls.id_column_name())
         return self.model.node_instance.iter(
             filters={
-                key: getattr(self.deployment, self.deployment.name_column_name())
+                key: getattr(self.deployment, self.deployment.id_column_name())
             }
         )
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9fe443f1/aria/orchestrator/workflows/builtin/heal.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/heal.py b/aria/orchestrator/workflows/builtin/heal.py
index 406a42a..21da2ed 100644
--- a/aria/orchestrator/workflows/builtin/heal.py
+++ b/aria/orchestrator/workflows/builtin/heal.py
@@ -163,11 +163,10 @@ def heal_install(ctx, graph, failing_node_instances, targeted_node_instances):
 
 
 def _get_contained_subgraph(context, host_node_instance):
-    contained_instances = [
-        node_instance
-        for node_instance in context.node_instances
-        if node_instance == host_node_instance and node_instance != node_instance
-        ]
+    contained_instances = [node_instance
+                           for node_instance in context.node_instances
+                           if node_instance.host_fk == host_node_instance.id and
+                           node_instance.host_fk != node_instance.id]
     result = [host_node_instance]
 
     if not contained_instances:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9fe443f1/aria/storage/base_model.py
----------------------------------------------------------------------
diff --git a/aria/storage/base_model.py b/aria/storage/base_model.py
index 701bc83..9162c56 100644
--- a/aria/storage/base_model.py
+++ b/aria/storage/base_model.py
@@ -665,7 +665,7 @@ class TaskBase(ModelMixin):
         """
         Return the actor of the task
         :return:
-      `  """
+        """
         return self.node_instance or self.relationship_instance
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9fe443f1/aria/storage/structure.py
----------------------------------------------------------------------
diff --git a/aria/storage/structure.py b/aria/storage/structure.py
index 3f09560..c307041 100644
--- a/aria/storage/structure.py
+++ b/aria/storage/structure.py
@@ -39,6 +39,8 @@ from sqlalchemy import (
 
 class ModelMixin(object):
 
+    # _private_fields = []
+
     @classmethod
     def id_column_name(cls):
         raise NotImplementedError
@@ -69,12 +71,12 @@ class ModelMixin(object):
         :param table: Unique id column in the parent table
         :param nullable: Should the column be allowed to remain empty
         """
-        table = cls._get_cls_by_tablename(table.__tablename__)
-        foreign_key_str = '{tablename}.{unique_id}'.format(tablename=table.__tablename__,
-                                                           unique_id=table.id_column_name())
+        table_cls = cls._get_cls_by_tablename(table.__tablename__)
+        foreign_key_str = '{tablename}.{unique_id}'.format(tablename=table_cls.__tablename__,
+                                                           unique_id=table_cls.id_column_name())
         column = Column(ForeignKey(foreign_key_str, ondelete='CASCADE'),
                         nullable=nullable)
-        column.__remote_table_name = table.__name__
+        column.__remote_table_name = table_cls.__name__
         return column
 
     @classmethod

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9fe443f1/tests/storage/test_model_storage.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_model_storage.py b/tests/storage/test_model_storage.py
index 6f9527e..4991d19 100644
--- a/tests/storage/test_model_storage.py
+++ b/tests/storage/test_model_storage.py
@@ -130,6 +130,12 @@ def test_model_to_dict():
     assert 'blueprint_fk' not in deployment_dict
 
 
+def test_missing_private_fields():
+    mock_model = MockModel()
+    with pytest.raises(AttributeError):
+        mock_model.to_dict()
+
+
 def test_application_storage_factory():
     storage = application_model_storage(sql_mapi.SQLAlchemyModelAPI,
                                         api_kwargs=get_sqlite_api_kwargs())