Jump to: navigation, search

Difference between revisions of "Tacker"

(Weekly Meetings and Mailing List)
(48 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
  
'''Title:''' Tacker / ServiceVM<br />
+
= Tacker - OpenStack NFV Orchestration =
  
'''Aim:''' <tt style="color: blue">To develop a framework to simplify hosting of services in virtual and physical appliances</tt><br />
+
Tacker is an official OpenStack project building a Generic VNF Manager (VNFM) and a NFV Orchestrator (NFVO) to deploy and operate Network Services and Virtual Network Functions (VNFs) on an NFV infrastructure platform like OpenStack. It is based on ETSI MANO Architectural Framework and provides a functional stack to Orchestrate Network Services end-to-end using VNFs.
  
'''Repo:''' http://git.openstack.org/cgit/stackforge/tacker/<br />
+
[[File:Tacker_Architecture.png]]
 +
 
 +
= High Level Architecture =
  
'''IRC Channel:''' <code><nowiki>#tacker</nowiki></code>
 
  
'''Meetings:''' Wednesdays 1700 UTC @ <code><nowiki>#openstack-meeting-4</nowiki></code>
+
== NFV Catalog ==
  
'''Tags:''' [ServiceVM] [Tacker]<br />
+
# VNF Descriptors  
 +
# Network Services Decriptors
 +
# VNF Forwarding Graph Descriptors
  
 +
== VNFM ==
  
__TOC__
+
# Basic life-cycle of VNF (create/update/delete)
 +
# Enhanced platform-aware (EPA) placement of high-performance NFV workloads
 +
# Health monitoring of deployed VNFs
 +
# Auto Healing / Auto Scaling VNFs based on Policy
 +
# Facilitate initial configuration of VNF
  
 +
== NFVO ==
  
= Mission & Scope =
+
# Templatized end-to-end Network Service deployment using decomposed VNFs
+
# VNF placement policy – ensure efficient placement of VNFs
Tacker is a project developing a framework to simplify hosting of services in virtual and physical appliances. The framework relieves service developers of having to, themselves, implement functionality to manage devices that host service instances.
+
# VNFs connected using an SFC - described in a VNF Forwarding Graph Descriptor
 +
# VIM Resource Checks and Resource Allocation
 +
# Ability to orchestrate VNFs across Multiple VIMs and Multiple Sites (POPs)
  
The capabilities and functionality envisioned for Tacker are:
+
[[File:Tacker-Architecture.jpg]]
* Device inventory to keep track of available devices.
 
* Template constructs to describe and categorize devices of different types.
 
* Lifecycle management of virtual machines and containers, including maintenance of VM pools that can hide boot latency.
 
* Control allocation of capacity in the devices.<br/>
 
  
  
Implementation or orchestration of the services (e.g., FWaaS or LBaaS) is NOT in the scope of Tacker. Initial use cases are advanced network services oriented but use cases from other areas are not excluded. Indeed, folks from non-networking communities are welcomed to participate and contribute.
+
= Documentation =
  
'''Relation to Nova, Glance, Heat''' :
+
https://docs.openstack.org/tacker/
Tacker makes use of Nova and Glance for VM and image management.  
 
Tacker does not, but could, make use of Heat as a subsystem to manage virtual devices.
 
  
= High Level Functionality =
+
== Install Guide ==
  
# VNF Catalog
+
https://docs.openstack.org/tacker/latest/#installation
# Basic life-cycle of VNF (define/start/stop/undefine)
 
# Basic health monitoring of VNF
 
# Re-spin of VNF on failure
 
# Maintaining configuration state of VNF
 
  
 
= Use Cases =
 
= Use Cases =
  
{| class="wikitable"
+
=== vCE ===
|-
+
 
! No. !! Name !! Description !! User !! Priority !! Target Release !! Status
+
Tacker API can be used by SP's OSS / BSS or an NFV Orchestrator to deploy VNFs in SP's network to deliver agile network services for remote Customer networks
|-
+
 
| 1 || Define ServiceVM || Ability to define a ServiceVM template using (a) instance image (2) device specification (to run the image)  || Operator || High || Kilo || 
+
=== vCPE ===
|-
+
 
| 2 || ServiceVM CRUD API ||  API for basic life-cycle management of ServiceVMs (a) acquire a service-vm instance (b) release a service-vm instance  || Plugin|| High || Kilo || 
+
Tacker API can be used by SP's OSS / BSS or an NFV Orchestrator to manage OpenStack enabled remote CPE devices to deploy VNFs to provide locally network services at the customer site.
|-
+
 
| 3 || ServiceVM Neutron plugging driver  || Neutron port attributes to plug in ServiceVM to appropriate networks (a) Tenant L2 network  || Plugin|| High || Kilo || 
+
=== vPE ===
|-
+
 
| 4 || Resource Pools of ServiceVMs || Operator should be able to configure a pool of ServiceVMs to be in standby for immediate allocation (to avoid bootup latency) || Operator || Medium || L || 
+
Tacker API can be used by SP's OSS / BSS or an NFV Orchestrator to deploy VNFs within SP's network to virtualize existing network services into a Virtual Function.
|-
+
 
| 5 || Service allocation using partial ServiceVM || Allocate a portion of ServiceVM for specific service. Reason: Overhead cost of spinning another VM instance is high. If a ServiceVM supports multi-tenancy (for eg VRF for network services) a single ServiceVM can be segregated to support multiple tenant services. Note, there should be 100% tenant isolation while providing this scheme  || Operator, Plugin || Medium || L || 
+
= ETSI NFV SPECS =
|-
+
[http://www.etsi.org/standards-search#page=1&search=&title=1&etsiNumber=1&content=0&version=0&onApproval=1&published=1&historical=0&startDate=1988-01-15&endDate=2017-02-03&harmonized=0&keyword=&TB=789,,832,,831,,795,,796,,800,,798,,799,,797&stdType=&frequency=&mandate=&sort=1 ETSI NFV SPECS]
| 6 || Scheduling Scheme for ServiceVM allocation across a pool of VMs.  || Ability to schedule ServiceVMs based on different filters (Gnaat integration). For e.g. Tenant-A might have a higher application throughput needs. It would need a "high-end" FW ServiceVM with SR-IOV nics. Tacker scheduler need to get the "hint" from the plugin and allocate "appropriate" FW ServiceVM from the pool. || Operator, Plugin || Low || M || 
+
 
|-
+
= TOSCA for NFV =
| 7 || Capacity management of ServiceVM || Ability to report and use "remaining-capacity" data within a ServiceVM to host the next service request  || Plugin || Low || L || 
+
 
|-
+
Tacker uses TOSCA for VNF meta-data definition. Within TOSCA Tacker used NFV profile schema.
| 8 || Docker Container Hosted Services  || Ability to host a ServiceVM in a Docker Container  || Operator || Low || M || 
+
* TOSCA YAML
|-
+
** YAML Simple Profile: http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.1/csprd02/TOSCA-Simple-Profile-YAML-v1.1-csprd02.html
| 9 || Physical Appliance Hosted Services || Ability to host a Service-Instance in a physical appliance || Operator || Low|| M ||  
+
* TOSCA NFV Profile:
|}
+
** Latest spec is available here: https://www.oasis-open.org/committees/document.php?document_id=56577&wg_abbrev=tosca
 +
** Current latest (as of Oct 2015) is: https://www.oasis-open.org/committees/download.php/56577/tosca-nfv-v1.0-wd02-rev03.doc
 +
 
 +
Tacker + SFC (Service Function Chaining)  =
 +
 
 +
The proposal to enable SFC for Tacker is captured in these slides,
 +
 
 +
https://docs.google.com/presentation/d/18AGaiysVgHOd_fIHVpObMO7zUkMjJGOQ98CUwkxU1xo/edit?usp=sharing
 +
 
 +
= Weekly Meetings and Mailing List =
 +
 
 +
 
 +
'''IRC Channel:''' <code><nowiki>#tacker</nowiki></code>
 +
 
 +
'''Meetings:''' Tuesday 08:00 UTC [Weekly] @ <code><nowiki>#openstack-meeting</nowiki></code>
 +
 
 +
'''Tags:''' [NFV] [Tacker]<br />
 +
 
 +
= Meeting Minutes =
  
 +
http://eavesdrop.openstack.org/meetings/tacker/
  
 
=  Repos =
 
=  Repos =
Line 73: Line 93:
 
! colspan="2"|  Git  
 
! colspan="2"|  Git  
 
|-
 
|-
| Tacker || http://git.openstack.org/cgit/stackforge/tacker/
+
| Tacker || https://git.openstack.org/cgit/openstack/tacker/
 
|-
 
|-
| Tacker Specs || http://git.openstack.org/cgit/stackforge/tacker-specs/
+
| Tacker Specs || https://git.openstack.org/cgit/openstack/tacker-specs/
 
|-
 
|-
| Tacker Python Client  || http://git.openstack.org/cgit/stackforge/python-tackerclient/
+
| Tacker Python Client  || https://git.openstack.org/cgit/openstack/python-tackerclient/
 +
|-
 +
| Tacker Horizon  || https://git.openstack.org/cgit/openstack/tacker-horizon/
 
|-
 
|-
 
! colspan="2" |  Gerrit
 
! colspan="2" |  Gerrit
 
|-
 
|-
| Tacker || https://review.openstack.org/#/q/status:open+project:stackforge/tacker,n,z
+
| Tacker || https://review.openstack.org/#/q/status:open+project:openstack/tacker,n,z
 
|-
 
|-
| Tacker Specs || https://review.openstack.org/#/q/status:open+project:stackforge/tacker-specs,n,z
+
| Tacker Specs || https://review.openstack.org/#/q/status:open+project:openstack/tacker-specs,n,z
 
|-
 
|-
| Tacker Python client || https://review.openstack.org/#/q/status:open+project:stackforge/python-tackerclient,n,z
+
| Tacker Python client || https://review.openstack.org/#/q/status:open+project:openstack/python-tackerclient,n,z
 +
|-
 +
| Tacker Horizon || https://review.openstack.org/#/q/status:open+project:openstack/tacker-horizon,n,z
 
|-
 
|-
 
|}
 
|}
  
 +
