Parser for TOSCA Simple Profile in YAML.
- 1 Overview
- 2 Architecture
- 3 Resources
- 3.1 Repositories
- 3.2 Development Meetings
- 3.3 Launchpad
- 3.4 IRC Channel
- 3.5 Mitaka release development plan
- 3.6 Enhancements made under 0.3.0 release
- 3.7 Targeted work items for 0..4.0 release
- 3.8 Enhancements made under 0.4.0 release
- 3.9 Targeted work items for 0.5.0 release
- 3.10 Enhancements made under 0.5.0 release
- 3.11 Enhancements made under 0.6.0 release
The TOSCA Parser is an OpenStack project and licensed under Apache 2. It is developed to parse TOSCA Simple Profile in YAML. It reads the TOSCA templates and creates an in-memory graph of TOSCA nodes and their relationship.
The TOSCA Parser takes TOSCA YAML template as an input, with optional input of dictionary of needed parameters with their values, and produces in-memory objects of different TOSCA elements with their relationship to each other. It also creates a graph of TOSCA node templates and their relationship. The support for parsing template within TOSCA CSAR is under development.
The ToscaTemplate class located in the toscaparser/tosca_template.py is an entry class of the parser and various functionality of parser can be used by initiating this class. In order to see an example usage, refer to the heat-translator class TranslateTemplate located in the translator/osc/v1/translate.py module.
The toscaparser/elements sub-directory contains various modules to handle various TOSCA type elements like node type, relationship type etc. The entity_type.py module is a parent of all type elements. The toscaparser directory contains various python module to handle service template including topology template, node templates, relationship templates etc. The entity_template.py is a parent of all template elements.
The development team meets every Thursday at 1600UTC on IRC #openstack-heat-translator channel. Since the heat-translator and tosca-parser projects development team works closely, there is no separate IRC channel for TOSCA-Parser.
The IRC channel is #openstack-heat-translator
Mitaka release development plan
|TOSCA Parser and Heat-Translator PyPI Release
|PyPI Bug Fix Release (0.0.X)
|Approx. Target Date (TOSCA-Parser)
|Approx. Target Date (Heat-Translator)
|Considering Tokyo summit & thanksgiving holidays.
|Considering personal vacations & Christmas/New year holidays.
Enhancements made under 0.3.0 release
Support for nested imports – allows use of importing type definition within a type definition.
Full validation of TOSCA template – until now we were throwing error as we hit but with full validation all errors are compiled and displayed together. This will be used in heat-translator to allow user to provide an option to only validate template without actual translation.
A new test shell entry point – a new shell command, tosca-parser, is created for testing and validating TOSCA templates.
Support for .csar file extension – now both .zip and .csar extensions are supported for a CSAR file
Many small fixes –
Remove decompressed temporary directory after processing CSAR file in Jenkin’s environment.
Update trove classifier.
The tosca-parser project is added to OpenStack global requirements to automatically update requirements.
TOSCA definition update for admin and public endpoint, and PortSpec type per the latest spec.
New missing validation and i18n fixes.
Updated error messages for uniform formatting across the project.
Targeted work items for 0..4.0 release
Add support for TOSCA policies, https://blueprints.launchpad.net/tosca-parser/+spec/tosca-policies
Add support for TOSCA group and group types, https://blueprints.launchpad.net/tosca-parser/+spec/tosca-groups
TOSCA-Parser extensions support with initial support for TOSCA NFV profile
Enhancements made under 0.4.0 release
Initial support for TOSCA Simple Profile for Network Functions Virtualization (NFV) v1.0
Support for TOSCA Groups and Group Type
Initial support for TOSCA Policy and Policy Types
Support for TOSCA Namespaces
Many bug fixes and minor enhancements including:
-Fix for proper inheritance among types and custom relationships based on it
-Updated min and max length with map
-New get_property function for HOST properties similar to get_attribute function
-Support for nested properties
-Fix for incorrect inheritance in properties of capabilities
-High level validation of imported template types
-Six compatibility for urllib
Targeted work items for 0.5.0 release
Add support for TOSCA LoadBalacer, https://blueprints.launchpad.net/tosca-parser/+spec/tosca-load-balancer
Add support for TOSCA Containers, https://blueprints.launchpad.net/tosca-parser/+spec/tosca-container-suppot
Add support for range data type
Enhancements made under 0.5.0 release
Support for LoadBalancer node parsing
Support of parsing triggers in policies
Implementation of PortSpec datatype
Support for range data type
Support for concat function
Support for SOURCE and TARGET in get_property and get_attribute function
Enhancements made under 0.6.0 release
Python 3.5 support
Support for TOSCA Repository which is an external repository in TOSCA service template containing deployment and implementation artifacts
Implementation of triggers in policies
Support for Credential data type
Support for Token function
get_attribute function support for optional requirement or capability
Refactoring of TOSCA definition file for easy reuse
Added new exception UnsupportedType to handle TOSCA types that are not supported in parser at any given time
New test template for Container node type
NFV definition updates for NFV.CP and NFV.VNFFG
Moved to use urllib2 from urllib to use with input templates specified via URL
Small bug fixes