This patch enables the sphinx PlantUML extension. As PlantUML is often
used in Tacker documents, authors of specs can re-use diagrams when
they write user guides with small revising.
To build plantUML with a sphinx PlantUML extension:
- Updated conf.py
- Updated requirements
- Added plantuml.jar
To use the sphinx PlantUML extension in Zuul jobs:
- Added bindep [1][2] to install graphviz
- Added pre.yaml to install java [3]
- Updated setup.cfg (this is necessary to place more than two
directories at the project root)
Others:
- Added examples to 2023.2/placeholder.rst and template.rst
[1] https://github.com/openstack/cinder-specs/blob/master/bindep.txt
[2] https://docs.opendev.org/opendev/bindep/latest/readme.html
[3] https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-java
Change-Id: I72c2c7887ceba4734b367f7e5bc78921eb0ab0a1
Add data model impact for `downloading` field to count
the num of conductors downloading VNF packages.
Implements: blueprint support-multi-conductors-onboarding
Change-Id: I62d225bc74dde9c15267898f72893d4f11b8f6a0
This specification proposes two improvements about mgmt driver.
First is defining the interface of error handling
between Tacker and Mgmt Driver.
Second is improving the message of exception
raised when Ansible playbook fails.
Implements: blueprint improving-mgmt-driver-log
Change-Id: Iaa3a4f58f8fb8341eb49dd2a2b5248bf76612bf7
In the OpenStack Zed cycle, the Technical committee proposed
introducing the project scope reader and member role [1].
A project-reader persona will operate within its project
resource, and have read-only access within the project.
A project-member is denoted by someone with a member role
on a project. It is intended to be used by end users who
consume resources within a project. It inherits all the
permissions of a project-reader.
In order to implement the project-member and project-reader role
we need to depreciate the existing "owner" rule which allows
any role to behave as the owner of the project.
This specification discusses the implementation of the project
personas (project-reader and project-member) in Tacker.
[1] https://review.opendev.org/c/openstack/governance/+/847418
Implements: bp implement-project-personas
Change-Id: I12b8168f14d1e0286df34a06c4f0020365e66308
This specification describes implements of fine-grained
access control based on user and VNF information for API resources.
It will extend user information to include role, VIM information, VNF
instance information,
and implement the policy enforcer that uses not only roles, but also
user and VNF information.
The following items will be supported.
1. Add additional attributes to resources when be created.
2. Change the API process to support Tacker policy checker.
3. Add the Tacker policy filter to the list API processes.
4. Convert special roles to API attributes in context.
5. Add a configuration option and policy samples.
Implements: blueprint enhance-api-policy
Change-Id: Ib8f1c83be1bec3644f0fbead46ccd6ab7c2d4e83
This spec provides some implementations for supporting receiving alerts
from External Monitoring Tools and VNFM(tacker)-driven AutoHeal and
AutoScale without NFVO. This implementation only supports VNF and CNF
instantiated through Tacker's v2 API.
Implements: blueprint support-auto-lcm
Change-Id: I5ef4428f722d4da288469a4636020e2f0eb0ef5b
This specification proposes tacker-db-manage improvements to
support Multi-DB backends, especially PostgreSQL as Tacker DB backend.
The following items will be supported.
1. Add PostgreSQL migration functions to tacker-db-manage.
2. Add PostgreSQL migration functions to Tacker.
3. Add PostgreSQL install manuals to Tacker Installation Guide.
Implements: blueprint support-multidb-backend
Change-Id: Iac23778091d00d26724b07a9571ff16c7a699dee
This specification provides implementations of "Thresholds"
resource for supporting Performance Management interface
with external monitoring tools such as Prometheus.
Tacker Zed release has supported ETSI NFV-SOL
based Fault Management and Performance Management interfaces,
but Thresholds resource is not implemented.
The following items will be supported.
1. Add support Thresholds resource for PM interface.
2. Enhance notification to Client.
3. Add support of RESTful API for communications between
Tacker and External Monitoring Tool.
4. Add new unit and functional tests.
Implements: blueprint support-auto-lcm
Change-Id: I7bc8af96e3e2a3290891f42821597184d5f77a25
This specification proposes a sample coordinateVNF script
for rolling update with external management systems
(e.g., Operations Support Systems (OSS)/Element Manager (EM)).
This specification focuses on only VNF update
by the ChangeCurrentVNFPackage API.
Change-Id: I612b96bd993a1e5e52e142f84c57cc11de92cf68
Implements: blueprint add-sample-coordinate-script
"Enhance Placement Process" has the following spec changes in Antelope.
* In AZ reselection, randomly select from unselected AZs without
considering Affinity/Anti-Affinity
* Only StandardUserData is the target of reselection processing
(Delete the description of AutoScalingGroup)
* Delete the configuration value for whether to reselect AZ
This patch fixes these changes and moves spec of
"Enhance Placement Process" to the directory for 2023.1.
Implements: blueprint enhance-placement
Change-Id: I3629f17e8df17a2947100215e4ad7556fa812124
An enhancement of the multi-tenant policy in the VNF lifecycle
management.
* Discussion to enable a non-admin role user to instantiate VNF.
* Add design for negative functional test cases for VNF LCM
operations and validate notification is received by the tenant
specified in the subscription sequence.
Implements: bp enhance-multi-tenant-policy
Change-Id: Idf398ea9bf083afdecb99a0cea3c539a34ec17d3
The DB migration tool migrates DB from v1 API to v2 API
without service outage of the VNF, which would be implemented by
adding the functionality to the tacker-db-manage command.
Implements: blueprint db-migration-tool
Change-Id: I8cb4e925bd937d79bebaa346dd7dcc634355c97d
In the current implementation, TackerDB and VIM DB(KubernetesDB)
such as etcd in Kubernetes are only synchronized
when SOL002 heal is executed.
However, when Kubernetes auto-heals or auto-scales and the pod restarts,
the information is only reflected in the KubernetesDB
and not in TackerDB.
This specification supposes periodic synchronization of Pod information
between TackerDB and KubernetesDB
Implements: blueprint database-synchronization
Signed-off-by: Masaki Ueno <masaki.ueno.up@hco.ntt.co.jp>
Change-Id: I952da578c69a1c577d0cee731f617ed834e17179
This specification enhances the ChangeCurrentVNFPackage API.
Tacker supported the ChangeCurrentVNFPackage operation in Yoga release,
but Tacker has supported software image update case only
and lacks some parameters.
The following cases will be supported.
1. Change OpenStack flavor
2. Change external/internal VL and CP
3. Add other ChangeCurrentVNFPackage API parameters
Implements: blueprint enhance-change-package
Change-Id: Ia511955df1f32fd703a6b44e242e1e4a379e3627
This spec provides an implementation for supporting AutoHealing using
FaultNotification interface between Tacker and VIM.
When fault events occur in VIM, VIM notifies fault event to Tacker
via the interface.
Tacker takes initiative of AutoHealing. According to configuration,
Tacker checks faultID attribute in the fault event and determines
whether AutoHealing should be performed. In case of performing
AutoHealing, VMs are deleted or created via Heat.
The FaultNotification interface can be alerted by multiple events.
To prevent invoking multiple heal operations to single VNF,
the FaultNotification requests to Tacker are packed for a configured
period of time.
Implements: blueprint support-autoheal-queue
Signed-off-by: Masaki Ueno <masaki.ueno.up@hco.ntt.co.jp>
Change-Id: Ia5633c2b6571bc5364f0ccd344d81f1a10236096
There are several ways for authentication in Kubernetes VIM.
Currently, Tacker already supports using Service Account Token
as bearer token for authentication.
This specification proposes Tacker to support
OpenID Connect Token as bearer token for authentication.
Signed-off-by: Masaki Ueno <masaki.ueno.up@hco.ntt.co.jp>
Change-Id: Id6f34c42956c3753baf72c69f0e6127abfd13899
Implements: blueprint support-openid-k8s-vim
This specification supports the placement functionality for VNF instance
and enhances the applicability of Tacker to various systems.
The placement constraints are defined in ETSI NFV-SOL 003 v3.3.1
and that VNFM sends to NFVO in order to the resource placement decision.
In VNF Lifecycle Management (LCM), there are some cases that VNFs are
not deployed due to placement constraints or
lack of availability zone's resources.
From a high-availability perspective, Tacker needs to implement a
fallbackBestEffort option in Grant Request and availability zone
reselection functions in Placement Process.
Implements: blueprint enhance-placement
Change-Id: I654cc26f30dda1cc756ddee790a16f5855ea4443
This spec provides some implementations for supporting AutoHeal
and AutoScale with external monitoring tools such as Prometheus.
The implementations includes ETSI NFV-SOL 002/003 v3.3.1 based
Fault Management / Performance Management interface
and a sample implementation of Prometheus Plugin.
Implements: blueprint support-auto-lcm
Signed-off-by: Masaki Ueno <masaki.ueno.up@hco.ntt.co.jp>
Change-Id: I16d1cdb29362b7e56ab7dbf92b1744cdc5145ede
In the current implementation, when users invoke update operation of
ConfigMaps and Secrets, all Pods are restarted even if they don't use
those updated ConfigMaps and Secrets. This modification aims to remove
this limitation.
Implements: blueprint enhancement-container-update
Signed-off-by: Masaki Ueno <masaki.ueno.up@hco.ntt.co.jp>
Change-Id: Iefc0f6cdab351600b8b0ee1d7033246fad8e7226
This specification proposes new functionality
about individual VNFC management via OpenStack Heat.
This proposal focuses on v2 VNF Lifecycle management (LCM) API
and adds new sample BaseHOT, corresponding UserData script,
and utility functions for UserData class.
Change-Id: Id27da3f247b027ef800a988ccd5e41c400a0dc43
Implements: blueprint individual-vnfc-management
This spec describes the enhancement about CLI according to support
of pagination of query results in Tacker server.
Target client commands existing in Yoga release are below.
- openstack vnflcm list
- openstack vnflcm op list
- openstack vnf package list
Implements: blueprint paging-query-result
Change-Id: I817910e3e6f4d11844e9279279305aa3ac72fd85
The Ansible Driver currently has only a single configuration
information.
This above specification does not allow changing the configuration
information for multiple deployment Flavors.
Adopts the Multi artifact specification defined in TOSCA to hold
multiple Configuration information.
* Enable understanding of primary and dependencies at toscaparser
* Enable understanding of primary and dependencies at schema of tacker
* Extend method that get implementation information
Implements: blueprint add-ansible-mgmt-driver-sample
Change-Id: I7d8e48c7d20e38f119f81803c73480de68708eb9