= Reviews =
 +
 +
[https://review.openstack.org/#/q/project:openstack/tacker+OR+project:openstack/python-tackerclient+OR+project:openstack/tacker-horizon+OR+project:openstack/tacker-specs,n,z Tacker Code and Spec Reviews ]
 +
 +
[https://review.openstack.org/#/q/(project:openstack/tacker+OR+project:openstack/python-tackerclient+OR+project:openstack/tacker-horizon+OR+project:openstack/tacker-specs)+AND+status:open,n,z Tacker Open Code and Spec Reviews]
 +
 +
= Bugs =
  
 +
https://bugs.launchpad.net/tacker
 +
 +
[https://bugs.launchpad.net/tacker/+bugs?field.searchtext=&orderby=-importance&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&assignee_option=none&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on&search=Search Unassigned Bugs]
 
= Points of contact =
 
= Points of contact =
  
 
* Launchpad project page: https://launchpad.net/tacker
 
* Launchpad project page: https://launchpad.net/tacker
* IRC meeting information: https://wiki.openstack.org/wiki/Meetings/ServiceVM
+
* IRC meeting information: https://wiki.openstack.org/wiki/Meetings/Tacker
 
* IRC channel on Freenode: <code><nowiki>#tacker</nowiki></code>
 
* IRC channel on Freenode: <code><nowiki>#tacker</nowiki></code>
  
Line 102: Line 136:
  
 
|-
 
|-
| Design & Documentation || [[ServiceVM/Design]]
+
| OpenStack Summit Tacker Talks  || https://www.openstack.org/videos/search?search=Tacker
 
|-
 
|-
| Resources || [[ServiceVM/Resources]]
+
| Team  || [https://wiki.openstack.org/wiki/Tacker/Incubation#Team_Members Team Members ]
 
|-
 
|-
| Action Items || [[ServiceVM/ActionItems]]
+
| Tacker API doc  || https://developer.openstack.org/api-ref/nfv-orchestration/
 
|-
 
|-
Dependencies & Wish List || [[ServiceVM/Dependencies]]
+
Tacker Client doc  || https://docs.openstack.org/ocata/cli-reference/tacker.html
 
|-
 
|-
Spec/Patch Tracking  || [https://wiki.openstack.org/wiki/Tracking_ServiceVM_Reviews Spec & Patch Tracking ]
+
Tacker Installation || https://wiki.openstack.org/wiki/Tacker/Installation
|-
+
|-  
| Juno Design Summit || [[ServiceVM/JunoSummit]]
 
|-
 
|  Team  ||  [https://wiki.openstack.org/wiki/ServiceVM/Incubation#Team_Members Team Members ]
 
 
|}
 
|}
 
  
 
= Wiki Pages =
 
= Wiki Pages =
 
{{Special:PrefixIndex/ServiceVM}}
 
{{Special:PrefixIndex/ServiceVM}}

Revision as of 08:15, 14 March 2018


Tacker - OpenStack NFV Orchestration

Tacker is an official OpenStack project building a Generic VNF Manager (VNFM) and a NFV Orchestrator (NFVO) to deploy and operate Network Services and Virtual Network Functions (VNFs) on an NFV infrastructure platform like OpenStack. It is based on ETSI MANO Architectural Framework and provides a functional stack to Orchestrate Network Services end-to-end using VNFs.

Tacker Architecture.png

High Level Architecture

NFV Catalog

  1. VNF Descriptors
  2. Network Services Decriptors
  3. VNF Forwarding Graph Descriptors

VNFM

  1. Basic life-cycle of VNF (create/update/delete)
  2. Enhanced platform-aware (EPA) placement of high-performance NFV workloads
  3. Health monitoring of deployed VNFs
  4. Auto Healing / Auto Scaling VNFs based on Policy
  5. Facilitate initial configuration of VNF

NFVO

  1. Templatized end-to-end Network Service deployment using decomposed VNFs
  2. VNF placement policy – ensure efficient placement of VNFs
  3. VNFs connected using an SFC - described in a VNF Forwarding Graph Descriptor
  4. VIM Resource Checks and Resource Allocation
  5. Ability to orchestrate VNFs across Multiple VIMs and Multiple Sites (POPs)

Tacker-Architecture.jpg


Documentation

https://docs.openstack.org/tacker/

Install Guide

https://docs.openstack.org/tacker/latest/#installation

Use Cases

vCE

Tacker API can be used by SP's OSS / BSS or an NFV Orchestrator to deploy VNFs in SP's network to deliver agile network services for remote Customer networks

vCPE

Tacker API can be used by SP's OSS / BSS or an NFV Orchestrator to manage OpenStack enabled remote CPE devices to deploy VNFs to provide locally network services at the customer site.

vPE

Tacker API can be used by SP's OSS / BSS or an NFV Orchestrator to deploy VNFs within SP's network to virtualize existing network services into a Virtual Function.

ETSI NFV SPECS

ETSI NFV SPECS

TOSCA for NFV

Tacker uses TOSCA for VNF meta-data definition. Within TOSCA Tacker used NFV profile schema.

Tacker + SFC (Service Function Chaining)

The proposal to enable SFC for Tacker is captured in these slides,

https://docs.google.com/presentation/d/18AGaiysVgHOd_fIHVpObMO7zUkMjJGOQ98CUwkxU1xo/edit?usp=sharing

Weekly Meetings and Mailing List

IRC Channel: #tacker

Meetings: Tuesday 08:00 UTC [Weekly] @ #openstack-meeting

Tags: [NFV] [Tacker]

Meeting Minutes

http://eavesdrop.openstack.org/meetings/tacker/

Repos

Git
Tacker https://git.openstack.org/cgit/openstack/tacker/
Tacker Specs https://git.openstack.org/cgit/openstack/tacker-specs/
Tacker Python Client https://git.openstack.org/cgit/openstack/python-tackerclient/
Tacker Horizon https://git.openstack.org/cgit/openstack/tacker-horizon/
Gerrit
Tacker https://review.openstack.org/#/q/status:open+project:openstack/tacker,n,z
Tacker Specs https://review.openstack.org/#/q/status:open+project:openstack/tacker-specs,n,z
Tacker Python client https://review.openstack.org/#/q/status:open+project:openstack/python-tackerclient,n,z
Tacker Horizon https://review.openstack.org/#/q/status:open+project:openstack/tacker-horizon,n,z

Reviews

Tacker Code and Spec Reviews

Tacker Open Code and Spec Reviews

Bugs

https://bugs.launchpad.net/tacker

Unassigned Bugs

Points of contact


Quick Links

OpenStack Summit Tacker Talks https://www.openstack.org/videos/search?search=Tacker
Team Team Members
Tacker API doc https://developer.openstack.org/api-ref/nfv-orchestration/
Tacker Client doc https://docs.openstack.org/ocata/cli-reference/tacker.html
Tacker Installation https://wiki.openstack.org/wiki/Tacker/Installation

Wiki Pages