Jump to: navigation, search

TOSCA-Parser

Revision as of 17:59, 4 March 2016 by Spzala (talk | contribs) (Mitaka release development plan)

Parser for TOSCA Simple Profile in YAML.

Overview

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.

Architecture

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.

Resources

Repositories

https://github.com/openstack/tosca-parser

Development Meetings

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.

Launchpad

https://launchpad.net/tosca-parser

IRC Channel

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) Comments
0.3.0 12/02/2015 12/15/2015 Considering Tokyo summit & thanksgiving holidays.
0.4.0 01/25/2016 02/12/2016 Considering personal vacations & Christmas/New year holidays.
0.5.0 04/02/2015 04/30/2016

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

Bug Fixes