Re: Podling Report Reminder - November 2016

2016-10-26 Thread John D. Ament
Can the drafts be moved to confluence?

On Oct 26, 2016 19:30, "Suneel Marthi"  wrote:

> Here's a Draft of November Podling Report, @Ran and others please fill in /
> modify as you see fit.
>
> https://docs.google.com/document/d/1QqShfZUBf5Awzw_
> cued-79kHAFjEtW5A6EM_8aHwlRI/edit?usp=sharing
>
>
>
> On Wed, Oct 26, 2016 at 7:01 PM,  wrote:
>
> > Dear podling,
> >
> > This email was sent by an automated system on behalf of the Apache
> > Incubator PMC. It is an initial reminder to give you plenty of time to
> > prepare your quarterly board report.
> >
> > The board meeting is scheduled for Wed, 16 November 2016, 10:30 am PDT.
> > The report for your podling will form a part of the Incubator PMC
> > report. The Incubator PMC requires your report to be submitted 2 weeks
> > before the board meeting, to allow sufficient time for review and
> > submission (Wed, November 02).
> >
> > Please submit your report with sufficient time to allow the Incubator
> > PMC, and subsequently board members to review and digest. Again, the
> > very latest you should submit your report is 2 weeks prior to the board
> > meeting.
> >
> > Thanks,
> >
> > The Apache Incubator PMC
> >
> > Submitting your Report
> >
> > --
> >
> > Your report should contain the following:
> >
> > *   Your project name
> > *   A brief description of your project, which assumes no knowledge of
> > the project or necessarily of its field
> > *   A list of the three most important issues to address in the move
> > towards graduation.
> > *   Any issues that the Incubator PMC or ASF Board might wish/need to be
> > aware of
> > *   How has the community developed since the last report
> > *   How has the project developed since the last report.
> >
> > This should be appended to the Incubator Wiki page at:
> >
> > http://wiki.apache.org/incubator/November2016
> >
> > Note: This is manually populated. You may need to wait a little before
> > this page is created from a template.
> >
> > Mentors
> > ---
> >
> > Mentors should review reports for their project(s) and sign them off on
> > the Incubator wiki page. Signing off reports shows that you are
> > following the project - projects that are not signed may raise alarms
> > for the Incubator PMC.
> >
> > Incubator PMC
> >
>


Podling Report Reminder - November 2016

2016-10-26 Thread johndament
Dear podling,

This email was sent by an automated system on behalf of the Apache
Incubator PMC. It is an initial reminder to give you plenty of time to
prepare your quarterly board report.

The board meeting is scheduled for Wed, 16 November 2016, 10:30 am PDT.
The report for your podling will form a part of the Incubator PMC
report. The Incubator PMC requires your report to be submitted 2 weeks
before the board meeting, to allow sufficient time for review and
submission (Wed, November 02).

Please submit your report with sufficient time to allow the Incubator
PMC, and subsequently board members to review and digest. Again, the
very latest you should submit your report is 2 weeks prior to the board
meeting.

Thanks,

The Apache Incubator PMC

Submitting your Report

--

Your report should contain the following:

*   Your project name
*   A brief description of your project, which assumes no knowledge of
the project or necessarily of its field
*   A list of the three most important issues to address in the move
towards graduation.
*   Any issues that the Incubator PMC or ASF Board might wish/need to be
aware of
*   How has the community developed since the last report
*   How has the project developed since the last report.

This should be appended to the Incubator Wiki page at:

http://wiki.apache.org/incubator/November2016

Note: This is manually populated. You may need to wait a little before
this page is created from a template.

Mentors
---

Mentors should review reports for their project(s) and sign them off on
the Incubator wiki page. Signing off reports shows that you are
following the project - projects that are not signed may raise alarms
for the Incubator PMC.

Incubator PMC


[GitHub] incubator-ariatosca pull request #12: ARIA-3 Create an API for creating work...

2016-10-26 Thread mxmrlv
Github user mxmrlv commented on a diff in the pull request:

https://github.com/apache/incubator-ariatosca/pull/12#discussion_r85103673
  
