Download presentation
Presentation is loading. Please wait.
1
TOSCA v1.3 Enhancements February 21, 2019
2
TOSCA Feature Categories
Modeling Features Orchestration Features Topology, Node, and Relationship Templates Interfaces, Operations, and Notifications Reusable Components (Types) Artifact Processing Requirements and Node Filters Workflows Substitution Policies Copyright © 2019 Ubicity Corp.
3
Copyright © 2018 Ubicity Corp.
TOSCA v1.3 Orchestration Enhancements Copyright © 2018 Ubicity Corp.
4
Orchestration Enhancements—Interface Definitions
Modeling Features Operation output mappings Notifications in interface definitions Interfaces, Operations, and Notifications Artifact Processing Workflows Policies Copyright © 2019 Ubicity Corp.
5
Operation Output Mappings
Interface definitions formally define output mappings that specify: The named output values that are expected to be returned by interface operations. The attributes on nodes or relationships into which these output values must be stored. Enables instance model to accurately reflect that state of the objects under management. tosca_definitions_version: tosca_simple_yaml_1_3 topology_template: node_templates: server: type: tosca.nodes.Compute interfaces: Standard: configure: outputs: ip1: [ SELF, private_address ] ip2: [ SELF, public_address ] Copyright © 2019 Ubicity Corp.
6
Notifications in Interface Definitions
Interface notifications define events that are delivered asynchronously to the orchestrator As a result of external events (e.g. load changes, failures, or other changes) Rather than as a result of lifecycle management operations performed by the orchestrator. Interface notifications include output mappings To allow the instance model to accurately reflect the state of the objects under management. tosca_definitions_version: tosca_simple_yaml_1_3 topology_template: node_templates: db_1: type: org.ego.nodes.Database interfaces: HealthMonitor: notifications: heartbeat: outputs: tick: [ SELF, still_alive ] failure_report: level: [SELF, failure_level] time: [SELF, failure_time] environment: [SELF, failure_context] Copyright © 2019 Ubicity Corp.
7
Orchestration Enhancements—Artifact Processing
Modeling Features Artifact properties Interfaces, Operations, and Notifications Artifact Processing Workflows Policies Copyright © 2019 Ubicity Corp.
8
Copyright © 2019 Ubicity Corp.
Artifact Properties Artifact Processors may need additional details about artifacts (beyond the artifact type) to process the artifact correctly This information is provided using artifact properties TOSCA v1.2 includes property definitions in artifact type definitions, but not property assignments in artifact definitions TOSCA v1.3 fixes this oversight artifacts: sw_image: description: Image for virtual machine type: tosca.artifacts.Deployment.Image.VM file: images/vm_image.qcow2 checksum: ba411cafee2f0f da0b765e2 version: 3.2 checksum_algorithm: MD5 properties: name: vSRX container_format: BARE disk_format: QCOW2 min_disk: 1 GB size: 649 MB Copyright © 2019 Ubicity Corp.
9
Orchestration Enhancements—Workflows
Modeling Features Improved condition grammar Harmonize actions/activities across workflows and policies External workflows Interfaces, Operations, and Notifications Artifact Processing Workflows Policies Copyright © 2019 Ubicity Corp.
10
Improved Condition Clauses
Condition clauses now support ‘not’ operator Condition clauses deprecate the (redundant) assert statement condition: - not: - and: - my_attribute1: [{equal: value1}] - my_attribute2: [{equal: value1}] - or: - protocol: { equal: http } - port: { equal: 80 } - protocol: { equal: https } - port: { equal: 431 } Copyright © 2019 Ubicity Corp.
11
Harmonize Actions/Activities across Workflows and Policies
Workflow steps and policy triggers both allow a set of activities to be specified Unifies grammar that was inconsistent in previous versions Activities can include Set the state of a node Call an operation defined on a TOSCA interface Inline another workflow Delegate to another workflow workflows: deploy: steps: tomcat_install: target: tomcat activities: - set_state: creating - call_operation: org.example.if.std.create - set_state: created policies: - recover_policy: type: org.ego.policies.trigger.RecoveryPolicy triggers: - mon_fail_trigger: action: - delegate: failure_recovery_workflow Copyright © 2019 Ubicity Corp.
12
Copyright © 2019 Ubicity Corp.
External Workflows Allow service topologies to be deployed and managed using non-TOSCA workflows Specified using 3rd-party workflow languages Packaged with service templates as artifacts Support output mappings for external workflows To allow the instance model to accurately reflect the state of the managed objects after the external workflow has been run. topology_template: workflows: deploy: implementation: description: workflow implemented in Mistral type: mycompany.artifacts.Mistral file: my_workflow.workbook.mistral.yaml outputs: ip1: [ server, private_address ] ip2: [ server, public_address ] Copyright © 2019 Ubicity Corp.
13
Orchestration Enhancements—Policies
Modeling Features Link policy trigger events to interface notifications Interfaces, Operations, and Notifications Artifact Processing Workflows Policies Copyright © 2019 Ubicity Corp.
14
Link Policy Trigger Events to Interface Notifications
Policy triggers define event / condition / action Events in policy triggers now refer to newly-introduced notifications in interface definitions Enables true closed-loop automation policies: - recover_policy: type: org.ego.policies.trigger.RecoveryPolicy description: > Kicks in if the database or app_logic nodes fail. targets: [ db_1, app_logic_1 ] triggers: - mon_fail_trigger: event: org.example.if.Monitor.on_failure action: - delegate: failure_recovery_workflow ... Copyright © 2019 Ubicity Corp.
15
Copyright © 2019 Ubicity Corp.
TOSCA v1.3 Modeling Enhancements Copyright © 2019 Ubicity Corp.
16
Modeling Enhancements—Templates
Modeling Features Consistent use of ‘occurrences’ keyword in capability definitions and capability assignments. Prepare for multiple node instances Topology, Node, and Relationship Templates Reusable Components (Types) Requirements and Node Filters Substitution Copyright © 2019 Ubicity Corp.
17
Multiple Node Instances (Experimental)
Allow multiple node instances to be created from the same node template. For services with a variable number of nodes of the same type. E.g. ONAP CCVPN use case Grammar extensions ‘occurrences’ keyword to specify how many instances are allowed ‘instance_count’ keyword to specify desired number of instances at deployment time tosca_definitions_version: tosca_simple_yaml_1_3 topology_template: inputs: numberOfSites: type: integer node_templates: sdwan: type: VPN site: type: VPNSite occurrences: [1, UNBOUNDED] instance_count: { get_input: numberOfSites } requirements: - vpn: sdwan
18
Modeling Enhancements—Types
Modeling Features Formalize grammar for refining entity definitions Improved support for complex data types Topology, Node, and Relationship Templates Reusable Components (Types) Requirements and Node Filters Substitution Copyright © 2019 Ubicity Corp.
19
Formalize Grammar for Refining Entity Definitions
Derived types can refine properties defined in base types. A property definition is a refinement when a property with the same name already exists in a base type. Property refinements can: Assign a new (compatible) property type Assig a (final) fixed value Specify or change a default value Add constraints. Turnan optional property into a required property. Refinement grammar for capability, requirement, and interface definitions to be formalized in future versions. capability_types: tosca.capabilities.Endpoint: derived_from: tosca.capabilities.Root properties: secure: type: boolean default: false tosca.capabilities.Endpoint.Admin: derived_from: tosca.capabilities.Endpoint # Change Endpoint secure indicator to true # from its default of false secure: true Copyright © 2019 Ubicity Corp.
20
Improved Support for Complex Data Types
Nested complex types List of lists List of maps Map of lists Map of maps Datatypes that derive from list or map Add entry_schema Support for key_schema To define the type of keys in maps get_input support for complex data types Extract sub-elements of complex data types data_types: DailyTasks: derived_from: map entry_schema: type: list type: Task key_schema: type: DayOfWeek Copyright © 2019 Ubicity Corp.
21
Modeling Enhancements—Requirements
Modeling Features None Topology, Node, and Relationship Templates Reusable Components (Types) Requirements and Node Filters Substitution Copyright © 2019 Ubicity Corp.
22
Modeling Enhancements—Substitution
Modeling Features Explicit substitutability Property mapping corrections Substitution filter Multiple top-level templates in CSAR Topology, Node, and Relationship Templates Reusable Components (Types) Requirements and Node Filters Substitution Copyright © 2019 Ubicity Corp.
23
Explicit Substitutability
Version 1.2 orchestrators are expected to substitute abstract node templates Node templates were considered abstract if no implementation was provided for create operation of Standard lifecycle management interface. Issues with v1.2 approach: Does not work with custom interfaces. Behavior is orchestrator-specific. Does not allow for ‘dummy’ data structure nodes. V1.3 introduces explicit substitute directive Service designer controls substitutability tosca_definitions_version: tosca_simple_yaml_1_3 topology_template: inputs: vendorInput: type: string rulesInput: type: list entry_schema: FirewallRules node_templates: firewall: type: abstract.Firewall directives: - substitute properties: vendor: { get_input: vendorInput } rules: { get_input: rulesInput } Copyright © 2019 Ubicity Corp.
24
Property Mapping Corrections
Substitution mappings support the following Property-to-input mappings Mapping of properties of an abstract node to inputs of its substituting template. Property-to-property mappings have been deprecated Mapping of properties of an abstract node to properties of nodes in its substituting template. If substituting template is valid, all its nodes already have property values assigned, which makes property-to-property mapping unnecessary/impossible. Property-to-constant mappings have been deprecated The mapping of a (variable) property to a constant value is confusing and counter-intuitive This feature was not intended to imply a mapping at all, but rather was intended to be used as a mechanism for controlling the selection of a substituting template when multiple substitution candidates are available. Selection control has been formalized instead using substitution_filter grammar. Copyright © 2019 Ubicity Corp.
25
Copyright © 2019 Ubicity Corp.
Substitution Filters Used by substituting template to limit the set of abstract node templates for which it is a substitution candidate Template is candidate for substitution if: The type in the substitution_mappings section matches the type of the abstract node template. The property values of the abstract node template satisfy the constraints defined in the substitution_filter tosca_definitions_version: tosca_simple_yaml_1_3 description: Service template for an ACME firewall topology_template: inputs: rulesInput: type: list entry_schema: FirewallRules substitution_mappings: node_type: abstract.Firewall substitution_filter: properties: vendor: { equal: ACME } rules: [ rulesInput ] node_templates: acme: type: ACMEFirewall rules: { get_input: rulesInput } acmeConfig: # ACME-specific properties go here. Copyright © 2019 Ubicity Corp.
26
Multiple Top-Level Templates in CSAR
Substitution mapping requires Orchestrator to have access to one or more substituting service templates These templates cannot be included into top-level service template using import statements Would result in multiple topology_template statements in the same service template Instead: Package substituting templates as top-level templates in CSAR Use Other-Definitions statement in TOSCA.meta to point to those other top-level templates TOSCA-Meta-File-Version: 1.1 CSAR-Version: 1.1 Created-By: OASIS TOSCA TC Entry-Definitions: definitions/tosca_elk.yaml Other-Definitions: definitions/tosca_moose.yaml \ definitions/tosca_deer.yaml Copyright © 2019 Ubicity Corp.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.