13
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

Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

Embed Size (px)

Citation preview

Page 1: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

Sahdev ZalaIBM Advisory Software EngineerOpenStack PTL TOSCA-Parser and Heat-Translator

@sp_zala

Bob HaddletonNokia Innovation Team Lead OpenStack Core ReviewerTacker

@BobHaddleton

Page 2: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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

Page 3: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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.

Page 4: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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

NodeApp

MongoDB

MongoDBM

S

Node.js

ConnectedTo

HostedOn

HostedOn

HostedOn

HostedOn

GroupsPolicies

Custom Types

Page 5: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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

Page 6: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

TOSCA OpenStack Integration is Maturing Rapidly

TOSCA-Parser Heat-Translator

Tacker

TOSCA Plugin TOSCA Integration

apps.openstack.org

OSC Plugin

Page 7: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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

Page 8: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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))

Page 9: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0

description: Template for deploying a single server

topology_template: node_templates: VDU1: type: tosca.nodes.nfv.VDU capabilities: host: properties: num_cpus: 2 disk_size: 10 GB mem_size: 512 MB # Guest Operating System properties os: properties: # host Operating System image properties architecture: x86_64 type: Linux distribution: RHEL version: 6.5

CP1: type: tosca.nodes.nfv.CP properties: ip_address: 192.168.0.55 requirements: - virtualLink: node: VL1 relationship: tosca.relationships.nfv.VirtualLinksTo - virtualBinding: node: VDU1 relationship: tosca.relationships.nfv.VirtualBindsTo

VL1: type: tosca.nodes.nfv.VL properties: vendor: TestVendor cidr: '192.168.0.0/24' start_ip: '192.168.0.50' end_ip: '192.168.0.200' gateway_ip: '192.168.0.1'

Page 10: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

Tacker Overview

• An official OpenStack project

• NFV Orchestration and VNF Management

• Standards-based architecture

Page 11: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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

Page 12: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

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

Page 13: Deploy TOSCA Network Functions Virtualization (NFV) Workloads in OpenStack

Join us

Tacker - Building an Open Platform for NFV OrchestrationThursday April 28th, 9:50am-10:30amAustin Convention Center - Level 4

Speakers: Sridhar Ramaswamy, BrocadeBob Haddleton, NokiaSripriya Seetharam, BrocadeStephen Wang, vArmour

Thank you!