--- Diff: tests/workflows/builtin/test_heal.py ---
@@ -0,0 +1,82 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import pytest
+
+from aria.workflows.builtin.heal import heal
+
+from . import (simple_context,
+   assert_node_install_operations,
+   assert_node_uninstall_operations)
+
+
+@pytest.fixture
+def context():
+return simple_context()
+
+
+def test_heal_dependent_node(context):
+heal_graph = heal(context=context, 
node_instance_id='dependent_node_instance')
+uninstall_subgraph, install_subgraph = 
list(heal_graph.topological_order(reverse=True))
--- End diff --

put some comment lines


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-ariatosca pull request #12: ARIA-3 Create an API for creating work...

2016-10-26 Thread mxmrlv
Github user mxmrlv commented on a diff in the pull request:

https://github.com/apache/incubator-ariatosca/pull/12#discussion_r85102949
  
--- Diff: tests/workflows/builtin/test_execute_operation.py ---
@@ -0,0 +1,45 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import pytest
+
+from aria.workflows.builtin.execute_operation import execute_operation
+
+from . import simple_context, NODE_OPERATIONS_INSTALL
+
+
+@pytest.fixture
+def context():
+return simple_context()
+
+
+def test_execute_operation(context):
+operation_name = NODE_OPERATIONS_INSTALL[0]
+node_instance_id = 'dependency_node_instance'
+execute_operations = list(execute_operation(
--- End diff --

rename to tasks


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-ariatosca pull request #12: ARIA-3 Create an API for creating work...

2016-10-26 Thread mxmrlv
Github user mxmrlv commented on a diff in the pull request:

https://github.com/apache/incubator-ariatosca/pull/12#discussion_r85102304
  
--- Diff: tests/workflows/builtin/__init__.py ---
@@ -0,0 +1,177 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import pytest
+
+from aria import contexts
+from aria.storage import ModelStorage, models
+
+from ...storage import InMemoryModelDriver
+
+NODE_OPERATIONS_INSTALL = [
+'aria.interfaces.lifecycle.create',
+'aria.interfaces.lifecycle.configure',
+'aria.interfaces.lifecycle.start',
+]
+NODE_OPERATIONS_UNINSTALL = [
+'aria.interfaces.lifecycle.stop',
+'aria.interfaces.lifecycle.delete',
+]
+NODE_OPERATIONS = NODE_OPERATIONS_INSTALL + NODE_OPERATIONS_UNINSTALL
+
+RELATIONSHIP_OPERATIONS_INSTALL = [
+'aria.interfaces.relationship_lifecycle.preconfigure',
+'aria.interfaces.relationship_lifecycle.postconfigure',
+'aria.interfaces.relationship_lifecycle.establish',
+]
+RELATIONSHIP_OPERATIONS_UNINSTALL = 
['aria.interfaces.relationship_lifecycle.unlink']
+RELATIONSHIP_OPERATIONS = RELATIONSHIP_OPERATIONS_INSTALL + 
RELATIONSHIP_OPERATIONS_UNINSTALL
+
+
+def simple_context():
+"""
+Create the following graph in storage:
+dependency_node <-- dependent_node
+:return:
+"""
+
+storage = ModelStorage(InMemoryModelDriver(),
+   model_classes=[models.NodeInstance,
+  models.Node,
+  models.Relationship,
+  models.RelationshipInstance])
+storage.setup()
+
+dependency_node = models.Node(
+id='dependency_node',
+host_id='dependency_node',
+blueprint_id='test_blueprint_id',
+type='test_node_type',
+type_hierarchy=[],
+number_of_instances=1,
+planned_number_of_instances=1,
+deploy_number_of_instances=1,
+properties={},
+operations=dict((key, None) for key in NODE_OPERATIONS),
+relationships=[],
+min_number_of_instances=1,
+max_number_of_instances=1,
+)
+
+dependency_node_instance = models.NodeInstance(
+id='dependency_node_instance',
+host_id='dependency_node_instance',
+deployment_id='test_deployment_id',
+runtime_properties={},
+version=None,
+relationship_instances=[],
+node=dependency_node
+)
+
+relationship = models.Relationship(
+target_id=dependency_node.id,
+source_interfaces={},
+source_operations=dict((key, None) for key in 
RELATIONSHIP_OPERATIONS),
+target_interfaces={},
+target_operations=dict((key, None) for key in 
RELATIONSHIP_OPERATIONS),
+type='rel_type',
+type_hierarchy=[],
+properties={},
+)
+
+relationship_instance = models.RelationshipInstance(
+target_id=dependency_node_instance.id,
+target_name='test_target_name',
+type='some_type',
+relationship=relationship,
+
+)
+
+dependent_node = models.Node(
+id='dependent_node',
+host_id='dependent_node',
+blueprint_id='test_blueprint_id',
+type='test_node_type',
+type_hierarchy=[],
+number_of_instances=1,
+planned_number_of_instances=1,
+deploy_number_of_instances=1,
+properties={},
+operations=dict((key, None) for key in NODE_OPERATIONS),
+relationships=[relationship],
+min_number_of_instances=1,
+max_number_of_instances=1,
+)
+
+dependent_node_instance = models.NodeInstance(
+id='dependent_node_instance',
+host_id='dependent_node_instance',
+

[GitHub] incubator-ariatosca pull request #12: ARIA-3 Create an API for creating work...

2016-10-26 Thread mxmrlv
Github user mxmrlv commented on a diff in the pull request:

https://github.com/apache/incubator-ariatosca/pull/12#discussion_r85099118
  
--- Diff: aria/workflows/builtin/workflows.py ---
@@ -135,30 +136,27 @@ def uninstall_node_instance(graph, context, 
node_instance):
 'aria.interfaces.lifecycle.delete'],
 node_instance=node_instance
 )
+unlink_operations = unlink_relationship(context, node_instance)
 
-graph.chain(tasks=[
-stop_node_instance,
-unlink_relationship(context=context, node_instance=node_instance),
-delete_node_instance,
-])
+uninstall_sequence = [stop_node_instance]
+uninstall_sequence.extend(unlink_operations)
+uninstall_sequence.append(delete_node_instance)
 
+graph.sequence(*uninstall_sequence)
--- End diff --

change this too


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-ariatosca pull request #12: ARIA-3 Create an API for creating work...

2016-10-26 Thread mxmrlv
Github user mxmrlv commented on a diff in the pull request:

https://github.com/apache/incubator-ariatosca/pull/12#discussion_r85099050
  
--- Diff: aria/workflows/builtin/workflows.py ---
@@ -57,59 +57,60 @@ def install_node_instance(context, graph, 
node_instance):
 'aria.interfaces.lifecycle.start'],
 node_instance=node_instance
 )
