Jump to: navigation, search

Difference between revisions of "Tacker"

m
(Repos)
 
(84 intermediate revisions by 13 users not shown)
Line 1: Line 1:
= Tacker: ServiceVM/DeviceManager Project =
+
__NOTOC__
About new project
 
* IRC meeting: https://wiki.openstack.org/wiki/Meetings/ServiceVM
 
* launchpad project page: https://launchpad.net/tacker
 
* irc channel on freenode: #tacker
 
* This document is old. But it might be a good starting point. https://docs.google.com/presentation/d/1gmuBprzedbvTQBt98JYiDFgLlTipDjr1ZgaEGL0xkcs/edit#slide=id.p
 
  
 +
= Tacker - OpenStack NFV Orchestration =
  
== Action Items ==
+
Tacker is an official OpenStack project building a Generic VNF Manager (VNFM) and an 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.  
* design/code review process
 
** https://review.openstack.org/#/q/status:open+project:stackforge/tacker-specs,n,z The discussion was moved to gerrit system since the repos at stackforge have been created. Previously the discussion can be seen at google-doc. https://docs.google.com/document/d/10v818QsHWw5lSpiCMfh908PAvVzkw7_ZUL0cgDiH3Vk/edit?usp=sharing
 
** code/atch review
 
*** https://review.openstack.org/#/q/status:open+project:stackforge/tacker,n,z
 
*** https://review.openstack.org/#/q/status:open+project:stackforge/python-tackerclient,n,z
 
** API/data model design https://wiki.openstack.org/wiki/ServiceVM/api-datamodel
 
  
* terminology conversion https://wiki.openstack.org/wiki/ServiceVM/terminology
+
[[File:Tacker_Architecture.png]]
  
* incubation process
+
= High-Level Architecture =
** review incubation page https://wiki.openstack.org/wiki/ServiceVM/Incubation
 
** produce working code base, then apply the incubation process
 
** Do we have enough developer to contribute?
 
** Do we have enough user/use case? How about NFV use case?
 
  
  
* Nuetron enhancement(blueprint/spec review, impelementatoin) neutron port attribute use case/requirement: https://wiki.openstack.org/wiki/ServiceVM/neutron-port-attributes
+
== NFV Catalog ==
* Neutron/Nova/oslo.messaging related stuff https://wiki.openstack.org/wiki/ServiceVM/neutron-and-other-project-items
 
** disable security groups: One thing that I am not sure if it has been discussed is, for L2 agent that supports security groups, such as ovs, some port filters are automatically enabled. Usually this is not what service VM wants. The port-security extension could be used to solve that issue, but it should be confirmed.(raised by Gary Duan)
 
  
== Links ==
+
# VNF Descriptors 
* nfv: https://wiki.openstack.org/wiki/Meetings/NFV
+
# Network Services Descriptors
 +
# VNF Forwarding Graph Descriptors
  
==Dependencies==
+
== VNFM ==
  
We are tracking the dependencies here: [[ServiceVM/Dependencies]]
+
# 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
  
== resource tracking ==
+
== NFVO ==
* tacker repositories
 
** http://git.openstack.org/cgit/stackforge/tacker-specs/
 
** http://git.openstack.org/cgit/stackforge/tacker/
 
** http://git.openstack.org/cgit/stackforge/python-tackerclient/
 
  
* tacker gerrit
+
# Templatized end-to-end Network Service deployment using decomposed VNFs
** https://review.openstack.org/#/q/status:open+project:stackforge/tacker-specs,n,z
+
# VNF placement policy – ensure efficient placement of VNFs
** https://review.openstack.org/#/q/status:open+project:stackforge/tacker,n,z
+
# VNFs connected using an SFC - described in a VNF Forwarding Graph Descriptor
** https://review.openstack.org/#/q/status:open+project:stackforge/python-tackerclient,n,z
+
# VIM Resource Checks and Resource Allocation
 +
# Ability to orchestrate VNFs across Multiple VIMs and Multiple Sites (POPs)
  
