Sommelier is a prototype, command-line tool for validating TOSCA application topologies.
All the validation constraints that are checked by Sommelier have been defined in the research paper:
A. Brogi, A. Di Tommaso, J. Soldani.
Sommelier: A Tool for Validating TOSCA Application Topologies.
In: Pires L., Hammoudi S., Selic B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2017. Communications in Computer and Information Science, vol 880. Springer, Cham
If you wish to exploit Sommelier to carry out research activities, or if you wish to reuse its sources, please properly cite the above mentioned paper. Below you can find the BibTex reference:
@inproceedings{sommelier,
author={Brogi, Antonio and Di~Tommaso, Antonio and Soldani, Jacopo},
editor={Pires, Lu{\'i}s Ferreira and Hammoudi, Slimane and Selic, Bran},
title={Sommelier: A Tool for Validating TOSCA Application Topologies},
booktitle={Model-Driven Engineering and Software Development},
year={2018},
publisher={Springer International Publishing},
pages={1--22},
isbn={978-3-319-94764-8}
}
-
Sommelier takes as input either a YAML file or a CSAR archive containing the TOSCA application topology to be validated.
-
The input is forwarded by Sommelier to the OpenStack TOSCA parser.
-
The TOSCA parser checks whether the TOSCA application is syntactically correct. If so, the parser generates a set of Python objects representing the TOSCA application.
-
The Python objects representing the TOSCA application are returned to Sommelier.
-
Sommelier validates the topology of the TOSCA application by checking whether the Python objects representing such application satisfy all the validation conditions listed in the aforementioned paper.
-
The results of the validation are displayed by Sommelier.
Sommelier is designed to run on bash
shells.
To effectively be executed on a bash
shell, Sommelier requires such shell to support the following commands:
python
,pip
, andtosca-parser
(which can be installed by typingsudo pip install 'tosca-parser'
).
To exploit Sommelier to validate a TOSCA application topology, please proceed as follows:
- Move inside the (cloned) folder of the Sommelier repository (i.e., the folder that contains the Python file
sommelier.py
) - Type
python sommelier.py --template-file=[topology-template-file-path]