This document summarizes recent developments in TOSCA-Parser, Heat-Translator, and Tacker for OpenStack NFV orchestration. TOSCA-Parser parses NFV TOSCA templates and produces a graph. Heat-Translator maps TOSCA to OpenStack Heat templates. Tacker uses TOSCA-Parser to validate NFV descriptors and Heat-Translator to deploy them. Recent updates include NFV support and future work includes new TOSCA features and networking.
Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack
1. Deploy TOSCA Network
Functions Virtualization (NFV)
Workloads in OpenStack
Sahdev Zala
IBM Advisory Software Engineer
OpenStack PTL
TOSCA-Parser and Heat-Translator
@sp_zala
Bob Haddleton
Nokia Innovation Team Lead
OpenStack Core Reviewer
Tacker
@BobHaddleton
2. Presentation Overview
• TOSCA-Parser, Heat-Translator and Tacker
• TOSCA OpenStack integration
• NFV architecture overview in TOSCA-Parser and Heat-
Translator
• Tacker overview
• Tacker’s use of TOSCA-Parser and Heat-Translator
• Future development
3. TOSCA-Parser, Heat-Translator and Tacker
• What is TOSCA-Parser?
• A parser for TOSCA Simple Profile in YAML and Network Functions Virtualization (NFV) YAML
based specifications.
• Produces in-memory graph of TOSCA nodes and relationship among them
• Subproject of OpenStack Heat
• What is Heat-Translator?
• An OpenStack project to map and translate non-Heat (e.g. TOSCA) templates to Heat
Orchestration Template (HOT)
• Subproject of OpenStack Heat
• What is Tacker?
• OpenStack project for Network Functions Virtualization (NFV) Orchestration.
4. Mitaka: TOSCA-Parser
• Two point releases – 0.4.0 and 0.3.0
• 0.4.0
• Release date: Feb 04, 2016
• Support for TOSCA Simple Profile for NFV v1.0
• NFV support as simple extension to the parser
• NFV definition as first class citizen within parser
• Parser to be used programmatically with YAML dictionary along
with YAML based template as an input
• Support for TOSCA Groups and TOSCA Policies
• Support for TOSCA namespace, nested properties, bug fixes etc.
• 0.3.0
• Release date: Dec 02, 2015
• Full validation of TOSCA templates
• Support for nested imports in service template and type definition
• Shell entry point bug fixes etc.
• New features available on master
• Support for LoadBalancer node type
• Support for range data type etc.
• PyPi releases are available at, https://pypi.python.org/pypi/tosca-parser
Node Types Relationships
Capabilities
Interfaces
Validation Tests
App
Serve
r
Mongo
Server
Node
App
Mong
oDB
Mong
oDBM
S
Node
.js
HostedOn
HostedOn
HostedOn
GroupsPolicies
Custom
Types
5. Mitaka: Heat-Translator
• 0.4.0
• Release date: March 02, 2016
• Support for TOSCA NFV translation
• Introduced support for TOSCA Policy translation
• Completed OpenStack Client plug-in work with new test suites
• Allow user to specify Nova server specific key_name property, bug fixes etc.
• 0.3.0
• Release date: Dec 17, 2015
• New CLI option --validate-only to only validate TOSCA template without actual translation
• Set constraint based TOSCA flavor by querying Nova flavors in OpenStack environment
• New CLI option --output-file to save translated output to file, bug fixes etc.
• New features available on master
• New CLI option --deploy to automatically deploy translated template from Heat-Translator
• Support for ansible and puppet scripts in translation etc.
• PyPi releases are available at, https://pypi.python.org/pypi/heat-translator
7. NFV architecture overview in Parser and Translator
• Added support for Parser to be used as a library
• Accepts template as a dict, in addition to a file or URL
• Added support for Extensions in Parser
• Parser can support alternative TOSCA definitions, triggered by custom
version strings
• NFV is the first supported extension
• Translator has no NFV-specific code, but has sample NFV
template
• Translator was modified to allow properties to “pass through”
when defined in a derived node type
8. How to use TOSCA NFV translation support
• NFV support in Parser is invoked by using the NFV template
version in the TOSCA template:
• tosca_simple_profile_for_nfv_1_0_0
• Translator has no specific invocation of NFV support
• Programmatic use of ToscaTranslator:
• tosca = ToscaTemplate(vnfd_yaml)
• tosca = ToscaTemplate(yaml.load(vnfd_yaml))
10. Tacker Overview
• An official OpenStack
project
• NFV Orchestration
and VNF Management
• Standards-based
architecture
11. How Tacker uses TOSCA-Parser and Heat-Translator
• Tacker imports are added to VNFD template
• tacker_defs.yaml is added to all templates
• tacker_nfv_defs.yaml is added to NFV templates
• vnfd-create
• invokes tosca-parser via ToscaTemplate object to validate the VNFD syntax
• vnf-create
• invokes tosca-parser via ToscaTemplate object to translate the TOSCA VNFD
and do parameter substitution
• the parsed template graph is processed to remove Tacker-specific constructs
and modify property mapping
• TOSCATranslator is used to generate the HOT template
• generated HOT template is post-processed to add outputs and handle
supported properties
12. Future Plans
• Tacker can leverage new capabilities in Parser/Translator
• Policies and Groups recently added
• Tacker will implement new features and provide feedback to
standards groups
• Updated TOSCA definitions will be added to Parser as they are
released
• Support for Network Service Descriptors and VNF Forwarding
Graphs are planned for future releases
• Considering adding CSAR support in Tacker for Newton
13. Join us
Tacker - Building an Open Platform for NFV Orchestration
Thursday April 28th, 9:50am-10:30am
Austin Convention Center - Level 4
Speakers:
Sridhar Ramaswamy, Brocade
Bob Haddleton, Nokia
Sripriya Seetharam, Brocade
Stephen Wang, vArmour
Thank you!