350 Commits

Author SHA1 Message Date
Yasufumi Ogawa
f43cc9ea9e Performance improvement of list APIs
This proposal is for a performance improvement of list APIs of Tacker
for considering actual usecases in which a lot of entries, for
example thousands or more. From our simple evaluation, it takes 10
seconds or more for the usecases and it must be too long for users.
So, we'll reduce the time of querying, especially for typical
usecases.

Implements: blueprint perf-improve-list-apis
Change-Id: I164a55f349d71fe732127675c0851f8f48911095
2024-08-08 05:32:56 +00:00
Yasufumi Ogawa
f9af3dcfa0 OpenTelemetry for monitoring VNF and CNF
Proposal for implementing OpenTelemetry plugin for introducing
observability feature in Tacker. OpenTelemetry is the one of the most
popular framework for providing observability and covering comperensive
usecases not only for VNF/CNF but also infra features [1].

[1] https://opentelemetry.io/

Implements: blueprint otel-monitoring
Change-Id: If35a064a966bdd5e59dab66367ca3218e7c12637
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2023-12-20 09:55:41 +09:00
Yasufumi Ogawa
26f23a5df7 Introducing usecase of Cilium CNI
The purpose of this spec is to introduce a usecase example of Cilium
CNI [1] for high-performance network connectivity.

[1] https://cilium.io/

Implements: blueprint intro-cilium
Change-Id: I8713f7ecc39147ad15b4eeeb5905778ee8f4ed80
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2023-12-18 17:40:10 +09:00
Hiromu Asahina
a8ac40397c NFV Orchestration API v2.0 in Tacker Horizon
This specification proposes to update Tacker horizon with the latest
NFV Orchestration API v2.0. The current Tacker-horizon cannot call the
latest NFV Orchestration API v2.0, although it can call the legacy
APIs. As the Tacker community has announced the deprecation of the
legacy API included in NFV Orchestration API v1.0, we should update
them to the views to use the v2.0 API. In addition, new users who do
not know the background of Tacker development might perceive them as
the main features of Tacker. Such misunderstanding may ruin Tacker's
reputation.

Implements: blueprint v2-api-horizon
Change-Id: I40c1f394edbdd91f93be6eee60f2c98400cc6c03
2023-12-15 10:37:12 +09:00
Ai Hamano
da42f39961 Fix the display problem of 2023.2 Specs
This patch adds processing equivalent to the promote-openstack-specs
job to the tacker-spec's Zuul job and fixes the display problem of
2023.2 Specs[1].

Also, change the sphinx extension "sphinxcontrib.plantuml" to
"sphinxcontrib.mermaid" to eliminate the dependency on Java
in the build environment.

[1] https://specs.openstack.org/openstack/tacker-specs/

Closes-Bug: #2037035
Change-Id: I82a1e549b51669e82d10daaad4378f7a049cf95a
2023-09-29 15:51:28 +09:00
Ayumu Ueha
3203ce9629 Add 2024.1 directory
- Added 2024.1 directory
- Moved placeholder to 2024.1 directory

Change-Id: I6a07a00cdb66b5e8098c191b1f3b2d0c82e97505
2023-09-19 05:31:04 +00:00
Zuul
b291998589 Merge "Update metadata in setup.cfg" 2023-07-20 15:08:50 +00:00
Zuul
1aaaef7555 Merge "Support External Keymanager for auth credential" 2023-07-14 01:43:36 +00:00
Yuta Kazato
42002be8ae Support External Keymanager for auth credential
This specification describes the encryption and decryption methods
for authentication credentials in Tacker by using an external key
manager service such as OpenStack Key Manager (barbican).

Implements: blueprint support-external-keymanager
Change-Id: I384891eb1f967d7ab21639a18899a75e995e767b
2023-07-13 17:51:33 +09:00
Zuul
69b14cef13 Merge "Kubernetes Custom Resources for Cluster API" 2023-07-12 08:38:11 +00:00
Zuul
c36317e842 Merge "Terraform Infra-driver for Insta/Termi" 2023-07-12 06:20:47 +00:00
Sairam Vengala
f6220c87e4 Update metadata in setup.cfg
we are using some "aliases" that the setuptools docs say
"are supported for compatibility reasons" but their use is not advised[1].

