Commit Graph

349 Commits

Author SHA1 Message Date
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
Zuul caabc47fb7 Merge "Enhance Placement Process" 2022-07-29 08:12:30 +00:00