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/04/17 15:43:15 UTC
incubator-ariatosca git commit: misc_fixes_for_os_plugin [Forced
Update!]
Repository: incubator-ariatosca
Updated Branches:
refs/heads/misc_fixes_for_os_plugin 7e1babd55 -> 57e1bd10d (forced update)
misc_fixes_for_os_plugin
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/57e1bd10
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/57e1bd10
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/57e1bd10
Branch: refs/heads/misc_fixes_for_os_plugin
Commit: 57e1bd10d275595bbc40ff0e6db080e597350767
Parents: 5996754
Author: max-orlov <ma...@gigaspaces.com>
Authored: Sun Apr 16 23:08:02 2017 +0300
Committer: max-orlov <ma...@gigaspaces.com>
Committed: Mon Apr 17 18:43:08 2017 +0300
----------------------------------------------------------------------
aria/core.py | 22 +++++++++------
aria/modeling/service_template.py | 2 +-
.../execution_plugin/ssh/operations.py | 8 +++++-
aria/orchestrator/plugin.py | 1 +
aria/orchestrator/workflows/builtin/utils.py | 28 ++++++++++----------
aria/parser/consumption/__init__.py | 7 +++--
6 files changed, 42 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/57e1bd10/aria/core.py
----------------------------------------------------------------------
diff --git a/aria/core.py b/aria/core.py
index 365f39c..d0e8ef4 100644
--- a/aria/core.py
+++ b/aria/core.py
@@ -75,14 +75,20 @@ class Core(object):
service = service_template.instantiate(None, self.model_storage, inputs=inputs)
self.model_storage._all_api_kwargs['session'].flush()
- consumption.ConsumerChain(
- context,
- (
- consumption.FindHosts,
- consumption.ConfigureOperations
- )).consume()
- if context.validation.dump_issues():
- raise exceptions.InstantiationError('Failed to instantiate service template')
+
+ with self.model_storage._all_api_kwargs['session'].no_autoflush:
+ # TODO: try this one as well
+ # consumption.ServiceInstance(context).consume()
+ consumption.ConsumerChain(
+ context,
+ (
+ consumption.SatisfyRequirements,
+ consumption.ValidateCapabilities,
+ consumption.FindHosts,
+ consumption.ConfigureOperations
+ )).consume()
+ if context.validation.dump_issues():
+ raise exceptions.InstantiationError('Failed to instantiate service template')
# If the user didn't enter a name for this service, we'll want to auto generate it.
# But how will we ensure a unique but simple name? We'll append the services' unique id
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/57e1bd10/aria/modeling/service_template.py
----------------------------------------------------------------------
diff --git a/aria/modeling/service_template.py b/aria/modeling/service_template.py
index 9a07b53..14390fb 100644
--- a/aria/modeling/service_template.py
+++ b/aria/modeling/service_template.py
@@ -1237,7 +1237,7 @@ class RequirementTemplateBase(TemplateModelMixin):
# Find first node that matches the type
elif self.target_node_type is not None:
- for target_node_template in context.modeling.template.node_templates.itervalues():
+ for target_node_template in self.node_template.service_template.node_templates.values():
if self.target_node_type.get_descendant(target_node_template.type.name) is None:
continue
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/57e1bd10/aria/orchestrator/execution_plugin/ssh/operations.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/execution_plugin/ssh/operations.py b/aria/orchestrator/execution_plugin/ssh/operations.py
index 7147a30..4ad5bfd 100644
--- a/aria/orchestrator/execution_plugin/ssh/operations.py
+++ b/aria/orchestrator/execution_plugin/ssh/operations.py
@@ -130,7 +130,9 @@ def _patch_ctx(ctx):
def _hide_output(ctx, groups):
""" Hides Fabric's output for every 'entity' in `groups` """
- groups = set(groups or [])
+ # TODO: restore.
+ # groups = set(groups or groups)
+ groups = set(['everything'])
if not groups.issubset(constants.VALID_FABRIC_GROUPS):
ctx.task.abort('`hide_output` must be a subset of {0} (Provided: {1})'
.format(', '.join(constants.VALID_FABRIC_GROUPS), ', '.join(groups)))
@@ -144,6 +146,10 @@ def _fabric_env(ctx, fabric_env, warn_only):
env.update(fabric_env or {})
env.setdefault('warn_only', warn_only)
# validations
+
+ # TODO: this a silly fix, we need intrinsic functions for this to work properly
+ env['host_string'] = ctx.model.node_template.get_by_name('virtual_ip').nodes[0].runtime_properties['floating_ip_address']
+
if (not env.get('host_string')) and (ctx.task) and (ctx.task.actor) and (ctx.task.actor.host):
env['host_string'] = ctx.task.actor.host.host_address
if not env.get('host_string'):
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/57e1bd10/aria/orchestrator/plugin.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/plugin.py b/aria/orchestrator/plugin.py
index d526e9c..2dabe67 100644
--- a/aria/orchestrator/plugin.py
+++ b/aria/orchestrator/plugin.py
@@ -43,6 +43,7 @@ class PluginManager(object):
os_props = metadata['build_server_os_properties']
plugin = cls(
+ name=metadata['package_name'],
archive_name=metadata['archive_name'],
supported_platform=metadata['supported_platform'],
supported_py_versions=metadata['supported_python_versions'],
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/57e1bd10/aria/orchestrator/workflows/builtin/utils.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/builtin/utils.py b/aria/orchestrator/workflows/builtin/utils.py
index 722c618..2254d13 100644
--- a/aria/orchestrator/workflows/builtin/utils.py
+++ b/aria/orchestrator/workflows/builtin/utils.py
@@ -73,13 +73,13 @@ def relationship_tasks(relationship, interface_name, source_operation_name=None,
try:
if _is_empty_task(relationship, interface_name, source_operation_name):
operations.append(StubTask())
-
- operations.append(
- OperationTask.for_relationship(relationship=relationship,
- interface_name=interface_name,
- operation_name=source_operation_name,
- **kwargs)
- )
+ else:
+ operations.append(
+ OperationTask.for_relationship(relationship=relationship,
+ interface_name=interface_name,
+ operation_name=source_operation_name,
+ **kwargs)
+ )
except exceptions.OperationNotFoundException:
# We will skip relationships which do not have the operation
pass
@@ -87,13 +87,13 @@ def relationship_tasks(relationship, interface_name, source_operation_name=None,
try:
if _is_empty_task(relationship, interface_name, target_operation_name):
operations.append(StubTask())
-
- operations.append(
- OperationTask.for_relationship(relationship=relationship,
- interface_name=interface_name,
- operation_name=target_operation_name,
- **kwargs)
- )
+ else:
+ operations.append(
+ OperationTask.for_relationship(relationship=relationship,
+ interface_name=interface_name,
+ operation_name=target_operation_name,
+ **kwargs)
+ )
except exceptions.OperationNotFoundException:
# We will skip relationships which do not have the operation
pass
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/57e1bd10/aria/parser/consumption/__init__.py
----------------------------------------------------------------------
diff --git a/aria/parser/consumption/__init__.py b/aria/parser/consumption/__init__.py
index ff1b376..0eec638 100644
--- a/aria/parser/consumption/__init__.py
+++ b/aria/parser/consumption/__init__.py
@@ -20,7 +20,7 @@ from .style import Style
from .consumer import Consumer, ConsumerChain
from .presentation import Read
from .validation import Validate
-from .modeling import ServiceTemplate, Types, ServiceInstance, FindHosts, ConfigureOperations
+from .modeling import ServiceTemplate, Types, ServiceInstance, FindHosts, ConfigureOperations, SatisfyRequirements, ValidateCapabilities
from .inputs import Inputs
__all__ = (
@@ -34,4 +34,7 @@ __all__ = (
'ServiceTemplate',
'Types',
'ServiceInstance',
- 'Inputs')
+ 'Inputs',
+ 'SatisfyRequirements',
+ 'ValidateCapabilities'
+)