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 2017/02/09 14:49:14 UTC

[11/11] incubator-ariatosca git commit: brought back most of the model tests and reabsed

brought back most of the model tests and reabsed


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

Branch: refs/heads/ARIA-44-Merge-parser-and-storage-models
Commit: efc4dae7de7be37ce429bbad5f6acd92eff31573
Parents: 7dc3692
Author: mxmrlv <mx...@gmail.com>
Authored: Thu Feb 9 16:48:44 2017 +0200
Committer: mxmrlv <mx...@gmail.com>
Committed: Thu Feb 9 16:48:44 2017 +0200

----------------------------------------------------------------------
 aria/orchestrator/context/operation.py          |   2 +-
 aria/orchestrator/context/workflow.py           |  10 +-
 aria/orchestrator/workflows/api/task.py         |   6 +-
 .../workflows/builtin/execute_operation.py      |  54 +-
 aria/orchestrator/workflows/builtin/heal.py     |   8 +-
 aria/orchestrator/workflows/builtin/install.py  |   6 +-
 .../orchestrator/workflows/builtin/uninstall.py |   2 +-
 aria/orchestrator/workflows/builtin/utils.py    |  12 +-
 aria/parser/modeling/storage.py                 |   4 +-
 aria/storage/modeling/__init__.py               |   2 -
 aria/storage/modeling/elements.py               |   5 +-
 aria/storage/modeling/instance_elements.py      |  17 +-
 aria/storage/modeling/model.py                  |  76 +--
 aria/storage/modeling/orchestrator_elements.py  |  12 +-
 aria/storage/modeling/template_elements.py      |   2 +-
 aria/storage/sql_mapi.py                        |   6 +-
 aria/storage_initializer.py                     |  10 +-
 aria/utils/application.py                       |  10 +-
 tests/mock/context.py                           |   4 +-
 tests/orchestrator/context/test_operation.py    |   8 +-
 tests/orchestrator/context/test_serialize.py    |   3 +-
 tests/orchestrator/context/test_toolbelt.py     |   4 +-
 .../orchestrator/execution_plugin/test_local.py |   2 +-
 tests/orchestrator/execution_plugin/test_ssh.py |   2 +-
 tests/orchestrator/test_runner.py               |   4 +-
 tests/orchestrator/workflows/api/test_task.py   |   8 +-
 .../workflows/builtin/test_execute_operation.py |  11 +-
 .../orchestrator/workflows/builtin/test_heal.py |   8 +-
 .../orchestrator/workflows/core/test_engine.py  |   2 +-
 tests/orchestrator/workflows/core/test_task.py  |   4 +-
 .../test_task_graph_into_exececution_graph.py   |  12 +-
 .../executor/test_process_executor_extension.py |   2 +-
 .../test_process_executor_tracked_changes.py    |   6 +-
 .../service_templates/node-cellar/workflows.py  |   4 +-
 tests/storage/__init__.py                       |  33 +-
 tests/storage/test_instrumentation.py           |   6 +-
 tests/storage/test_model_storage.py             |   2 +-
 tests/storage/test_models.py                    | 626 ++++++++-----------
 tests/storage/test_structures.py                |  14 +-
 39 files changed, 459 insertions(+), 550 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/context/operation.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/context/operation.py b/aria/orchestrator/context/operation.py