[1] https://setuptools.pypa.io/en/latest/userguide/declarative_config.html#metadata

please check this below reference link

[2] https://review.opendev.org/c/openstack/charm-cinder/+/854987

Change-Id: I90f8e19da155b6bc7aad400e1d5d3a235034c607
2023-07-12 05:41:07 +00:00
Zuul
8ae4c3b974 Merge "Update Spec of "Enhance Tacker API Access Control"" 2023-07-10 17:28:54 +00:00
Zuul
1bdece75fe Merge "Add sphinx plantUML pluging" 2023-07-10 17:25:47 +00:00
Hiromu Asahina
13fe5c7dfe Kubernetes Custom Resources for Cluster API
This specification describes the enhancement of Kubernetes infra-driver
in Tacker to support LCM operation of Kubernetes Custom Resources (CR)
as CNF, using Kubernetes Cluster API (CAPI) as an example CR. The scope
of the present document includes instantiation, termination, scale and
update of CNFs including CRs for CAPI.

Implements: blueprint support-k8s-cr
Change-Id: Idddaa1f3c95f057736c8d2da24d292e8be1f1150
2023-07-10 17:33:18 +09:00
Hiromu Asahina
69b9f99f96 Terraform Infra-driver for Insta/Termi
This specification describes Terraform Infra-driver in Tacker. The
scope of the present document includes VNF instantiation and
termination with this new infra-driver, using AWS as an example NFVI.

Implements: blueprint terraform-infra-driver
Change-Id: I4df1f8f241742b07784751b507466509693c7a8a
2023-07-10 17:32:37 +09:00
Yuta Kazato
0b15b736da Update Spec of "Enhance Tacker API Access Control"
The spec of "Enhancement of Tacker API Resource Access Control"
will be updated for the following items.
* The attribute of "namespace" and the special roles of "NAMESPACE" are
  changed to "tenant" and "TENANT" in Antelope
* Add tenant control for VNF will be supported in Bobcat
  (Remove the expression of "CNF only".)

This patch fixes these changes in the current spec.

Implements: blueprint enhance-api-policy
Change-Id: I71571607804b5ac1d2cd7a77cf34e89b1ec4af03
2023-07-10 07:26:28 +00:00
Zuul
14450e687b Merge "Fix Pillow version to 9.5.0" 2023-07-10 05:46:30 +00:00
Kenta Fukaya
66c3a8b7d8 Fix Pillow version to 9.5.0
This patch fixes the problem of pillow and sphinx's by
selecting version 9.5.0.

[1]
https://opendev.org/openstack/requirements/src/branch/master/upper-constraints.txt

Change-Id: I20a70c12c565ca3a86ff34f4b9c9007207edf8aa
Closes-Bug: #2026345
2023-07-10 11:46:08 +09:00
Hiromu Asahina
3779761ee4 Add sphinx plantUML pluging
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
2023-07-09 22:14:44 +09:00
Ai Hamano
c3db3d4d1a Fix Spec of "Enhance Placement Process" for Bobcat
"Enhance Placement Process" has the following spec changes in Bobcat.
* In AZ reselection, select AZ considering Anti-Affinity of
  PlacementConstraint
* Change Heat-API to get an error message when "stack create/update"
  fails from "Show stack details" to "List resource events"
  considering the use of rollback option

This patch fixes these changes.

Implements: blueprint enhance-placement
Change-Id: Iaa082354cdcefe01f9ae6a3cc22207c3b28eafab
2023-06-27 09:54:59 +09:00
Hiromu Asahina
28b1e8beca Add 2023.2 directory.
- Added 2023.2 directory
- Moved placeholder to 2023.2 directory