* Juno summit logistics
 
** https://etherpad.openstack.org/p/servicevm
 
** http://summit.openstack.org/cfp/details/395
 
*** https://blueprints.launchpad.net/neutron/+spec/device-manager-service-plugin
 
** http://summit.openstack.org/cfp/details/409
 
*** https://blueprints.launchpad.net/neutron/+spec/cisco-config-agent
 
** http://summit.openstack.org/cfp/details/54
 
  
* links
+
= Documentation =
** Blueprint
 
*** https://blueprints.launchpad.net/neutron/+spec/adv-services-in-vms advanced service vm framework
 
*** https://blueprints.launchpad.net/horizon/+spec/neutron-adv-svc-vm horizon GUI
 
*** https://blueprints.launchpad.net/oslo.messaging/+spec/message-proxy-server oslo.messaging rpc proxy
 
*** https://blueprints.launchpad.net/python-neutronclient/+spec/advanced-servicevm-support python-neutronclient
 
*** https://blueprints.launchpad.net/devstack/+spec/neutron-adv-servicevm-support devstack
 
*** https://blueprints.launchpad.net/neutron/+spec/mcafee-ngfw-fwaas-driver Firewall as a Service mcafee ngfw driver
 
*** https://blueprints.launchpad.net/neutron/+spec/device-manager-service-plugin Resource manager for hosting devices like service VMs (Cisco)
 
*** https://blueprints.launchpad.net/neutron/+spec/cfg-agent-scheduler Scheduler of hosting devices to configuration agents (Cisco)
 
*** https://blueprints.launchpad.net/neutron/+spec/cisco-config-agent Configuration agent for hosting devices like service VMs (Cisco)
 
*** https://blueprints.launchpad.net/neutron/+spec/cisco-routing-service-vm Neutron routing service implemented using service VMs (Cisco)
 
*** https://blueprints.launchpad.net/neutron/+spec/router-scheduler-to-hosting-devices Scheduler of Neutron routers to hosting devices and l3agents (Cisco)
 
*** https://blueprints.launchpad.net/neutron/+spec/dynamic-network-resource-mgmt Support for multivendor multi-instance L3-L7 physical and virtual network resources
 
**** https://wiki.openstack.org/w/images/7/71/Dnrm-blueprint-001.pdf
 
*** https://blueprints.launchpad.net/neutron/+spec/nfv-and-network-service-chain-implementation Network Function Virtualization using OpenStack and Network Service Chain Implementation Architecture and Design
 
**** https://docs.google.com/file/d/0B05WnTIhCwXhaThPanhRYmZtd0E/edit
 
**** https://github.com/kumarcv/openstack-nf
 
** etherpad
 
*** https://etherpad.openstack.org/p/NeutronServiceVM etherpad
 
** document
 
*** https://docs.google.com/document/d/1ZWDDTjwhIUedyipkDztM0_nBYgfCEP9Q77hhn1ZduCA/edit?pli=1#  Status update of Framework for Advanced Services in Virtual Machines
 
*** https://docs.google.com/presentation/d/1Ir8MZC7fJb8SOhiZOEQovP_EvdFz_cF_-GEWsidAu7k/edit?pli=1#slide=id.g298d501cf_05 adv-svc-vm-impl
 
*** https://docs.google.com/presentation/d/14dvV3S9Eph2z-auk34I_Ftld-lHA3VMoyNWAPRTeWgE/edit?usp=sharing dividing features
 
*** https://wiki.openstack.org/wiki/Oslo/blueprints/message-proxy-server Oslo/blueprints/message-proxy-server
 
  
* patch review tracking
+
https://docs.openstack.org/tacker/
** neutron
 
*** https://review.openstack.org/#/c/72068/ Implement service vm framework: drivers for load balande
 
*** https://review.openstack.org/#/c/56892/ Implement service vm framework: REST API and DB model part
 
*** https://review.openstack.org/#/c/72070/ adv-svc-vm: support service vm framework
 