index d16a8ee..c5ac8f0 100644
--- a/aria/orchestrator/context/operation.py
+++ b/aria/orchestrator/context/operation.py
@@ -79,7 +79,7 @@ class BaseOperationContext(BaseContext):
         context_cls = self.__class__
         context_dict = {
             'name': self.name,
-            'deployment_id': self._deployment_id,
+            'service_instance_id': self._service_instance_id,
             'task_id': self._task_id,
             'actor_id': self._actor_id,
             'workdir': self._workdir,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/context/workflow.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/context/workflow.py b/aria/orchestrator/context/workflow.py
index 4a8d94f..00ed974 100644
--- a/aria/orchestrator/context/workflow.py
+++ b/aria/orchestrator/context/workflow.py
@@ -83,11 +83,11 @@ class WorkflowContext(BaseContext):
         """
         Iterator over nodes
         """
-        key = 'deployment_{0}'.format(self.model.node_template.model_cls.name_column_name())
+        key = 'service_instance_{0}'.format(self.model.node_template.model_cls.name_column_name())
 
-        return self.model.node.iter(
+        return self.model.node_template.iter(
             filters={
-                key: getattr(self.service_instance, self.service_instance.node_template())
+                key: getattr(self.service_instance, self.service_instance.name_column_name())
             }
         )
 
@@ -96,8 +96,8 @@ class WorkflowContext(BaseContext):
         """
         Iterator over node instances
         """
-        key = 'deployment_{0}'.format(self.model.node_instance.model_cls.name_column_name())
-        return self.model.node_instance.iter(
+        key = 'service_instance_{0}'.format(self.model.node.model_cls.name_column_name())
+        return self.model.node.iter(
             filters={
                 key: getattr(self.service_instance, self.service_instance.name_column_name())
             }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/workflows/api/task.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/api/task.py b/aria/orchestrator/workflows/api/task.py
index 64cd7f3..6a00844 100644
--- a/aria/orchestrator/workflows/api/task.py
+++ b/aria/orchestrator/workflows/api/task.py
@@ -99,7 +99,7 @@ class OperationTask(BaseTask):
         return final_inputs
 
     @classmethod
-    def node_instance(cls, instance, name, inputs=None, *args, **kwargs):
+    def node(cls, instance, name, inputs=None, *args, **kwargs):
         """
         Represents a node based operation
 
@@ -142,8 +142,8 @@ class OperationTask(BaseTask):
             **kwargs)
 
     @classmethod
-    def relationship_instance(cls, instance, name, edge, runs_on=None, inputs=None, *args,
-                              **kwargs):
+    def relationship(cls, instance, name, edge, runs_on=None, inputs=None, *args,
+                     **kwargs):
         """
         Represents a relationship based operation
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/workflows/builtin/execute_operation.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/execute_operation.py b/aria/orchestrator/workflows/builtin/execute_operation.py
index e76993d..5a7f6ce 100644
--- a/aria/orchestrator/workflows/builtin/execute_operation.py
+++ b/aria/orchestrator/workflows/builtin/execute_operation.py
@@ -30,8 +30,8 @@ def execute_operation(
         allow_kwargs_override,
         run_by_dependency_order,
         type_names,
+        node_template_ids,
         node_ids,
-        node_instance_ids,
         **kwargs):
     """
     The execute_operation workflow
@@ -43,32 +43,32 @@ def execute_operation(
     :param bool allow_kwargs_override:
     :param bool run_by_dependency_order:
     :param type_names:
+    :param node_template_ids:
     :param node_ids:
-    :param node_instance_ids:
     :param kwargs:
     :return:
     """
     subgraphs = {}
     # filtering node instances
-    filtered_node_instances = list(_filter_node_instances(
+    filtered_nodes = list(_filter_node_instances(
         context=ctx,
+        node_template_ids=node_template_ids,
         node_ids=node_ids,
-        node_instance_ids=node_instance_ids,
         type_names=type_names))
 
     if run_by_dependency_order:
         filtered_node_instances_ids = set(node_instance.id
-                                          for node_instance in filtered_node_instances)
-        for node_instance in ctx.node_instances:
-            if node_instance.id not in filtered_node_instances_ids:
-                subgraphs[node_instance.id] = ctx.task_graph(
-                    name='execute_operation_stub_{0}'.format(node_instance.id))
+                                          for node_instance in filtered_nodes)
+        for node in ctx.node_instances:
+            if node.id not in filtered_node_instances_ids:
+                subgraphs[node.id] = ctx.task_graph(
+                    name='execute_operation_stub_{0}'.format(node.id))
 
     # registering actual tasks to sequences
-    for node_instance in filtered_node_instances:
+    for node in filtered_nodes:
         graph.add_tasks(
             _create_node_instance_task(
-                node_instance=node_instance,
+                nodes=node,
                 operation=operation,
                 operation_kwargs=operation_kwargs,
                 allow_kwargs_override=allow_kwargs_override
@@ -80,37 +80,37 @@ def execute_operation(
 
     # adding tasks dependencies if required
     if run_by_dependency_order:
-        for node_instance in ctx.node_instances:
-            for relationship_instance in node_instance.relationship_instances:
-                graph.add_dependency(source_task=subgraphs[node_instance.id],
-                                     after=[subgraphs[relationship_instance.target_id]])
+        for node in ctx.nodes:
+            for relationship in node.relationships:
+                graph.add_dependency(
+                    source_task=subgraphs[node.id], after=[subgraphs[relationship.target_id]])
 
 
-def _filter_node_instances(context, node_ids=(), node_instance_ids=(), type_names=()):
+def _filter_node_instances(context, node_template_ids=(), node_ids=(), type_names=()):
     def _is_node_by_id(node_id):
-        return not node_ids or node_id in node_ids
+        return not node_template_ids or node_id in node_template_ids
 
     def _is_node_instance_by_id(node_instance_id):
-        return not node_instance_ids or node_instance_id in node_instance_ids
+        return not node_ids or node_instance_id in node_ids
 
     def _is_node_by_type(node_type_hierarchy):
         return not type_names or node_type_hierarchy in type_names
 
-    for node_instance in context.node_instances:
-        if all((_is_node_by_id(node_instance.node.id),
-                _is_node_instance_by_id(node_instance.id),
-                _is_node_by_type(node_instance.node.type_hierarchy))):
-            yield node_instance
+    for node in context.nodes:
+        if all((_is_node_by_id(node.node_template.id),
+                _is_node_instance_by_id(node.id),
+                _is_node_by_type(node.node_template.type_hierarchy))):
+            yield node
 
 
 def _create_node_instance_task(
-        node_instance,
+        nodes,
         operation,
         operation_kwargs,
         allow_kwargs_override):
     """
     A workflow which executes a single operation
-    :param node_instance: the node instance to install
+    :param nodes: the node instance to install
     :param basestring operation: the operation name
     :param dict operation_kwargs:
     :param bool allow_kwargs_override:
@@ -120,7 +120,7 @@ def _create_node_instance_task(
     if allow_kwargs_override is not None:
         operation_kwargs['allow_kwargs_override'] = allow_kwargs_override
 
-    return OperationTask.node_instance(
-        instance=node_instance,
+    return OperationTask.node(
+        instance=nodes,
         name=operation,
         inputs=operation_kwargs)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/workflows/builtin/heal.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/heal.py b/aria/orchestrator/workflows/builtin/heal.py
index 72f04a1..2592323 100644
--- a/aria/orchestrator/workflows/builtin/heal.py
+++ b/aria/orchestrator/workflows/builtin/heal.py
@@ -35,8 +35,8 @@ def heal(ctx, graph, node_instance_id):
     :param node_instance_id: the id of the node instance to heal
     :return:
     """
-    failing_node = ctx.model.node_instance.get(node_instance_id)
-    host_node = ctx.model.node_instance.get(failing_node.host.id)
+    failing_node = ctx.model.node.get(node_instance_id)
+    host_node = ctx.model.node.get(failing_node.host.id)
     failed_node_instance_subgraph = _get_contained_subgraph(ctx, host_node)
     failed_node_instance_ids = list(n.id for n in failed_node_instance_subgraph)
 
@@ -98,7 +98,7 @@ def heal_uninstall(ctx, graph, failing_node_instances, targeted_node_instances):
         for relationship_instance in reversed(node_instance.outbound_relationship_instances):
 
             target_node_instance = \
-                ctx.model.node_instance.get(relationship_instance.target_node_instance.id)
+                ctx.model.node.get(relationship_instance.target_node_instance.id)
             target_node_instance_subgraph = node_instance_sub_workflows[target_node_instance.id]
             graph.add_dependency(target_node_instance_subgraph, node_instance_sub_workflow)
 
@@ -151,7 +151,7 @@ def heal_install(ctx, graph, failing_node_instances, targeted_node_instances):
         node_instance_sub_workflow = node_instance_sub_workflows[node_instance.id]
 
         for relationship_instance in node_instance.outbound_relationship_instances:
-            target_node_instance = ctx.model.node_instance.get(
+            target_node_instance = ctx.model.node.get(
                 relationship_instance.target_node_instance.id)
             target_node_instance_subworkflow = node_instance_sub_workflows[target_node_instance.id]
             graph.add_dependency(node_instance_sub_workflow, target_node_instance_subworkflow)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/workflows/builtin/install.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/install.py b/aria/orchestrator/workflows/builtin/install.py
index 20afb64..2b9ec66 100644
--- a/aria/orchestrator/workflows/builtin/install.py
+++ b/aria/orchestrator/workflows/builtin/install.py
@@ -26,9 +26,7 @@ from ... import workflow
 @workflow
 def install(ctx, graph):
     tasks_and_nodes = []
-    for node in ctx.model.node.iter():
-        tasks_and_nodes.append((
-            WorkflowTask(install_node, node=node),
-            node))
+    for node in ctx.nodes:
+        tasks_and_nodes.append((WorkflowTask(install_node, node=node), node))
     graph.add_tasks([task for task, _ in tasks_and_nodes])
     create_node_task_dependencies(graph, tasks_and_nodes)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/workflows/builtin/uninstall.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/uninstall.py b/aria/orchestrator/workflows/builtin/uninstall.py
index 7948f3e..e4afcd9 100644
--- a/aria/orchestrator/workflows/builtin/uninstall.py
+++ b/aria/orchestrator/workflows/builtin/uninstall.py
@@ -26,7 +26,7 @@ from ... import workflow
 @workflow
 def uninstall(ctx, graph):
     tasks_and_nodes = []
-    for node in ctx.model.node.iter():
+    for node in ctx.nodes:
         tasks_and_nodes.append((
             WorkflowTask(uninstall_node, node=node),
             node))

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/orchestrator/workflows/builtin/utils.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/utils.py b/aria/orchestrator/workflows/builtin/utils.py
index bf85153..c9dbc6b 100644
--- a/aria/orchestrator/workflows/builtin/utils.py
+++ b/aria/orchestrator/workflows/builtin/utils.py
@@ -22,8 +22,8 @@ def create_node_task(operation_name, node):
     """
 
     if _has_operation(node.interfaces, operation_name):
-        return OperationTask.node_instance(instance=node,
-                                           name=operation_name)
+        return OperationTask.node(instance=node,
+                                  name=operation_name)
     return None
 
 
@@ -37,10 +37,10 @@ def create_relationship_tasks(operation_name, runs_on, node):
     for relationship in node.outbound_relationships:
         if _has_operation(relationship.interfaces, operation_name):
             sequence.append(
-                OperationTask.relationship_instance(instance=relationship,
-                                                    name=operation_name,
-                                                    edge='source',
-                                                    runs_on=runs_on))
+                OperationTask.relationship(instance=relationship,
+                                           name=operation_name,
+                                           edge='source',
+                                           runs_on=runs_on))
     return sequence
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/parser/modeling/storage.py
----------------------------------------------------------------------
diff --git a/aria/parser/modeling/storage.py b/aria/parser/modeling/storage.py
index 108ccb4..4633ee2 100644
--- a/aria/parser/modeling/storage.py
+++ b/aria/parser/modeling/storage.py
@@ -69,7 +69,9 @@ def create_service_template(context):
         description=context.modeling.model.description or '',
         created_at=now,
         updated_at=now,
-        main_file_name=main_file_name)
+        main_file_name=main_file_name,
+        plan={}
+    )
 
 
 def create_service_instance(context, service_template, service_instance_id):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/modeling/__init__.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/__init__.py b/aria/storage/modeling/__init__.py
index 1d5936e..697ed09 100644
--- a/aria/storage/modeling/__init__.py
+++ b/aria/storage/modeling/__init__.py
@@ -21,7 +21,6 @@ from . import (
     orchestrator_elements as _orchestrator_base,
     template_elements as _template_base,
 )
-from .model import DB as declarative_base
 
 _ModelBaseCls = namedtuple('ModelBase', 'instance_elements,'
                                         'orchestrator_elements,'
@@ -33,5 +32,4 @@ model_base = _ModelBaseCls(instance_elements=_instance_base,
 __all__ = (
     'model',
     'model_base',
-    'declarative_base'
 )

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/modeling/elements.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/elements.py b/aria/storage/modeling/elements.py
index 1563217..ef609e0 100644
--- a/aria/storage/modeling/elements.py
+++ b/aria/storage/modeling/elements.py
@@ -48,10 +48,11 @@ class ParameterBase(structure.ModelMixin):
         return OrderedDict((
             ('name', self.name),
             ('type_name', self.type),
-            ('value', self._cast_value()),
+            ('value', self.raw_value),
             ('description', self.description)))
 
-    def _cast_value(self):
+    @property
+    def raw_value(self):
         if self.type is None:
             return
         try:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/modeling/instance_elements.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/instance_elements.py b/aria/storage/modeling/instance_elements.py
index 7b8fe14..1bb8f71 100644
--- a/aria/storage/modeling/instance_elements.py
+++ b/aria/storage/modeling/instance_elements.py
@@ -888,16 +888,21 @@ class NodeBase(structure.ModelMixin):
     def host(cls):
         return cls.relationship_to_self('host_fk')
 
+    @declared_attr
+    def service_instance_name(cls):
+        return association_proxy('service_instance', 'name')
+
     @property
     def ip(self):
         if not self.host_fk:
             return None
-        host_node_instance = self.host
-        if 'ip' in host_node_instance.runtime_properties:  # pylint: disable=no-member
-            return host_node_instance.runtime_properties['ip']  # pylint: disable=no-member
-        host_node = host_node_instance.node  # pylint: disable=no-member
-        if 'ip' in host_node.properties:
-            return host_node.properties['ip']
+        host_node = self.host
+        if 'ip' in host_node.runtime_properties:  # pylint: disable=no-member
+            return host_node.runtime_properties['ip']  # pylint: disable=no-member
+        host_node = host_node.node_template  # pylint: disable=no-member
+        host_ip_property = [prop for prop in host_node.properties if prop.name == 'ip']
+        if host_ip_property:
+            return host_ip_property[0].raw_value
         return None
 
     @declared_attr

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/modeling/model.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/model.py b/aria/storage/modeling/model.py
index 74e419d..62b90b3 100644
--- a/aria/storage/modeling/model.py
+++ b/aria/storage/modeling/model.py
@@ -24,8 +24,10 @@ from . import (
 )
 
 __all__ = (
-    'DB',
+    'aria_declarative_base',
+
     'Parameter',
+
     'MappingTemplate',
     'InterfaceTemplate',
     'OperationTemplate',
@@ -61,14 +63,14 @@ __all__ = (
     'Task'
 )
 
-DB = declarative_base(cls=structure.ModelIDMixin)
+aria_declarative_base = declarative_base(cls=structure.ModelIDMixin)
 
 # pylint: disable=abstract-method
 
 # region elements
 
 
-class Parameter(elements.ParameterBase, DB):
+class Parameter(aria_declarative_base, elements.ParameterBase):
     pass
 
 # endregion
@@ -76,55 +78,56 @@ class Parameter(elements.ParameterBase, DB):
 # region template models
 
 
-class MappingTemplate(DB, template_elements.MappingTemplateBase):
+class MappingTemplate(aria_declarative_base, template_elements.MappingTemplateBase):
     pass
 
 
-class SubstitutionTemplate(DB, template_elements.SubstitutionTemplateBase):
+class SubstitutionTemplate(aria_declarative_base, template_elements.SubstitutionTemplateBase):
     pass
 
 
-class InterfaceTemplate(DB, template_elements.InterfaceTemplateBase):
+class InterfaceTemplate(aria_declarative_base, template_elements.InterfaceTemplateBase):
     pass
 
 
-class OperationTemplate(DB, template_elements.OperationTemplateBase):
+class OperationTemplate(aria_declarative_base, template_elements.OperationTemplateBase):
     pass
 
 
-class ServiceTemplate(DB, template_elements.ServiceTemplateBase):
+class ServiceTemplate(aria_declarative_base, template_elements.ServiceTemplateBase):
     pass
 
 
-class NodeTemplate(DB, template_elements.NodeTemplateBase):
+class NodeTemplate(aria_declarative_base, template_elements.NodeTemplateBase):
     pass
 
 
-class GroupTemplate(DB, template_elements.GroupTemplateBase):
+class GroupTemplate(aria_declarative_base, template_elements.GroupTemplateBase):
     pass
 
 
-class ArtifactTemplate(DB, template_elements.ArtifactTemplateBase):
+class ArtifactTemplate(aria_declarative_base, template_elements.ArtifactTemplateBase):
     pass
 
 
-class PolicyTemplate(DB, template_elements.PolicyTemplateBase):
+class PolicyTemplate(aria_declarative_base, template_elements.PolicyTemplateBase):
     pass
 
 
-class GroupPolicyTemplate(DB, template_elements.GroupPolicyTemplateBase):
+class GroupPolicyTemplate(aria_declarative_base, template_elements.GroupPolicyTemplateBase):
     pass
 
 
-class GroupPolicyTriggerTemplate(DB, template_elements.GroupPolicyTriggerTemplateBase):
+class GroupPolicyTriggerTemplate(aria_declarative_base,
+                                 template_elements.GroupPolicyTriggerTemplateBase):
     pass
 
 
-class RequirementTemplate(DB, template_elements.RequirementTemplateBase):
+class RequirementTemplate(aria_declarative_base, template_elements.RequirementTemplateBase):
     pass
 
 
-class CapabilityTemplate(DB, template_elements.CapabilityTemplateBase):
+class CapabilityTemplate(aria_declarative_base, template_elements.CapabilityTemplateBase):
     pass
 
 
@@ -132,55 +135,55 @@ class CapabilityTemplate(DB, template_elements.CapabilityTemplateBase):
 
 # region instance models
 
-class Mapping(DB, instance_elements.MappingBase):
+class Mapping(aria_declarative_base, instance_elements.MappingBase):
     pass
 
 
-class Substitution(DB, instance_elements.SubstitutionBase):
+class Substitution(aria_declarative_base, instance_elements.SubstitutionBase):
     pass
 
 
-class ServiceInstance(DB, instance_elements.ServiceInstanceBase):
+class ServiceInstance(aria_declarative_base, instance_elements.ServiceInstanceBase):
     pass
 
 
-class Node(DB, instance_elements.NodeBase):
+class Node(aria_declarative_base, instance_elements.NodeBase):
     pass
 
 
-class Relationship(DB, instance_elements.RelationshipBase):
+class Relationship(aria_declarative_base, instance_elements.RelationshipBase):
     pass
 
 
-class Artifact(DB, instance_elements.ArtifactBase):
+class Artifact(aria_declarative_base, instance_elements.ArtifactBase):
     pass
 
 
-class Group(DB, instance_elements.GroupBase):
+class Group(aria_declarative_base, instance_elements.GroupBase):
     pass
 
 
-class Interface(DB, instance_elements.InterfaceBase):
+class Interface(aria_declarative_base, instance_elements.InterfaceBase):
     pass
 
 
-class Operation(DB, instance_elements.OperationBase):
+class Operation(aria_declarative_base, instance_elements.OperationBase):
     pass
 
 
-class Capability(DB, instance_elements.CapabilityBase):
+class Capability(aria_declarative_base, instance_elements.CapabilityBase):
     pass
 
 
-class Policy(DB, instance_elements.PolicyBase):
+class Policy(aria_declarative_base, instance_elements.PolicyBase):
     pass
 
 
-class GroupPolicy(DB, instance_elements.GroupPolicyBase):
+class GroupPolicy(aria_declarative_base, instance_elements.GroupPolicyBase):
     pass
 
 
-class GroupPolicyTrigger(DB, instance_elements.GroupPolicyTriggerBase):
+class GroupPolicyTrigger(aria_declarative_base, instance_elements.GroupPolicyTriggerBase):
     pass
 
 
@@ -188,26 +191,29 @@ class GroupPolicyTrigger(DB, instance_elements.GroupPolicyTriggerBase):
 
 # region orchestrator models
 
-class Execution(DB, orchestrator_elements.Execution):
+class Execution(aria_declarative_base, orchestrator_elements.Execution):
     pass
 
 
-class ServiceInstanceUpdate(DB, orchestrator_elements.ServiceInstanceUpdateBase):
+class ServiceInstanceUpdate(aria_declarative_base,
+                            orchestrator_elements.ServiceInstanceUpdateBase):
     pass
 
 
-class ServiceInstanceUpdateStep(DB, orchestrator_elements.ServiceInstanceUpdateStepBase):
+class ServiceInstanceUpdateStep(aria_declarative_base,
+                                orchestrator_elements.ServiceInstanceUpdateStepBase):
     pass
 
 
-class ServiceInstanceModification(DB, orchestrator_elements.ServiceInstanceModificationBase):
+class ServiceInstanceModification(aria_declarative_base,
+                                  orchestrator_elements.ServiceInstanceModificationBase):
     pass
 
 
-class Plugin(DB, orchestrator_elements.PluginBase):
+class Plugin(aria_declarative_base, orchestrator_elements.PluginBase):
     pass
 
 
-class Task(DB, orchestrator_elements.TaskBase):
+class Task(aria_declarative_base, orchestrator_elements.TaskBase):
     pass
 # endregion

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/modeling/orchestrator_elements.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/orchestrator_elements.py b/aria/storage/modeling/orchestrator_elements.py
index 5aaf02f..5f7a3f2 100644
--- a/aria/storage/modeling/orchestrator_elements.py
+++ b/aria/storage/modeling/orchestrator_elements.py
@@ -163,10 +163,10 @@ class ServiceInstanceUpdateBase(ModelMixin):
     _private_fields = ['execution_fk', 'deployment_fk']
 
     created_at = Column(DateTime, nullable=False, index=True)
-    deployment_plan = Column(Dict, nullable=False)
-    deployment_update_node_instances = Column(Dict)
-    deployment_update_deployment = Column(Dict)
-    deployment_update_nodes = Column(List)
+    service_instance_plan = Column(Dict, nullable=False)
+    service_instance_update_node_instances = Column(Dict)
+    service_instance_update_service_instance = Column(Dict)
+    service_instance_update_nodes = Column(List)
     modified_entity_ids = Column(Dict)
     state = Column(Text)
 
@@ -238,7 +238,7 @@ class ServiceInstanceUpdateStepBase(ModelMixin):
         return cls.foreign_key('service_instance_update')
 
     @declared_attr
-    def deployment_update(cls):
+    def service_instance_update(cls):
         return cls.many_to_one_relationship('service_instance_update',
                                             backreference='steps')
 
@@ -305,7 +305,7 @@ class ServiceInstanceModificationBase(ModelMixin):
                                             backreference='modifications')
 
     @declared_attr
-    def deployment_name(cls):
+    def service_instance_name(cls):
         return association_proxy('service_instance', cls.name_column_name())
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/modeling/template_elements.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/template_elements.py b/aria/storage/modeling/template_elements.py
index b4ba031..e9a2d24 100644
--- a/aria/storage/modeling/template_elements.py
+++ b/aria/storage/modeling/template_elements.py
@@ -54,7 +54,7 @@ class ServiceTemplateBase(structure.ModelMixin):
 
     created_at = Column(DateTime, nullable=False, index=True)
     main_file_name = Column(Text)
-    plan = Column(aria_type.Dict)
+    plan = Column(aria_type.Dict, nullable=False)
     updated_at = Column(DateTime)
 
     # endregion

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage/sql_mapi.py
----------------------------------------------------------------------
diff --git a/aria/storage/sql_mapi.py b/aria/storage/sql_mapi.py
index 9dae08a..b80ac8e 100644
--- a/aria/storage/sql_mapi.py
+++ b/aria/storage/sql_mapi.py
@@ -142,8 +142,12 @@ class SQLAlchemyModelAPI(api.ModelAPI):
     def _establish_connection(self):
         pass
 
-    def create(self, checkfirst=True, **kwargs):
+    def create(self, checkfirst=True, create_all=True, **kwargs):
         self.model_cls.__table__.create(self._engine, checkfirst=checkfirst)
+        if create_all:
+            # In order to create any models created dynamically (e.g. many-to-many helper tables are
+            # created at runtime).
+            self.model_cls.metadata.create_all(bind=self._engine, checkfirst=checkfirst)
 
     def drop(self):
         """

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/storage_initializer.py
----------------------------------------------------------------------
diff --git a/aria/storage_initializer.py b/aria/storage_initializer.py
index 0386baa..aea5ec8 100644
--- a/aria/storage_initializer.py
+++ b/aria/storage_initializer.py
@@ -48,9 +48,9 @@ def initialize_storage(context, model_storage, deployment_id):
                     for relationship_model in node.relationships:
                         if relationship_model.source_requirement_index == index:
                             source_instance = \
-                                model_storage.node_instance.get_by_name(node.id)
+                                model_storage.node.get_by_name(node.id)
                             target_instance = \
-                                model_storage.node_instance.get_by_name(
+                                model_storage.node.get_by_name(
                                     relationship_model.target_node_id)
                             relationship = \
                                 _create_relationship_instance(source_instance, target_instance)
@@ -115,7 +115,7 @@ _TERMINAL_LOCK = RLock()
 @operation
 def _dry_node(ctx, _plugin, _implementation, **kwargs):
     with _TERMINAL_LOCK:
-        print '> node instance: %s' % Colored.red(ctx.node_instance.name)
+        print '> node instance: %s' % Colored.red(ctx.node.name)
         _dump_implementation(_plugin, _implementation)
 
 
@@ -123,8 +123,8 @@ def _dry_node(ctx, _plugin, _implementation, **kwargs):
 def _dry_relationship(ctx, _plugin, _implementation, **kwargs):
     with _TERMINAL_LOCK:
         puts('> relationship instance: %s -> %s' % (
-            Colored.red(ctx.relationship_instance.source_node_instance.name),
-            Colored.red(ctx.relationship_instance.target_node_instance.name)))
+            Colored.red(ctx.relationship.source_node_instance.name),
+            Colored.red(ctx.relationship.target_node_instance.name)))
         _dump_implementation(_plugin, _implementation)
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/aria/utils/application.py
----------------------------------------------------------------------
diff --git a/aria/utils/application.py b/aria/utils/application.py
index 161a9cb..2f40825 100644
--- a/aria/utils/application.py
+++ b/aria/utils/application.py
@@ -207,24 +207,24 @@ class StorageManager(LoggerMixin):
             relationship_instances = []
 
             for index, relationship_instance in enumerate(node_instance['relationships']):
-                relationship_instance_model = self.model_storage.relationship_instance.model_cls(
+                relationship_instance_model = self.model_storage.relationship.model_cls(
                     relationship=node_model.relationships[index],
                     target_name=relationship_instance['target_name'],
                     type=relationship_instance['type'],
                     target_id=relationship_instance['target_id'])
                 relationship_instances.append(relationship_instance_model)
-                self.model_storage.relationship_instance.put(relationship_instance_model)
+                self.model_storage.relationship.put(relationship_instance_model)
 
-            node_instance_model = self.model_storage.node_instance.model_cls(
+            node_instance_model = self.model_storage.node.model_cls(
                 node=node_model,
                 id=node_instance['id'],
                 runtime_properties={},
-                state=self.model_storage.node_instance.model_cls.UNINITIALIZED,
+                state=self.model_storage.node.model_cls.UNINITIALIZED,
                 deployment_id=self.deployment_id,
                 version='1.0',
                 relationship_instances=relationship_instances)
 
-            self.model_storage.node_instance.put(node_instance_model)
+            self.model_storage.node.put(node_instance_model)
         self.logger.debug('created node-instances model storage entries')
 
     def create_plugin_storage(self, plugin_id, source):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/mock/context.py
----------------------------------------------------------------------
diff --git a/tests/mock/context.py b/tests/mock/context.py
index 10645a4..cf1a32d 100644
--- a/tests/mock/context.py
+++ b/tests/mock/context.py
@@ -38,13 +38,13 @@ def simple(tmpdir, inmemory=False, context_kwargs=None):
         api_kwargs=dict(directory=os.path.join(tmpdir, 'resources'))
     )
 
-    service_instnce_id = create_simple_topology_two_nodes(model_storage)
+    service_instance_id = create_simple_topology_two_nodes(model_storage)
 
     final_kwargs = dict(
         name='simple_context',
         model_storage=model_storage,
         resource_storage=resource_storage,
-        service_instance_id=service_instnce_id,
+        service_instance_id=service_instance_id,
         workflow_name=models.WORKFLOW_NAME,
         task_max_attempts=models.TASK_MAX_ATTEMPTS,
         task_retry_interval=models.TASK_RETRY_INTERVAL

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/context/test_operation.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/context/test_operation.py b/tests/orchestrator/context/test_operation.py
index 12e56fc..3f39979 100644
--- a/tests/orchestrator/context/test_operation.py
+++ b/tests/orchestrator/context/test_operation.py
@@ -70,7 +70,7 @@ def test_node_operation_task_execution(ctx, executor):
     @workflow
     def basic_workflow(graph, **_):
         graph.add_tasks(
-            api.task.OperationTask.node_instance(
+            api.task.OperationTask.node(
                 name=operation_name,
                 instance=node,
                 inputs=inputs
@@ -113,7 +113,7 @@ def test_relationship_operation_task_execution(ctx, executor):
     @workflow
     def basic_workflow(graph, **_):
         graph.add_tasks(
-            api.task.OperationTask.relationship_instance(
+            api.task.OperationTask.relationship(
                 instance=relationship,
                 name=operation_name,
                 inputs=inputs,
@@ -171,7 +171,7 @@ def test_invalid_task_operation_id(ctx, executor):
     @workflow
     def basic_workflow(graph, **_):
         graph.add_tasks(
-            api.task.OperationTask.node_instance(name=operation_name, instance=node)
+            api.task.OperationTask.node(name=operation_name, instance=node)
         )
 
     execute(workflow_func=basic_workflow, workflow_context=ctx, executor=executor)
@@ -200,7 +200,7 @@ def test_plugin_workdir(ctx, executor, tmpdir):
 
     @workflow
     def basic_workflow(graph, **_):
-        graph.add_tasks(api.task.OperationTask.node_instance(
+        graph.add_tasks(api.task.OperationTask.node(
             name=op, instance=node, inputs=inputs))
 
     execute(workflow_func=basic_workflow, workflow_context=ctx, executor=executor)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/context/test_serialize.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/context/test_serialize.py b/tests/orchestrator/context/test_serialize.py
index 71683f8..1fdcb1a 100644
--- a/tests/orchestrator/context/test_serialize.py
+++ b/tests/orchestrator/context/test_serialize.py
@@ -40,7 +40,6 @@ def test_serialize_operation_context(context, executor, tmpdir):
     eng.execute()
 
 
-
 @workflow
 def _mock_workflow(ctx, graph):
     node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
@@ -50,7 +49,7 @@ def _mock_workflow(ctx, graph):
         operation_kwargs=dict(implementation=_operation_mapping(), plugin=plugin_name)
     )]
     node.plugins = [{'name': plugin_name}]
-    task = api.task.OperationTask.node_instance(instance=node, name='test.op')
+    task = api.task.OperationTask.node(instance=node, name='test.op')
     graph.add_tasks(task)
     return graph
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/context/test_toolbelt.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/context/test_toolbelt.py b/tests/orchestrator/context/test_toolbelt.py
index 7093904..28bd3d3 100644
--- a/tests/orchestrator/context/test_toolbelt.py
+++ b/tests/orchestrator/context/test_toolbelt.py
@@ -86,7 +86,7 @@ def test_host_ip(workflow_context, executor):
     @workflow
     def basic_workflow(graph, **_):
         graph.add_tasks(
-            api.task.OperationTask.node_instance(
+            api.task.OperationTask.node(
                 instance=dependency_node,
                 name=operation_name,
                 inputs=inputs
@@ -115,7 +115,7 @@ def test_relationship_tool_belt(workflow_context, executor):
     @workflow
     def basic_workflow(graph, **_):
         graph.add_tasks(
-            api.task.OperationTask.relationship_instance(
+            api.task.OperationTask.relationship(
                 instance=relationship,
                 name=operation_name,
                 edge='source',

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/execution_plugin/test_local.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/execution_plugin/test_local.py b/tests/orchestrator/execution_plugin/test_local.py
index aa45bc9..9e9540f 100644
--- a/tests/orchestrator/execution_plugin/test_local.py
+++ b/tests/orchestrator/execution_plugin/test_local.py
@@ -486,7 +486,7 @@ if __name__ == '__main__':
             # node.operations[op] = {
             #     'operation': '{0}.{1}'.format(operations.__name__,
             #                                   operations.run_script_locally.__name__)}
-            graph.add_tasks(api.task.OperationTask.node_instance(
+            graph.add_tasks(api.task.OperationTask.node(
                 instance=node,
                 name=op,
                 inputs=inputs))

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/execution_plugin/test_ssh.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/execution_plugin/test_ssh.py b/tests/orchestrator/execution_plugin/test_ssh.py
index 23ae597..2e270bb 100644
--- a/tests/orchestrator/execution_plugin/test_ssh.py
+++ b/tests/orchestrator/execution_plugin/test_ssh.py
@@ -222,7 +222,7 @@ class TestWithActualSSHServer(object):
                 op,
                 dict(implementation='{0}.{1}'.format(operations.__name__, operation.__name__))
             )]
-            graph.sequence(*[api.task.OperationTask.node_instance(
+            graph.sequence(*[api.task.OperationTask.node(
                 instance=node,
                 name=op,
                 inputs={

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/test_runner.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/test_runner.py b/tests/orchestrator/test_runner.py
index 8927fe9..17230df 100644
--- a/tests/orchestrator/test_runner.py
+++ b/tests/orchestrator/test_runner.py
@@ -49,8 +49,8 @@ def test_runner_tasks():
     def workflow_fn(ctx, graph):
         for node in ctx.model.node:
             graph.add_tasks(
-                OperationTask.node_instance(instance=node,
-                                            name='tosca.interfaces.node.lifecycle.Standard.create'))
+                OperationTask.node(instance=node,
+                                   name='tosca.interfaces.node.lifecycle.Standard.create'))
 
     _test_runner(workflow_fn)
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/api/test_task.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/api/test_task.py b/tests/orchestrator/workflows/api/test_task.py
index 1762647..79618c1 100644
--- a/tests/orchestrator/workflows/api/test_task.py
+++ b/tests/orchestrator/workflows/api/test_task.py
@@ -30,7 +30,7 @@ def ctx(tmpdir):
     :return:
     """
     simple_context = mock.context.simple(str(tmpdir), inmemory=False)
-    simple_context.model.execution.put(mock.models.get_execution(simple_context.deployment))
+    simple_context.model.execution.put(mock.models.get_execution(simple_context.service_instance))
     yield simple_context
     storage.release_sqlite_storage(simple_context.model)
 
@@ -55,7 +55,7 @@ class TestOperationTask(object):
         ignore_failure = True
 
         with context.workflow.current.push(ctx):
-            api_task = api.task.OperationTask.node_instance(
+            api_task = api.task.OperationTask.node(
                 name=operation_name,
                 instance=node,
                 inputs=inputs,
@@ -94,7 +94,7 @@ class TestOperationTask(object):
         retry_interval = 10
 
         with context.workflow.current.push(ctx):
-            api_task = api.task.OperationTask.relationship_instance(
+            api_task = api.task.OperationTask.relationship(
                 name=operation_name,
                 instance=relationship,
                 edge='source',
@@ -131,7 +131,7 @@ class TestOperationTask(object):
         retry_interval = 10
 
         with context.workflow.current.push(ctx):
-            api_task = api.task.OperationTask.relationship_instance(
+            api_task = api.task.OperationTask.relationship(
                 name=operation_name,
                 instance=relationship,
                 edge='target',

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/builtin/test_execute_operation.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/builtin/test_execute_operation.py b/tests/orchestrator/workflows/builtin/test_execute_operation.py
index 87e3425..cc9a8a8 100644
--- a/tests/orchestrator/workflows/builtin/test_execute_operation.py
+++ b/tests/orchestrator/workflows/builtin/test_execute_operation.py
@@ -30,8 +30,9 @@ def ctx(tmpdir):
 
 
 def test_execute_operation(ctx):
-    node_instance = ctx.model.node_instance.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
-
+    node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
+    node.interfaces = [mock.models.get_interface(mock.operations.NODE_OPERATIONS_INSTALL[0])]
+    ctx.model.node.update(node)
     operation_name = mock.operations.NODE_OPERATIONS_INSTALL[0]
 
     execute_tasks = list(
@@ -43,13 +44,13 @@ def test_execute_operation(ctx):
             allow_kwargs_override=False,
             run_by_dependency_order=False,
             type_names=[],
-            node_ids=[],
-            node_instance_ids=[node_instance.id]
+            node_template_ids=[],
+            node_ids=[node.id]
         ).topological_order()
     )
 
     assert len(execute_tasks) == 1
-    assert execute_tasks[0].name == '{0}.{1}'.format(operation_name, node_instance.id)
+    assert execute_tasks[0].name == '{0}.{1}'.format(operation_name, node.id)
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/builtin/test_heal.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/builtin/test_heal.py b/tests/orchestrator/workflows/builtin/test_heal.py
index 3e4498f..b553049 100644
--- a/tests/orchestrator/workflows/builtin/test_heal.py
+++ b/tests/orchestrator/workflows/builtin/test_heal.py
@@ -34,9 +34,9 @@ def ctx(tmpdir):
 @pytest.mark.skip(reason='heal is not implemented for now')
 def test_heal_dependent_node(ctx):
     dependent_node_instance = \
-        ctx.model.node_instance.get_by_name(mock.models.DEPENDENT_NODE_INSTANCE_NAME)
+        ctx.model.node.get_by_name(mock.models.DEPENDENT_NODE_INSTANCE_NAME)
     dependent_node_instance.host_fk = dependent_node_instance.id
-    ctx.model.node_instance.update(dependent_node_instance)
+    ctx.model.node.update(dependent_node_instance)
     heal_graph = task.WorkflowTask(heal, ctx=ctx, node_instance_id=dependent_node_instance.id)
 
     assert len(list(heal_graph.tasks)) == 2
@@ -64,9 +64,9 @@ def test_heal_dependent_node(ctx):
 @pytest.mark.skip(reason='heal is not implemented for now')
 def test_heal_dependency_node(ctx):
     dependency_node_instance = \
-        ctx.model.node_instance.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
+        ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
     dependency_node_instance.host_fk = dependency_node_instance.id
-    ctx.model.node_instance.update(dependency_node_instance)
+    ctx.model.node.update(dependency_node_instance)
     heal_graph = task.WorkflowTask(heal, ctx=ctx, node_instance_id=dependency_node_instance.id)
     # both subgraphs should contain un\install for both the dependent and the dependency
     assert len(list(heal_graph.tasks)) == 2

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/core/test_engine.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/core/test_engine.py b/tests/orchestrator/workflows/core/test_engine.py
index 7e1be66..b2b67fc 100644
--- a/tests/orchestrator/workflows/core/test_engine.py
+++ b/tests/orchestrator/workflows/core/test_engine.py
@@ -66,7 +66,7 @@ class BaseTest(object):
             operation_kwargs=dict(implementation='{name}.{func.__name__}'.format(name=__name__,
                                                                                  func=func))
         )]
-        return api.task.OperationTask.node_instance(
+        return api.task.OperationTask.node(
             instance=node,
             name='aria.interfaces.lifecycle.create',
             inputs=inputs,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/core/test_task.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/core/test_task.py b/tests/orchestrator/workflows/core/test_task.py
index d50c914..26564c5 100644
--- a/tests/orchestrator/workflows/core/test_task.py
+++ b/tests/orchestrator/workflows/core/test_task.py
@@ -55,7 +55,7 @@ class TestOperationTask(object):
 
     def _create_node_operation_task(self, ctx, node):
         with workflow_context.current.push(ctx):
-            api_task = api.task.OperationTask.node_instance(
+            api_task = api.task.OperationTask.node(
                 instance=node,
                 name='tosca.interfaces.node.lifecycle.Standard.create')
             core_task = core.task.OperationTask(api_task=api_task)
@@ -63,7 +63,7 @@ class TestOperationTask(object):
 
     def _create_relationship_operation_task(self, ctx, relationship, operation_name, edge):
         with workflow_context.current.push(ctx):
-            api_task = api.task.OperationTask.relationship_instance(
+            api_task = api.task.OperationTask.relationship(
                 instance=relationship, name=operation_name, edge=edge)
             core_task = core.task.OperationTask(api_task=api_task)
         return api_task, core_task

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/core/test_task_graph_into_exececution_graph.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/core/test_task_graph_into_exececution_graph.py b/tests/orchestrator/workflows/core/test_task_graph_into_exececution_graph.py
index ab3dfe3..167004e 100644
--- a/tests/orchestrator/workflows/core/test_task_graph_into_exececution_graph.py
+++ b/tests/orchestrator/workflows/core/test_task_graph_into_exececution_graph.py
@@ -34,14 +34,14 @@ def test_task_graph_into_execution_graph(tmpdir):
 
     with context.workflow.current.push(task_context):
         test_task_graph = api.task.WorkflowTask(sub_workflow, name='test_task_graph')
-        simple_before_task = api.task.OperationTask.node_instance(instance=node,
-                                                                  name=operation_name)
-        simple_after_task = api.task.OperationTask.node_instance(instance=node,
-                                                                 name=operation_name)
+        simple_before_task = api.task.OperationTask.node(instance=node,
+                                                         name=operation_name)
+        simple_after_task = api.task.OperationTask.node(instance=node,
+                                                        name=operation_name)
 
         inner_task_graph = api.task.WorkflowTask(sub_workflow, name='test_inner_task_graph')
-        inner_task = api.task.OperationTask.node_instance(instance=node,
-                                                          name=operation_name)
+        inner_task = api.task.OperationTask.node(instance=node,
+                                                 name=operation_name)
         inner_task_graph.add_tasks(inner_task)
 
     test_task_graph.add_tasks(simple_before_task)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/executor/test_process_executor_extension.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/executor/test_process_executor_extension.py b/tests/orchestrator/workflows/executor/test_process_executor_extension.py
index cf9c071..ac95554 100644
--- a/tests/orchestrator/workflows/executor/test_process_executor_extension.py
+++ b/tests/orchestrator/workflows/executor/test_process_executor_extension.py
@@ -41,7 +41,7 @@ def test_decorate_extension(context, executor):
             operation_kwargs=dict(implementation='{0}.{1}'.format(__name__,
                                                                   _mock_operation.__name__))
         )]
-        task = api.task.OperationTask.node_instance(instance=node_instance, name=op, inputs=inputs)
+        task = api.task.OperationTask.node(instance=node_instance, name=op, inputs=inputs)
         graph.add_tasks(task)
         return graph
     graph = mock_workflow(ctx=context)  # pylint: disable=no-value-for-parameter

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
----------------------------------------------------------------------
diff --git a/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py b/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
index 4198e3b..d3b3300 100644
--- a/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
+++ b/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
@@ -90,9 +90,9 @@ def _run_workflow(context, executor, op_func, inputs=None):
         node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
         node.interfaces = [mock.models.get_interface(
             'test.op', operation_kwargs=dict(implementation=_operation_mapping(op_func)))]
-        task = api.task.OperationTask.node_instance(instance=node,
-                                                    name='test.op',
-                                                    inputs=inputs or {})
+        task = api.task.OperationTask.node(instance=node,
+                                           name='test.op',
+                                           inputs=inputs or {})
         graph.add_tasks(task)
         return graph
     graph = mock_workflow(ctx=context)  # pylint: disable=no-value-for-parameter

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/resources/service_templates/node-cellar/workflows.py
----------------------------------------------------------------------
diff --git a/tests/resources/service_templates/node-cellar/workflows.py b/tests/resources/service_templates/node-cellar/workflows.py
index b3546bb..fce7eaf 100644
--- a/tests/resources/service_templates/node-cellar/workflows.py
+++ b/tests/resources/service_templates/node-cellar/workflows.py
@@ -11,9 +11,9 @@ def maintenance(ctx, graph, enabled):
 
     operation = 'Maintenance.enable' if enabled else 'Maintenance.disable'
 
-    for node_instance in ctx.model.node_instance.iter():
+    for node_instance in ctx.model.node.iter():
         if operation in node_instance.node.operations:
-            task = OperationTask.node_instance(
+            task = OperationTask.node(
                 instance=node_instance,
                 name=operation)
             graph.add_tasks(task)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/storage/__init__.py
----------------------------------------------------------------------
diff --git a/tests/storage/__init__.py b/tests/storage/__init__.py
index 0000387..4278831 100644
--- a/tests/storage/__init__.py
+++ b/tests/storage/__init__.py
@@ -35,7 +35,7 @@ from aria.storage import (
 )
 
 
-class MockModel(model.DB, structure.ModelMixin): #pylint: disable=abstract-method
+class MockModel(model.aria_declarative_base, structure.ModelMixin): #pylint: disable=abstract-method
     __tablename__ = 'mock_model'
     model_dict = Column(aria_type.Dict)
     model_list = Column(aria_type.List)
@@ -52,35 +52,6 @@ class TestFileSystem(object):
         rmtree(self.path, ignore_errors=True)
 
 
-def get_sqlite_api_kwargs(base_dir=None, filename='db.sqlite'):
-    """
-    Create sql params. works in in-memory and in filesystem mode.
-    If base_dir is passed, the mode will be filesystem mode. while the default mode is in-memory.
-    :param str base_dir: The base dir for the filesystem memory file.
-    :param str filename: the file name - defaults to 'db.sqlite'.
-    :return:
-    """
-    if base_dir is not None:
-        uri = 'sqlite:///{platform_char}{path}'.format(
-            # Handles the windows behavior where there is not root, but drivers.
-            # Thus behaving as relative path.
-            platform_char='' if 'Windows' in platform.system() else '/',
-
-            path=os.path.join(base_dir, filename))
-        engine_kwargs = {}
-    else:
-        uri = 'sqlite:///:memory:'
-        engine_kwargs = dict(connect_args={'check_same_thread': False},
-                             poolclass=pool.StaticPool)
-
-    engine = create_engine(uri, **engine_kwargs)
-    session_factory = orm.sessionmaker(bind=engine)
-    session = orm.scoped_session(session_factory=session_factory) if base_dir else session_factory()
-
-    modeling.declarative_base.metadata.create_all(bind=engine)
-    return dict(engine=engine, session=session)
-
-
 def release_sqlite_storage(storage):
     """
     Drops the tables and clears the session
@@ -94,7 +65,7 @@ def release_sqlite_storage(storage):
             session.rollback()
             session.close()
         for engine in set(mapi._engine for mapi in mapis):
-            modeling.declarative_base.metadata.drop_all(engine)
+            model.aria_declarative_base.metadata.drop_all(engine)
 
 
 def init_inmemory_model_storage():

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/storage/test_instrumentation.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_instrumentation.py b/tests/storage/test_instrumentation.py
index 1420785..08d5ae0 100644
--- a/tests/storage/test_instrumentation.py
+++ b/tests/storage/test_instrumentation.py
@@ -345,15 +345,15 @@ class _MockModel(structure.ModelMixin):
     string2 = Column(Text)
 
 
-class MockModel1(_MockModel, model.DB):
+class MockModel1(_MockModel, model.aria_declarative_base):
     __tablename__ = 'mock_model_1'
 
 
-class MockModel2(_MockModel, model.DB):
+class MockModel2(_MockModel, model.aria_declarative_base):
     __tablename__ = 'mock_model_2'
 
 
-class StrictMockModel(structure.ModelMixin, model.DB):
+class StrictMockModel(structure.ModelMixin, model.aria_declarative_base):
     __tablename__ = 'strict_mock_model'
 
     strict_dict = Column(aria_type.StrictDict(basestring, basestring))

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/efc4dae7/tests/storage/test_model_storage.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_model_storage.py b/tests/storage/test_model_storage.py
index 7019da7..f88080a 100644
--- a/tests/storage/test_model_storage.py
+++ b/tests/storage/test_model_storage.py
@@ -38,7 +38,7 @@ def storage():
 
 @pytest.fixture(scope='module', autouse=True)
 def module_cleanup():
-    modeling.model.DB.metadata.remove(MockModel.__table__)  #pylint: disable=no-member
+    modeling.model.aria_declarative_base.metadata.remove(MockModel.__table__)  #pylint: disable=no-member
 
 
 def test_storage_base(storage):