[1/4] incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-20 Thread mxmrlv
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-39-Genericize-storage-models 3cca6f5ed -> 6e1f1260f (forced 
update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-39-Genericize-storage-models
Commit: 04c9bd07916f957ddd88b933067266177a242a42
Parents: c6c92ae
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Sun Dec 11 19:26:28 2016 +0200

--
 aria/__init__.py|  25 +--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 125 +++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 ---
 .../events/builtin_event_handler.py | 123 ---
 .../events/workflow_engine_event_handler.py |  74 -
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/events_handler.py| 113 ++
 aria/orchestrator/workflows/events_logging.py   |  65 
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/storage/structures.py  |   4 +-
 aria/utils/plugin.py|  39 -
 aria/utils/threading.py |   7 +-
 extensions/aria_extension_tosca/__init__.py |  52 ---
 .../simple_v1_0/data_types.py   |   5 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 +++
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +-
 tests/test_extension.py | 156 +++
 29 files changed, 602 insertions(+), 390 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index b000397..0f7bec6 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,13 +17,18 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -41,19 +46,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(api, api_kwargs=None):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..141da07 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension

[1/2] incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-13 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-26-plugin-mechanism 4e30e09b7 -> 5c3bee47d (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-26-plugin-mechanism
Commit: 04c9bd07916f957ddd88b933067266177a242a42
Parents: c6c92ae
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Sun Dec 11 19:26:28 2016 +0200

--
 aria/__init__.py|  25 +--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 125 +++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 ---
 .../events/builtin_event_handler.py | 123 ---
 .../events/workflow_engine_event_handler.py |  74 -
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/events_handler.py| 113 ++
 aria/orchestrator/workflows/events_logging.py   |  65 
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/storage/structures.py  |   4 +-
 aria/utils/plugin.py|  39 -
 aria/utils/threading.py |   7 +-
 extensions/aria_extension_tosca/__init__.py |  52 ---
 .../simple_v1_0/data_types.py   |   5 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 +++
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +-
 tests/test_extension.py | 156 +++
 29 files changed, 602 insertions(+), 390 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index b000397..0f7bec6 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,13 +17,18 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -41,19 +46,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(api, api_kwargs=None):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..141da07 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-11 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 8533f4814 -> 04c9bd079 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: 04c9bd07916f957ddd88b933067266177a242a42
Parents: c6c92ae
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Sun Dec 11 19:26:28 2016 +0200

--
 aria/__init__.py|  25 +--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 125 +++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 ---
 .../events/builtin_event_handler.py | 123 ---
 .../events/workflow_engine_event_handler.py |  74 -
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/events_handler.py| 113 ++
 aria/orchestrator/workflows/events_logging.py   |  65 
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/storage/structures.py  |   4 +-
 aria/utils/plugin.py|  39 -
 aria/utils/threading.py |   7 +-
 extensions/aria_extension_tosca/__init__.py |  52 ---
 .../simple_v1_0/data_types.py   |   5 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 +++
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +-
 tests/test_extension.py | 156 +++
 29 files changed, 602 insertions(+), 390 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index b000397..0f7bec6 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,13 +17,18 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -41,19 +46,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(api, api_kwargs=None):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..141da07 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-11 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions b5c300db3 -> d559deab3 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: d559deab3b8d326f13a20a28540506ed6ee2b2e6
Parents: c6c92ae
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Sun Dec 11 17:44:11 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 123 +
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 --
 aria/orchestrator/workflows/__init__.py |   4 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/events_logging.py   |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 aria/utils/threading.py |   7 +-
 extensions/aria_extension_tosca/__init__.py |  52 +++
 .../simple_v1_0/data_types.py   |   5 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 135 +++
 28 files changed, 578 insertions(+), 388 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d559deab/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index b000397..0f7bec6 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,13 +17,18 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -41,19 +46,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(api, api_kwargs=None):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d559deab/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..141da07 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import (application_model_storage, application_resource_storage)
 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-08 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 32f26b480 -> 59e315268 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: 59e315268b7af8b9376b610c1ea92c6c906d40d7
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Thu Dec 8 10:30:19 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 126 ++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 ---
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 aria/utils/threading.py |   7 +-
 extensions/aria_extension_tosca/__init__.py |  52 
 .../simple_v1_0/data_types.py   |   5 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 132 +++
 28 files changed, 577 insertions(+), 388 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/59e31526/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..cd27c25 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/59e31526/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..dd893d6 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-07 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions e2c1d29da -> c07af3ea0 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: c07af3ea00521f8022183f9f0e0fc53faab66704
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Wed Dec 7 19:01:39 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 126 ++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 ---
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 extensions/aria_extension_tosca/__init__.py |  52 
 .../simple_v1_0/data_types.py   |   5 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 132 +++
 27 files changed, 571 insertions(+), 387 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/c07af3ea/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..cd27c25 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/c07af3ea/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..dd893d6 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import (application_model_storage, 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-07 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 6d6a7b971 -> e2c1d29da (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: e2c1d29da78de3baa26cd5e82afb9d8e194545a9
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Wed Dec 7 19:01:04 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 126 ++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 ---
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 extensions/aria_extension_tosca/__init__.py |  52 
 .../simple_v1_0/data_types.py   |   6 +-
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 132 +++
 27 files changed, 572 insertions(+), 387 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e2c1d29d/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..cd27c25 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e2c1d29d/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..dd893d6 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import (application_model_storage, 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-07 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 82d6b6402 -> 6d6a7b971 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: 6d6a7b971f6830a8415725bfd36705f64ab86698
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Wed Dec 7 18:57:57 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 126 ++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 ---
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 extensions/aria_extension_tosca/__init__.py |  52 
 requirements.txt|   1 +
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 132 +++
 26 files changed, 567 insertions(+), 386 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6d6a7b97/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..cd27c25 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6d6a7b97/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..dd893d6 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import (application_model_storage, application_resource_storage)
 from ..logger import LoggerMixin
 from 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-07 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 0e2ccf001 -> 82d6b6402 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: 82d6b6402ccc991526d588a660f3225f1d714145
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Wed Dec 7 18:01:54 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 126 ++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 ---
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 extensions/aria_extension_tosca/__init__.py |  52 
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 132 +++
 25 files changed, 566 insertions(+), 386 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/82d6b640/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..cd27c25 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/82d6b640/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..dd893d6 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import (application_model_storage, application_resource_storage)
 from ..logger import LoggerMixin
 from ..storage import (FileSystemModelDriver, 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-07 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 7bbcb8be3 -> 0e2ccf001 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: 0e2ccf001c7f66601754c6d45584403ed3ce5f71
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Wed Dec 7 17:53:17 2016 +0200

--
 aria/__init__.py|  25 ++--
 aria/cli/commands.py|   9 +-
 aria/extension.py   | 128 ++
 aria/orchestrator/events.py |  36 +
 aria/orchestrator/events/__init__.py|  57 
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 ---
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/utils/plugin.py|  39 --
 extensions/aria_extension_tosca/__init__.py |  52 
 tests/orchestrator/conftest.py  |  23 
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +--
 tests/test_extension.py | 132 +++
 25 files changed, 568 insertions(+), 386 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0e2ccf00/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..cd27c25 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+extension,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then invokes all registered extension functions.
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+extension.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0e2ccf00/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..dd893d6 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import extension
 from .. import (application_model_storage, application_resource_storage)
 from ..logger import LoggerMixin
 from ..storage import (FileSystemModelDriver, 

incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]

2016-12-06 Thread dankilman
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-31-extensions 17d75d495 -> 7bbcb8be3 (forced update)


ARIA-31 Add registry mechanism for extensions


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

Branch: refs/heads/ARIA-31-extensions
Commit: 7bbcb8be392657f52836c39ec0cd43b8e5cff7bf
Parents: fe974e4
Author: Dan Kilman 
Authored: Mon Dec 5 15:28:29 2016 +0200
Committer: Dan Kilman 
Committed: Tue Dec 6 14:28:39 2016 +0200

--
 aria/__init__.py|  25 +--
 aria/cli/commands.py|   9 +-
 aria/orchestrator/events.py |  36 
 aria/orchestrator/events/__init__.py|  57 --
 .../events/builtin_event_handler.py | 123 -
 .../events/workflow_engine_event_handler.py |  74 
 aria/orchestrator/workflows/__init__.py |   3 +
 aria/orchestrator/workflows/core/engine.py  |   2 +
 .../workflows/core/event_handler.py | 113 
 aria/orchestrator/workflows/logging.py  |  65 +++
 aria/parser/__init__.py |   5 +-
 aria/parser/loading/__init__.py |   3 +-
 aria/parser/loading/uri.py  |   5 +-
 aria/parser/presentation/__init__.py|   3 +-
 aria/parser/presentation/source.py  |   7 +-
 aria/parser/specification.py|   6 +-
 aria/registry.py| 114 
 aria/utils/plugin.py|  39 
 extensions/aria_extension_tosca/__init__.py |  50 ++---
 tests/orchestrator/conftest.py  |  23 +++
 tests/orchestrator/events/__init__.py   |  14 --
 .../events/test_builtin_event_handlers.py   |  14 --
 .../test_workflow_enginge_event_handlers.py |   0
 .../workflows/executor/test_executor.py |  16 +-
 tests/test_registry.py  | 181 +++
 25 files changed, 602 insertions(+), 385 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7bbcb8be/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index 3f81f98..2d8ba9d 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -17,14 +17,19 @@
 Aria top level package
 """
 
-import sys
 import pkgutil
 
+try:
+import pkg_resources
+except ImportError:
+pkg_resources = None
+
 from .VERSION import version as __version__
 
 from .orchestrator.decorators import workflow, operation
 from .storage import ModelStorage, ResourceStorage, models, ModelDriver, 
ResourceDriver
 from . import (
+registry,
 utils,
 parser,
 storage,
@@ -43,19 +48,17 @@ _resource_storage = {}
 
 def install_aria_extensions():
 """
-Iterates all Python packages with names beginning with 
:code:`aria_extension_` and calls
-their :code:`install_aria_extension` function if they have it.
+Iterates all Python packages with names beginning with 
:code:`aria_extension_` and all
+:code:`aria_extension` entry points and loads them.
+It then calls all functions registered to the on_init registry
 """
-
 for loader, module_name, _ in pkgutil.iter_modules():
 if module_name.startswith('aria_extension_'):
-module = loader.find_module(module_name).load_module(module_name)
-
-if hasattr(module, 'install_aria_extension'):
-module.install_aria_extension()
-
-# Loading the module has contaminated sys.modules, so we'll clean 
it up
-del sys.modules[module_name]
+loader.find_module(module_name).load_module(module_name)
+if pkg_resources:
+for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
+registry.on_init.init()
 
 
 def application_model_storage(driver):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7bbcb8be/aria/cli/commands.py
--
diff --git a/aria/cli/commands.py b/aria/cli/commands.py
index 3426bb0..8e73a71 100644
--- a/aria/cli/commands.py
+++ b/aria/cli/commands.py
@@ -28,13 +28,14 @@ from importlib import import_module
 
 from yaml import safe_load, YAMLError
 
+from .. import registry
 from .. import (application_model_storage, application_resource_storage)
 from ..logger import LoggerMixin
 from ..storage import (FileSystemModelDriver, FileSystemResourceDriver)