-graph.chain(tasks=[
-create_node_instance,
-preconfigure_relationship(context=context, 
node_instance=node_instance),
-configure_node_instance,
-postconfigure_relationship(context=context, 
node_instance=node_instance),
-start_node_instance,
-establish_relationship(context=context, 
node_instance=node_instance),
-])
+preconfigure_operations = preconfigure_relationship(context, 
node_instance)
+postconfigure_operations = postconfigure_relationship(context, 
node_instance)
+establish_operations = establish_relationship(context, node_instance)
 
+install_sequence = [create_node_instance]
+install_sequence.extend(preconfigure_operations)
+install_sequence.append(configure_node_instance)
+install_sequence.extend(postconfigure_operations)
+install_sequence.append(start_node_instance)
+install_sequence.extend(establish_operations)
 
-@workflow(suffix_template='{node_instance.id}')
-def preconfigure_relationship(context, graph, node_instance):
+graph.sequence(*install_sequence)
--- End diff --

graph.sequence(
  create_node_instance,
  graph.parallel(*preconfigure_operations),
  ...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-ariatosca pull request #12: ARIA-3 Create an API for creating work...

2016-10-26 Thread mxmrlv
Github user mxmrlv commented on a diff in the pull request:

https://github.com/apache/incubator-ariatosca/pull/12#discussion_r85096928
  
--- Diff: aria/workflows/api/task_graph.py ---
@@ -55,6 +55,23 @@ def tasks(self):
 for _, data in self._graph.nodes_iter(data=True):
 yield data['task']
 
+@property
+def id(self):
--- End diff --

put ID above 47


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


incubator-ariatosca git commit: ARIA-5-Adapt-workflow-API-users-to-modified-API [Forced Update!]

2016-10-26 Thread mxmrlv
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-3-api-for-creating-workflows d4247cf0d -> 137e80cb3 (forced 
update)


ARIA-5-Adapt-workflow-API-users-to-modified-API


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

Branch: refs/heads/ARIA-3-api-for-creating-workflows
Commit: 137e80cb3fb00ce2a670b3cf0769ae1aa5789d5f
Parents: 0bdfbcb
Author: mxmrlv 
Authored: Sun Oct 23 20:13:44 2016 +0300
Committer: mxmrlv 
Committed: Wed Oct 26 12:56:44 2016 +0300

--
 aria/workflows/api/task_graph.py|  19 +-
 aria/workflows/builtin/execute_operation.py |   7 +-
 aria/workflows/builtin/heal.py  |  88 +
 aria/workflows/builtin/install.py   |  10 +-
 aria/workflows/builtin/uninstall.py |   5 +-
 aria/workflows/builtin/workflows.py |  77 
 aria/workflows/core/translation.py  |  19 +-
 tests/workflows/builtin/__init__.py | 177 +++
 .../workflows/builtin/test_execute_operation.py |  45 +
 tests/workflows/builtin/test_heal.py|  82 +
 tests/workflows/builtin/test_install.py |  36 
 tests/workflows/builtin/test_uninstall.py   |  36 
 .../test_task_graph_into_exececution_graph.py   |  18 +-
 13 files changed, 498 insertions(+), 121 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/137e80cb/aria/workflows/api/task_graph.py
--
diff --git a/aria/workflows/api/task_graph.py b/aria/workflows/api/task_graph.py
index fdc4e2b..9c138e0 100644
--- a/aria/workflows/api/task_graph.py
+++ b/aria/workflows/api/task_graph.py
@@ -19,7 +19,7 @@ Task graph. Used by users to build workflows
 
 from uuid import uuid4
 
-from networkx import DiGraph
+from networkx import DiGraph, topological_sort
 
 
 class TaskNotInGraphError(Exception):
@@ -55,6 +55,23 @@ class TaskGraph(object):
 for _, data in self._graph.nodes_iter(data=True):
 yield data['task']
 
+@property
+def id(self):
+"""
+Represents the id of the graph
+:return: graph id
+"""
+return self._id
+
+def topological_order(self, reverse=False):
+"""
+Returns topological sort on the graph
+:param reverse: whether to reverse the sort
+:return: a list which represents the topological sort
+"""
+for task_id in topological_sort(self._graph, reverse=reverse):
+yield self.get_task(task_id)
+
 def get_task_dependencies(self, dependent_task):
 """
 Iterates over the task's dependencies

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/137e80cb/aria/workflows/builtin/execute_operation.py
--
diff --git a/aria/workflows/builtin/execute_operation.py 
b/aria/workflows/builtin/execute_operation.py
index 9e87c30..a664904 100644
--- a/aria/workflows/builtin/execute_operation.py
+++ b/aria/workflows/builtin/execute_operation.py
@@ -67,14 +67,13 @@ def execute_operation(
 
 # registering actual tasks to sequences
 for node_instance in filtered_node_instances:
-node_instance_sub_workflow = execute_operation_on_instance(
+execute_operation_on_instance(
 context=context,
 graph=graph,
 node_instance=node_instance,
 operation=operation,
 operation_kwargs=operation_kwargs,
 allow_kwargs_override=allow_kwargs_override)
-subgraphs[node_instance.id] = node_instance_sub_workflow
 
 for _, node_instance_sub_workflow in subgraphs.items():
 graph.add_task(node_instance_sub_workflow)
@@ -83,8 +82,8 @@ def execute_operation(
 if run_by_dependency_order:
 for node_instance in context.node_instances:
 for relationship_instance in node_instance.relationship_instances:
-graph.dependency(source_task=subgraphs[node_instance.id],
- 
after=[subgraphs[relationship_instance.target_id]])
+graph.add_dependency(source_task=subgraphs[node_instance.id],
+ 
after=[subgraphs[relationship_instance.target_id]])
 
 
 def _filter_node_instances(context, node_ids=(), node_instance_ids=(), 
type_names=()):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/137e80cb/aria/workflows/builtin/heal.py

incubator-ariatosca git commit: ARIA-5-Adapt-workflow-API-users-to-modified-API(added tests and code fixes)

2016-10-26 Thread mxmrlv
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-3-api-for-creating-workflows c4c7a0fd4 -> d4247cf0d


ARIA-5-Adapt-workflow-API-users-to-modified-API(added tests and code fixes)


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

Branch: refs/heads/ARIA-3-api-for-creating-workflows
Commit: d4247cf0dd91b6fa6f77b251f7e96c808eb642c0
Parents: c4c7a0f
Author: mxmrlv 
Authored: Wed Oct 26 12:07:53 2016 +0300
Committer: mxmrlv 
Committed: Wed Oct 26 12:46:16 2016 +0300

--
 aria/workflows/api/task_graph.py|   2 +-
 aria/workflows/builtin/execute_operation.py |   7 +-
 aria/workflows/builtin/heal.py  |  88 -
 aria/workflows/builtin/install.py   |   8 +-
 aria/workflows/builtin/workflows.py |  73 
 aria/workflows/core/translation.py  |   2 +-
 tests/workflows/builtin/__init__.py | 177 +++
 .../workflows/builtin/test_execute_operation.py |  45 +
 tests/workflows/builtin/test_heal.py|  82 +
 tests/workflows/builtin/test_install.py |  36 
 tests/workflows/builtin/test_uninstall.py   |  36 
 11 files changed, 458 insertions(+), 98 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d4247cf0/aria/workflows/api/task_graph.py
--
diff --git a/aria/workflows/api/task_graph.py b/aria/workflows/api/task_graph.py
index ec0c4a5..9c138e0 100644
--- a/aria/workflows/api/task_graph.py
+++ b/aria/workflows/api/task_graph.py
@@ -63,7 +63,7 @@ class TaskGraph(object):
 """
 return self._id
 
-def topological_sort(self, reverse=False):
+def topological_order(self, reverse=False):
 """
 Returns topological sort on the graph
 :param reverse: whether to reverse the sort

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d4247cf0/aria/workflows/builtin/execute_operation.py
--
diff --git a/aria/workflows/builtin/execute_operation.py 
b/aria/workflows/builtin/execute_operation.py
index 9e87c30..a664904 100644
--- a/aria/workflows/builtin/execute_operation.py
+++ b/aria/workflows/builtin/execute_operation.py
@@ -67,14 +67,13 @@ def execute_operation(
 
 # registering actual tasks to sequences
 for node_instance in filtered_node_instances:
-node_instance_sub_workflow = execute_operation_on_instance(
+execute_operation_on_instance(
 context=context,
 graph=graph,
 node_instance=node_instance,
 operation=operation,
 operation_kwargs=operation_kwargs,
 allow_kwargs_override=allow_kwargs_override)
-subgraphs[node_instance.id] = node_instance_sub_workflow
 
 for _, node_instance_sub_workflow in subgraphs.items():
 graph.add_task(node_instance_sub_workflow)
@@ -83,8 +82,8 @@ def execute_operation(
 if run_by_dependency_order:
 for node_instance in context.node_instances:
 for relationship_instance in node_instance.relationship_instances:
-graph.dependency(source_task=subgraphs[node_instance.id],
- 
after=[subgraphs[relationship_instance.target_id]])
+graph.add_dependency(source_task=subgraphs[node_instance.id],
+ 
after=[subgraphs[relationship_instance.target_id]])
 
 
 def _filter_node_instances(context, node_ids=(), node_instance_ids=(), 
type_names=()):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d4247cf0/aria/workflows/builtin/heal.py
--
diff --git a/aria/workflows/builtin/heal.py b/aria/workflows/builtin/heal.py
index 9a31fd6..b9c7f8e 100644
--- a/aria/workflows/builtin/heal.py
+++ b/aria/workflows/builtin/heal.py
@@ -34,28 +34,27 @@ def heal(context, graph, node_instance_id):
 :param node_instance_id: the id of the node instance to heal
 :return:
 """
-failing_node = context.storage.node_instance.get(node_instance_id)
-host_node = context.storage.node_instance.get(failing_node.host_id)
+failing_node = context.model.node_instance.get(node_instance_id)
+host_node = context.model.node_instance.get(failing_node.host_id)
 failed_node_instance_subgraph = _get_contained_subgraph(context, host_node)
 failed_node_instance_ids = list(n.id for n in