Change-Id: I2b02f985ef8427bd6804dcf4adc1f6d1ccae7e0a
2023-03-24 15:29:58 +09:00
Masaki Oyama
976b5dc034 Fix the DB impact to add the "downloading" field
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
2023-03-13 22:06:48 +00:00
Zuul
db50d2d634 Merge "Support multiple conductors onboarding" 2022-12-28 17:40:47 +00:00
Zuul
a7ddd13400 Merge "Improvement of error message" 2022-12-28 15:34:54 +00:00
Zuul
3c829d1aff Merge "SRBAC:Implement project personas in Tacker" 2022-12-28 11:52:27 +00:00
Masaki Oyama
9b5230b69b Support multiple conductors onboarding
This specification describes enhancement of managing VNF packages
by multiple Tacker conductors.

Implements: blueprint support-multi-conductors-onboarding
Change-Id: I549d072d79264642a403da3776fa824b2a0de8cf
2022-12-28 09:19:58 +00:00
Masaki Oyama
c86a8d0f2b Improvement of error message
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
2022-12-28 07:45:57 +00:00
Manpreet Kaur
a46ebac663 SRBAC:Implement project personas in Tacker
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
2022-12-28 11:28:50 +05:30
Zuul
e2bd3d2c0a Merge "Enhancement of Tacker API Resource Access Control" 2022-12-28 05:23:36 +00:00
Zuul
4490b1dfeb Merge "Support Thresholds resource in PM Interface" 2022-12-28 05:13:59 +00:00
Yuta Kazato
2f959940bc Enhancement of Tacker API Resource Access Control
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
2022-12-28 08:59:08 +09:00
Zuul
9c0e2af31f Merge "Support PostgreSQL as Tacker DB backend" 2022-12-27 18:08:58 +00:00
Zuul
cf2e683508 Merge "Support VNFM for AutoHeal and AutoScale" 2022-12-27 17:48:12 +00:00
Kenta Fukaya
8e7e908714 Support VNFM for AutoHeal and AutoScale
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
2022-12-27 16:23:44 +09:00
Yuta Kazato
e287ba86b8 Support PostgreSQL as Tacker DB backend
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
2022-12-27 15:49:43 +09:00
Zuul
2b30f2767a Merge "Add coordinateVNF script for coordination IF" 2022-12-27 06:35:12 +00:00
Yuta Kazato
278ccb8bd0 Support Thresholds resource in PM Interface
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
2022-12-27 11:31:38 +09:00
Hirofumi Noguchi
0bd703fcfc Add coordinateVNF script for coordination IF
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
2022-12-26 10:50:13 +09:00
Ai Hamano
7cdebc9719 Fix Spec of "Enhance Placement Process"
"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
2022-12-16 10:01:46 +09:00
Yasufumi Ogawa
949c4ce423 Add 2023.1 specs directory
Using release number here. In Zed cycle, TC passed a resolution[1] and
updated the release Identification document[2] to use the release
number as primary identifier in the development cycle. Release name
will be used in marketting and release team tooling (until they are
migrated to work with release number) only.

[1] https://governance.openstack.org/tc/resolutions/20220524-release-identification-process.html
[2] https://governance.openstack.org/tc/reference/release-naming.html

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I9c56ef2a1bbce716a37cac83e4316e37d989b386
2022-10-05 14:22:04 +00:00
Manpreet Kaur
aed90244a9 Enhance multi tenant policy in VNF LCM
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
2022-08-09 12:23:21 +05:30
Zuul
ab50b47069 Merge "A DB migration tool for API version update" 2022-08-02 06:24:21 +00:00
Hongjin Xu
5d0d1e6ac1 A DB migration tool for API version update
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
2022-08-02 05:53:42 +00:00
Zuul
e8e508bdcd Merge "Enhancement of Container Update Function" 2022-07-29 09:03:14 +00:00
Zuul
87aef2c194 Merge "Enhance CLI for paging query results" 2022-07-29 09:03:12 +00:00
Zuul
7dc593d562 Merge "Add CentOS Stream 9 Testing in Zuul" 2022-07-29 08:58:51 +00:00
Zuul
a876c667dd Merge "Database Synchronization between Tacker and K8s" 2022-07-29 08:23:20 +00:00
Zuul
762649479b Merge "Enhance ChangeCurrentVNFPackage API" 2022-07-29 08:22:30 +00:00
Zuul
1d41d0905f Merge "Support OpenID for Kubernetes VIM Authentication" 2022-07-29 08:12:32 +00:00