June 20–23, 2016 | Berlin, GermanyJune 20–23, 2016 | Berlin, Germany
v1
Tacker - Open NFV OrchestrationSridhar Ramaswamy, Brocade
Agenda
• Overview
• Architecture
• Features
• Roadmap
• Q & A
What is OpenStack Tacker?
Tackeris an official
OpenStack project for
NFV Orchestration and VNF
Management using standards
based architectures
Tacker Project Overview
• Started on NFV Orchestration early 2015
• Announced in OpenStack Vancouver Summit – May, 2015
• First release in Kilo with basic VNF life-cycle management
• Second release in Liberty with Monitoring Framework
• Accepted into OpenStack Big-Tent in March, 2016
• Part of official OpenStack Mitaka
• Closely work with OPNFV and standards bodies like ETSI NFV and OASIS TOSCA
Tacker Stackalytics - Mitaka
Tacker Architecture
API(WSGI, extension /plugin framework)
Tacker Architecture
NFV Catalog
VNFDNSD FFGD
VIM Site 1 VIM Site 2VIM Site 3
Infra Driver(Heat, Keystone)
VNFM
ManagementDriver
Framework
Monitoring Driver
Framework
TOSCA Workflow
VNF
Instances
TOSCA
Template
Validation
NFVO
Multi-Site VNFFwd Graph
TOSCA Workflow
Service
Chains
(SFC)
Network
Service
Instances
VIM
Instances
Horizon CLI
Tacker Features
Generic VNF Manager
© 2015 BROCADE COMMUNICATIONS SYSTEMS, INC. COMPANY PROPRIETARY INFORMATION10
● VNF Catalog
○ repository of VNF descriptors (VNFDs) in a database
● VNF Instantiation and Termination using Heat
○ TOSCA to Heat translation in Tacker
● VNF Configuration injection during instantiation, update and restart
○ Loadable VNF specific mgmt-driver
● Loadable per-VNF Health Monitoring
● Self Healing according to VNFD policy
NFV Information Model / Data Model
•Tacker closely working with OASIS TOSCA NFV Working group
•Based on the just-released CSD03 version of OASIS TOSCA Simple Profile for NFV
•Participating in cross-SDO events
• Introduced TOSCA NFV Profile support into tosca-parser [1]
•Transition from in-built translator to tosca-parser in progress [2]
OpenStackHeat Translator
ETSI NFV -> OASIS TOSCA -> Tacker
TOSCA parserNFV
Descriptors
NSD
VNFD
VNFFGD
ETSINFV
OpenStack
Tacker
(NFVO / VNFM)
TOSCA
Data model
12
heat-translator
Sample TOSCA NFV Profile Template
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: OpenWRT with services
topology_template:node_templates:
VDU1:type: tosca.nodes.nfv.VDU.Tackerproperties:image: OpenWRTflavor: m1.tinyconfig: |param0: key1param1: key2
mgmt_driver: openwrtmonitoring_policy:name: pingactions:- {trigger: failure, action: respawn}
parameters:count: "3"interval: "10"
CP1:type: tosca.nodes.nfv.CP.Tackerproperties:
management: truerequirements:
- virtualLink:node: VL1
- virtualBinding:node: VDU1
VL1:type: tosca.nodes.nfv.VLproperties:
network_name: existing_network_1vendor: ACME
Enhanced Platform Awareness (EPA)
• VNF placement with performance smarts• CPU-Pinning
• Huge Page
• NUMA awareness
• SR-IOV
• Requires hardware support in underlying cloud resources
Auto Resource Creation
• Supported in TOSCA templates
• Automated Flavor creation based on
CPU/memory/disk/EPA capabilities described in
template
• Automated Image creation from URL/repository
described in template
• Automated Network/Subnet creation as described in
Template
Tacker
VIM 0(local OpenStack
Controller)
Liberty
Tacker can instantiate VNFs only
on same OpenStack controller
Mitaka
Tacker
Site 1 - VIM(default – local
OpenStack Controller)
Site 2 -VIM(OpenStack Controller)
Site 3 - VIM(OpenStack Controller)
VNF placement on specific target OpenStack VIM
Explicit Region support
Multi-Site VIM Support
Tacker
Site 1 – (OpenStack controller)
Site 2 -(OpenStack Controller)
Site 3 -(OpenStack Controller)
• Operators have multiple OpenStack VIMs with different OpenStack versions
• Detect KeyStone and HOT version and translate accordingly
• Gracefully downgrade resource requests on older VIMs
Kilo Liberty Mitaka
Multiple OpenStack Versions
Tacker Roadmap
Tacker VNF Forwarding Graph
• Adding VNF Forwarding Graph Descriptor (VNF FFGD) to Tacker• user-friendly template format for Forwarding Graphs description
• Leveraging elements defined in VNFD templates to:• obtain information regarding Connection Points (CP) and Virtual
Links (VL)
• map high level abstract service types to onboarded VNFs
• Integration networking-sfc driver
• Contributing to networking-sfc integration with OpenDayLight SDN Controller
NFVO / VNFM / VNFFG API
Tacker
Compute Node 1
API
OVS
SDN Controller
OVSDB
Compute Node 2
OVS
...VNF
vRouter
VNFDPI
NSD
Templates
Neutron(networking-sfc)
DB
Workflow:1) Onboard NSD, FGD,
VNFD to Catalog2) Instantiate 2 or more
VNFs from Catalog3) Invoke Tacker VNFFGD
API to render the graph
VNFFFGD
VNFD
Heat
Sample VNFFGD TemplateForwarding_path1:
type: tosca.nodes.nfv.FPid: 51description: creates path (CP11->CP12->CP32)properties:policy:type: ACLcriteria:- neutron_net_name: tenant1_net- dest_port_range: 80-1024- ip_proto: tcp- ip_dest: 192.168.1.2
requirements:- forwarder: CP01- forwarder: VNF1
capability: CP11- forwarder: VNF1
capability: CP12- forwarder: VNF3
capability: CP32- forwarder: CP02
Groups:VNFFG1:type: tosca.groups.nfv.vnffgdescription: HTTP to Corporate Nettargets:- Forwarding_path1
CP01:port_id: 1switch_id: of100vlan_id: 100
CP11:port_id:1switch_id: of200vlan_id: 101
Per-CP network
CP01:port_id: 2switch_id: of100 vlan_id: 100
CP11:port_id:1switch_id: of200vlan_id: 101
Re-visit for non-NSH
Audit Framework
TackerDB
VIM
VNF
FFG
NSD
ExternalEvent
Stream(websocket/zaqar)
Tacker Audit Log
Tackermanual
Tacker Scaling + Alarm
Alarm(Ceilometer,
Monasca,StackStorm)
VNFVNFVDU
scale
Roadmap - Newton
• VNF Forwarding Graph using SFC APIs
• VNF Scaling – Auto & Manual
• VNF State Notification (local db and message bus)
• VNFC installation workflow (SoftwareComponent)
• Evolve NFV Catalog
• Network Services Descriptor (NSD) support
• Usability Enhancements
Roadmap – Beyond Newton
• TOSCA CSAR support
• HOT Template support (transitional feature)
• Pre-position VM images in remote sites (Multi-Site)
• Image upgrade
• Standalone Tacker
VNFM + NFVO
VNFM
NFVO
VNF Scaling
VNFC Workfl
ow
Stability,
Usability
MultiSite
NSD
Forwarding Graph
VNFState Notif
Resources
• Tacker wiki• https://wiki.openstack.org/wiki/Tacker
• Tacker Documentation• http://docs.openstack.org/developer/tacker/
• Tacker Blueprints / Specs• http://specs.openstack.org/openstack/tacker-specs/
• Mitaka Demo Video• https://goo.gl/3lkuyH
• Freenode IRC #tacker
Top Related