Skip to content

philippemerle/Cloudnet-TOSCA-toolbox

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is Cloudnet-TOSCA-toolbox?

Cloudnet TOSCA toolbox is an OASIS TOSCA processor for checking and adjusting TOSCA service templates. TOSCA templates specify service structure and the procedure governing their life cycle. Services are typically application, infrastructure or network services.
This set of tools is intended for syntax and type checking of any service templates written in TOSCA, including e.g. NFV descriptors.
It also allows for visualizing the associated architecture in different ways (UML, TOSCA, network diagrams).
A web portal based on this code is available at this url: https://toscatoolbox.orange.com.

Table of contents

Prerequisites

To use this toolset, you'll need Docker, Python, PlantUML, nwdiag and dot. However, provided you have Docker, the others are available as containers as follows. You can build the Docker images by:

cd bin/  
./build.sh

How to use it?

If you get some TOSCA 1.0, 1.1, 1.2 or 1.3 templates to check, once you've clone the repository, you can create a directory in the 'examples' directory, and copy your yaml files inside.

cd examples/  
mkdir my_example  
cp some_place/my_tosca_template_A.yaml my_example/  
...  

Load Cloudnet commands:

CLOUDNET_BINDIR=../../bin  
. ${CLOUDNET_BINDIR}/cloudnet_rc.sh

Now, launching the command

translate my_tosca_template_A.yaml  

will :

  • check the file yaml,
  • check the TOSCA syntax and types correction,
  • translate it into the MIT Alloy language,
  • generate .dot, .nwdiag and .plantuml templates.

Then to generate network diagrams, type:

generate_network_diagrams nwdiag/*.nwdiag  

Network diagram example

To get TOSCA diagrams, use the command:

generate_tosca_diagrams tosca_diagrams/*.dot  

TOSCA diagram example

And to generate UML diagrams:

generate_uml2_diagrams uml2/*.plantuml  

UML diagram example

About

Set of tools for validating, visualizing and analyzing TOSCA resource descriptions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 59.1%
  • Alloy 34.8%
  • Shell 3.6%
  • Java 2.1%
  • Dockerfile 0.4%