Tacker Architecture¶
The following diagram shows the overview of the Tacker architecture
Packages:
tacker - is the main package for Tacker project.
Components:
server - provides REST API and calls conductor via RPC.
tacker-conductor - implements all logics to operate VNF and call required drivers providing interface to NFV infrastructures.
VnfPm/VnfFmController - is responsible for exact actions to configure of PM/FM.
VnfLcmController - is responsible for exact actions to configure of LCM.
PrometheusPlugin - is responsible for exact actions to configure Prometheus.
VnfPm/VnfFmDriver - is responsible for send notification to NFVO.
VnfLcmDriver - is responsible for exact action to mgmt driver or infra driver.
MgmtDriver - is responsible for exact actions to configure VNFs.
InfraDriver - is responsible for exact actions to operate OpenStack or Kubernates.
APIs:
Tacker consists of three independent versions: Legacy, v1, and v2. Each version is separated by API and has the following functions.
Note
Tacker was originally designed to have both NFVO and VNFM functionalities that are now called Legacy API and the most parts have already been deprecated except for VIM Management which is left mainly for debugging purposes. ETSI NFV-SOL API, on the other hand, is a brand new design that provides Generic VNFM functionality in compliance with the ETSI NFV standard.
API type |
Version |
Function |
ETSI NFV-SOL Version |
---|---|---|---|
Legacy API |
Legacy |
None |
|
ESTI NFV-SOL API |
v1 |
||
ESTI NFV-SOL API |
v1 |
||
ESTI NFV-SOL API |
v2 |
||
ESTI NFV-SOL API |
v2 |
||
ESTI NFV-SOL API |
v2 |
(*1)The functionality related to VNF LCM Coordination in Change current VNF package complies with ETSI NFV-SOL002 3.6.1.
(*2)OAUTH2_CLIENT_CERT in SubscriptionAuthentication is compliant with ETSI NFV-SOL013 3.5.1.
Note
See Tacker Horizon User Guide details on APIs supported by Tacker Horizon.
Tacker Service¶
Tacker service is composed of two main processes:
tacker.service
tacker-conductor.service
tacker.service is a web server with Web Server Gateway Interface (WSGI) waiting for the REST API calls and it passes some operations to the tacker-conductor.service via RPC. Two types of API are supported; ETSI NFV-SOL API and Legacy API.
tacker-conductor.service implements some complicated logic and operations for orchestrations and VNF managements. It is mainly responsible for ETSI NFV-SOL based API operations and communicates with OpenStack or Kubernetes VIM by the infra drivers.
ETSI NFV-SOL Tacker Implementation¶
Tacker ETSI NFV-SOL based implementation is described as the following:
When a REST API call is sent to tacker-server, some simple operations are executed in tacker-server with DB queries. The others are delegated to Conductor Server via RPC, and VNF Lifecycle Driver calls appropriate infra-driver to execute the actual logics for control and management of virtualised resources.
Below is an example of resources created/configured when Openstack InfraDriver is used.
OpenStack InfraDriver uses Nova Instance, Cinder Storage, Neutron Port, etc. as resources to configure VNFC.
And below is an example of resources created/configured when Kubernetes/Helm InfraDriver is used.
Kubernetes/Helm InfraDriver uses Pods, Containers, etc. as resources to configure VNFC. In addition to these, Volume, ConfigMap, Secret, etc. are also used as resources to configure VNF Instance.
Tacker also provides a framework to enable lifecycle hooks called mgmt-driver. See v1 Management Driver and v2 Management Driver for details.
Note
VIM Management operations such as “Register VIM” and “Update VIM” are not defined in ETSI NFV-SOL. Users may need to use Legacy Tacker or an external NFVO.
Legacy Tacker Implementation¶
Legacy Tacker implementation is described as the following:
When a REST API call is sent to tacker-server, VNFM and NFVO plugins handle the request and execute connected methods in each plugin. The NFVO plugin invokes required vim-driver methods.
Warning
Legacy API features other than the VIM feature have been deprecated. So only Nfvo receives the API from the tacker-client, but Vnfm and VNFMPlugin remain because they are used by v1 VNF Lyfecycle Management.