*** https://review.openstack.org/#/c/74194/ Implements Neutron routing API using Cisco appliances
 
*** https://review.openstack.org/#/c/74152/ Configuration agent for Cisco Service VMs
 
*** https://review.openstack.org/#/c/101281 Adds adv. services role and change policy to allow cross-tenant port creation
 
** neutron python client
 
*** https://review.openstack.org/#/c/59310/ setup logger name of NeutronCommand automatically
 
** oslo.messaging
 
*** https://review.openstack.org/#/c/77862/ _driver: implement unix domain support
 
*** https://review.openstack.org/#/c/77863/ proxy: implement proxy server
 
** nova
 
*** https://review.openstack.org/97716 nova: 2 interfaces, 1 network
 
  
* repository
+
== Install Guide ==
** github
+
 
*** https://github.com/yamahata/neutron/tree/adv-svc-vm
+
https://docs.openstack.org/tacker/latest/install/index.html
*** https://github.com/yamahata/python-neutronclient/tree/adv-svc-vm
+
 
*** https://github.com/yamahata/oslo.messaging/tree/adv-svc-vm
+
= Use Cases =
*** https://github.com/yamahata/devstack/tree/adv-svc-vm
+
 
*** https://github.com/Karthik-Natarajan/OpenStack-DNRM (Brocade DNRM) Design doc: https://drive.google.com/file/d/0B_-dXko4DlFNbmpPNENvT3o2Y00/edit?usp=sharing
+
=== vCE ===
*** https://github.com/CiscoSystems/neutron/tree/csr1kv_for_routing_juno Cisco service VM implementation with L3 router plugin (this branch contains code for Juno trunk for all 5 BP's marked "Cisco" above)
+
 
* bugs
+
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.
 +
 
 +
=== Telecom operator's expectations ===
 +
[[Tacker/UseCase|What Tacker solves ?]]
 +
 
 +
= 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]
 +
 
 +
= TOSCA for NFV =
 +
 
 +
Tacker uses TOSCA for VNF meta-data definition. Within TOSCA Tacker used NFV profile schema.
 +
* 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
 +
* 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 =
 +
{| class="wikitable"
 +
|-
 +
! colspan="2"|  Git
 +
|-
 +
| Tacker || https://opendev.org/openstack/tacker/
 +
|-
 +
| Tacker Specs || https://opendev.org/openstack/tacker-specs/
 +
|-
 +
| Tacker Python Client  || https://opendev.org/openstack/python-tackerclient/
 +
|-
 +
| Tacker Horizon  || https://opendev.org/openstack/tacker-horizon/
 +
|-
 +
! colspan="2" |  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 =
 +
 
 +
[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 =
 +
 
 +
* Launchpad project page: https://launchpad.net/tacker
 +
* IRC meeting information: https://wiki.openstack.org/wiki/Meetings/Tacker
 +
* IRC channel on OFTC: <code><nowiki>#tacker</nowiki></code>
 +
 
 +
= Quick Links =
 +
 
 +
{| class="wikitable"
 +
 
 +
|-
 +
| OpenStack Summit Tacker Talks  || https://www.openstack.org/videos/search?search=Tacker
 +
|-
 +
|  Team  ||  [https://wiki.openstack.org/wiki/Tacker/Incubation#Team_Members 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 =
 +
{{Special:PrefixIndex/ServiceVM}}

Latest revision as of 04:41, 1 June 2021


Tacker - OpenStack NFV Orchestration

Tacker is an official OpenStack project building a Generic VNF Manager (VNFM) and an 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 Descriptors
  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)


Documentation

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

Install Guide

https://docs.openstack.org/tacker/latest/install/index.html

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.

Telecom operator's expectations

What Tacker solves ?

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://opendev.org/openstack/tacker/
Tacker Specs https://opendev.org/openstack/tacker-specs/
Tacker Python Client https://opendev.org/openstack/python-tackerclient/
Tacker Horizon https://opendev.org/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