Translate non-heat templates to Heat Orchestration Template.
Go to file
Julio Ruano 3f98139a7e Allow for dynamic class loading of target types
Tosca types need to be mapped to corresponding target translation
types (i.e. HOT). This commit allows for the target types to be
dynamically loaded from a directory. It allows for more flexibility
by pulling types from a known directory instead of defining each
individiual type statically in the code. For example, with this
commit you no longer need a separate import for each target type.

Also, this commit adds the notion of a global configuration object
that can be shared throughout the translator. The configuration
defines the location directory for custom defined target types.
This configuration can be set by the user in the corresponding
translator/conf/translator.conf file. In the future, additional
values can be added to this configuration and the code can be
extended to support them, but only the required values were
implemented here.

Change-Id: If7b8da12eef5b8ed8a2e11b1f412203d4ed59c5a
Implements: blueprint dynamic-tosca-to-hot-map
2015-09-28 12:09:02 -05:00
contrib Allow for dynamic class loading of target types 2015-09-28 12:09:02 -05:00
doc/source Update doc references 2015-09-11 06:35:46 -07:00
translator Allow for dynamic class loading of target types 2015-09-28 12:09:02 -05:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:27:05 +00:00
.gitignore Added a module for intrinsic function. 2014-07-14 17:41:55 +03:00
.gitreview Fix .gitreview after rename/transfer 2014-12-06 19:27:19 +03:00
.mailmap Add .gitreview file and apply cookiecutter template. 2014-04-01 09:43:50 -05:00
.testr.conf Add .gitreview file and apply cookiecutter template. 2014-04-01 09:43:50 -05:00
babel.cfg Add .gitreview file and apply cookiecutter template. 2014-04-01 09:43:50 -05:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:45 +00:00
HACKING.rst Add .gitreview file and apply cookiecutter template. 2014-04-01 09:43:50 -05:00
heat_translator_logging.conf Supporting logging in heat-translator with config file 2015-09-04 12:46:58 +05:30
heat_translator.py Update doc references 2015-09-11 06:35:46 -07:00
LICENSE Add .gitreview file and apply cookiecutter template. 2014-04-01 09:43:50 -05:00
MANIFEST.in Add .gitreview file and apply cookiecutter template. 2014-04-01 09:43:50 -05:00
openstack-common.conf TOSCA definition types for TOSCA library. 2014-05-05 16:49:32 -05:00
README.rst Update doc references 2015-09-11 06:35:46 -07:00
requirements.txt Updated from global requirements 2015-09-18 16:37:54 +00:00
setup.cfg Remove py26 env 2015-07-20 10:00:08 +03:00
setup.py Updated from global requirements 2015-09-18 16:37:54 +00:00
test-requirements.txt Updated from global requirements 2015-09-04 19:43:25 +00:00
tox.ini Remove py26 env 2015-07-20 10:00:08 +03:00

Heat-Translator

Tool to translate non-heat templates to Heat Orchestration Template (HOT).

Overview

Heat-Translator is an Openstack project and licensed under Apache 2. It is a command line tool which takes non-Heat templates as an input and produces a Heat Orchestration Template (HOT) which can be deployed by Heat. Currently the development and testing is done with an aim to translate OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) templates to HOT. However, the tool is designed to be easily extended to use with any format other than TOSCA.

Architecture

Heat-Translator project is mainly built of two components:

  1. Parser - parser for a particular template format e.g. TOSCA parser
  2. Generator - takes an in-memory graph from Parser, maps it to Heat resources and software configuration and then produces a HOT.

How To Use

Please refer to doc/source/usage.rst

Directory Structure

Three main directories related to the heat-translator are:

  1. hot: It is the generator, that has logic of converting TOSCA in memory graph to HOT yaml files.
  2. common: It has all the file that can support the execution of parser and generator.
  3. tests: It contains test programs and more importantly several templates which are used for testing.

Project Info