[1/3] incubator-ariatosca git commit: wip [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-174-Refactor-instantiation-phase 8bf31049b -> 6e4495d98 (forced update) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6e4495d9/aria/parser/consumption/consumer.py -- diff --git a/aria/parser/consumption/consumer.py b/aria/parser/consumption/consumer.py index 4f4c614..fb60d66 100644 --- a/aria/parser/consumption/consumer.py +++ b/aria/parser/consumption/consumer.py @@ -14,6 +14,7 @@ # limitations under the License. +from ...orchestrator import topology from ...exceptions import AriaException from ...utils.exceptions import print_exception from ..validation import Issue @@ -27,6 +28,7 @@ class Consumer(object): """ def __init__(self, context): +self.topology = topology.Topology() self.context = context def consume(self): @@ -73,6 +75,10 @@ class ConsumerChain(Consumer): handle_exception(consumer, e) else: raise e + +if consumer.topology.has_issues: +self.context.validation.extend_issues(consumer.topology.issues) + if self.context.validation.has_issues: break http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6e4495d9/aria/parser/consumption/context.py -- diff --git a/aria/parser/consumption/context.py b/aria/parser/consumption/context.py index 6fa61f4..9164984 100644 --- a/aria/parser/consumption/context.py +++ b/aria/parser/consumption/context.py @@ -16,12 +16,12 @@ import sys import threading +from ...utils import console from ..validation import ValidationContext from ..loading import LoadingContext from ..reading import ReadingContext from ..presentation import PresentationContext from ..modeling import ModelingContext -from .style import Style _thread_locals = threading.local() @@ -58,12 +58,12 @@ class ConsumptionContext(object): def __init__(self, set_thread_local=True): self.args = [] self.out = sys.stdout -self.style = Style() self.validation = ValidationContext() self.loading = LoadingContext() self.reading = ReadingContext() self.presentation = PresentationContext() self.modeling = ModelingContext() +self.style = console.TopologyStylizer() if set_thread_local: self.set_thread_local() http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6e4495d9/aria/parser/consumption/modeling.py -- diff --git a/aria/parser/consumption/modeling.py b/aria/parser/consumption/modeling.py index 44027b9..0afd555 100644 --- a/aria/parser/consumption/modeling.py +++ b/aria/parser/consumption/modeling.py @@ -13,8 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ...utils.formatting import json_dumps, yaml_dumps from .consumer import Consumer, ConsumerChain +from ...utils.formatting import json_dumps, yaml_dumps +from ... import exceptions class DeriveServiceTemplate(Consumer): @@ -42,7 +43,7 @@ class CoerceServiceTemplateValues(Consumer): """ def consume(self): -self.context.modeling.template.coerce_values(True) +self.topology.coerce(self.context.modeling.template, report_issues=True) class ValidateServiceTemplate(Consumer): @@ -51,7 +52,7 @@ class ValidateServiceTemplate(Consumer): """ def consume(self): -self.context.modeling.template.validate() +self.topology.validate(self.context.modeling.template) class ServiceTemplate(ConsumerChain): @@ -74,7 +75,7 @@ class ServiceTemplate(ConsumerChain): raw = self.context.modeling.template_as_raw self.context.write(json_dumps(raw, indent=indent)) else: -self.context.modeling.template.dump() +self.topology.dump(self.context.modeling.template) class Types(Consumer): @@ -92,7 +93,7 @@ class Types(Consumer): raw = self.context.modeling.types_as_raw self.context.write(json_dumps(raw, indent=indent)) else: -self.context.modeling.template.dump_types() +self.topology.dump_types(self.context, self.context.modeling.template) class InstantiateServiceInstance(Consumer): @@ -105,9 +106,26 @@ class InstantiateServiceInstance(Consumer): self.context.validation.report('InstantiateServiceInstance consumer: missing service ' 'template') return - -self.context.modeling.template.instantiate(None, None, - inputs=dict(self.context.modeling.inputs)) +self.context.modeling.instance =
[1/3] incubator-ariatosca git commit: wip [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-174-Refactor-instantiation-phase 4b6e51b0a -> 901078467 (forced update) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/90107846/aria/parser/consumption/modeling.py -- diff --git a/aria/parser/consumption/modeling.py b/aria/parser/consumption/modeling.py index 44027b9..0afd555 100644 --- a/aria/parser/consumption/modeling.py +++ b/aria/parser/consumption/modeling.py @@ -13,8 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ...utils.formatting import json_dumps, yaml_dumps from .consumer import Consumer, ConsumerChain +from ...utils.formatting import json_dumps, yaml_dumps +from ... import exceptions class DeriveServiceTemplate(Consumer): @@ -42,7 +43,7 @@ class CoerceServiceTemplateValues(Consumer): """ def consume(self): -self.context.modeling.template.coerce_values(True) +self.topology.coerce(self.context.modeling.template, report_issues=True) class ValidateServiceTemplate(Consumer): @@ -51,7 +52,7 @@ class ValidateServiceTemplate(Consumer): """ def consume(self): -self.context.modeling.template.validate() +self.topology.validate(self.context.modeling.template) class ServiceTemplate(ConsumerChain): @@ -74,7 +75,7 @@ class ServiceTemplate(ConsumerChain): raw = self.context.modeling.template_as_raw self.context.write(json_dumps(raw, indent=indent)) else: -self.context.modeling.template.dump() +self.topology.dump(self.context.modeling.template) class Types(Consumer): @@ -92,7 +93,7 @@ class Types(Consumer): raw = self.context.modeling.types_as_raw self.context.write(json_dumps(raw, indent=indent)) else: -self.context.modeling.template.dump_types() +self.topology.dump_types(self.context, self.context.modeling.template) class InstantiateServiceInstance(Consumer): @@ -105,9 +106,26 @@ class InstantiateServiceInstance(Consumer): self.context.validation.report('InstantiateServiceInstance consumer: missing service ' 'template') return - -self.context.modeling.template.instantiate(None, None, - inputs=dict(self.context.modeling.inputs)) +self.context.modeling.instance = self.topology.instantiate( +self.context.modeling.template, +inputs=dict(self.context.modeling.inputs) +) +ConsumerChain( +self.context, +( +CoerceServiceInstanceValues, +ValidateServiceInstance, +SatisfyRequirements, +CoerceServiceInstanceValues, +ValidateCapabilities, +FindHosts, +ConfigureOperations, +CoerceServiceInstanceValues +)).consume() + +if self.context.validation.dump_issues(): +raise exceptions.InstantiationError('Failed to instantiate service template `{0}`' + .format(self.context.modeling.template.name)) class CoerceServiceInstanceValues(Consumer): @@ -116,7 +134,7 @@ class CoerceServiceInstanceValues(Consumer): """ def consume(self): -self.context.modeling.instance.coerce_values(True) +self.topology.coerce(self.context.modeling.instance, report_issues=True) class ValidateServiceInstance(Consumer): @@ -125,7 +143,7 @@ class ValidateServiceInstance(Consumer): """ def consume(self): -self.context.modeling.instance.validate() +self.topology.validate(self.context.modeling.instance) class SatisfyRequirements(Consumer): @@ -134,7 +152,7 @@ class SatisfyRequirements(Consumer): """ def consume(self): -self.context.modeling.instance.satisfy_requirements() +self.topology.satisfy_requirements(self.context.modeling.instance) class ValidateCapabilities(Consumer): @@ -143,7 +161,7 @@ class ValidateCapabilities(Consumer): """ def consume(self): -self.context.modeling.instance.validate_capabilities() +self.topology.validate_capabilities(self.context.modeling.instance) class FindHosts(Consumer): @@ -152,7 +170,7 @@ class FindHosts(Consumer): """ def consume(self): -self.context.modeling.instance.find_hosts() +self.topology.find_hosts(self.context.modeling.instance) class ConfigureOperations(Consumer): @@ -161,7 +179,7 @@ class ConfigureOperations(Consumer): """ def consume(self): -self.context.modeling.instance.configure_operations() +self.topology.configure_operations(self.context.modeling.instance) class