This article was written by Sahdev Zala, OpenStack Software Engineer at IBM and originally published on the IBM OpenTech blog. The article is being re-published with the author’s consent.
The recent release of OpenStack TOSCA-Parser for TOSCA Simple Profile in YAML has added initial support for parsing TOSCA Network Functions Virtualization (NFV) simple profile templates.
The TOSCA NFV profile specifies a NFV specific data model using TOSCA language. NFV aims to transform the way that network operators architect networks by evolving standard IT virtualization technology to consolidate many network equipment types onto industry standard high volume servers, switches and storage, which could be located in Datacenters, Network Nodes and in the end user premises. The OpenStack Tacker project is building an Open NFV Orchestrator with a built-in general purpose VNF Manager to deploy and operate Virtual Network Functions (VNFs) on an NFV Platform.
Cloudify – Intelligent Cloud Orchestration Done Better. Download Free. Go
The TOSCA Simple Profile in YAML uses the concept of service templates to describe cloud workloads as a graph of node templates modeling the components that a workload is made up of and as relationship templates modeling the relations between those components. Towards the end of 2015, the OpenStack TOSCA Parser project, TOSCA-Parser, was created out of the OpenStack Heat-Translator project which now provides a stand alone Parser for the TOSCA Simple Profile in YAML.
During the OpenStack 2016 Mitaka summit in Tokyo, Japan, many attendees were interested in knowing more about TOSCA related activities, in particular, TOSCA Simple Profile and NFV Simple Profile and related development work. Members of the Tosca-Parser development team and I had a meeting with the Tacker development team about possible collaboration on enabling TOSCA NFV parsing support in the TOSCA-Parser. Bob Haddleton of Alcatel-Lucent willingly volunteered to provide development contribution to the TOSCA-Parser project from the NFV development team. Bob has been an outstanding collaborator and contributor in this space. After the summit, we had many brainstorming sessions via IRC meetings, emails and code patches, to design and code the work. As a result, the latest PyPI release of TOSCA-Parser, 0.4.0, now provides initial support to parse TOSCA NFV Simple Profile templates. Below I am covering details on how to use the TOSCA-Parser for NFV templates, the architectural overview related to NFV support and future plan.
Parsing NFV templates
- The NFV simple profile templates can be parsed the same way as the TOSCA simple profile by simply providing the template as an input to the TOSCA-Parser on the command line. For example,
Above example assumes that tosca-parser PyPI 0.4.0 is installed in your system and provided path to the
--template-file is valid.
To invoke tosca-parser programmatically, either provide an NFV simple profile template in YAML or provide template in the form of YAML dictionary. For example,
- The NFV profile support has been enabled in a generic way by means of an extension. This allows us to keep NFV related code in TOSCA-Parser on its own and independently structured which provides a clear place to host code for any future extension for any other TOSCA related initiatives that may use the TOSCA-Parser project. The version
- recognizes the template as an NFV template. Any new extensions, as needed in future, can be added to the
- directory. Refer to the code under the
- to learn more about NFV extension.
- Work is already going on to enhance the NFV support, with complex use cases, that we have introduced in the TOSCA-Parser 0.4.0 PyPI release. We also have a talk going on for a possible collaboration between TOSCA-Parser and the Linux Foundation’s
- development team. The TOSCA-Parser team is fortunate to have Srinivas Tedpalli of Tata Consultancy Services who contributes to TOSCA-Parser as well as OPNFV project development, which will aid in ongoing development collaboration efforts between the two teams.
The original article can be found here.