2267 Commits

Author SHA1 Message Date
Zuul
28df9a4eae Merge "Fix cnf rollback after instantiation failure" 2021-09-15 10:36:48 +00:00
Zuul
bcd00e7ea2 Merge "Fix status code for invalid filter conditions" 2021-09-15 09:18:00 +00:00
Zuul
99f7600c39 Merge "Fix get information about multiple VNF instances" 2021-09-14 12:53:30 +00:00
Zuul
3c0fabfc24 Merge "Add ETSI getting started" 2021-09-13 07:07:07 +00:00
Tsukasa Inoue
7add037259 Fix status code for invalid filter conditions
The current tacker returns 500 Internal Server Error to requests with
invalid filter conditions where a VNFID is not UUID. However, as the
error is caused by a bad request, the status code should be 400.

This bug occurs because data types of 'id' and 'vnfd_Id' in TackerObject
are 'string' which don't match the data types in DB, i.e., UUID. In
order to fix this bug, those data types in TackerObject are changed to
'uuid'.

Closes-Bug: 1924666
Closes-Bug: 1926632
Change-Id: I8decbb42d661a44c6c382cb1abbfc37d95084ffb
2021-09-13 15:30:52 +09:00
Zuul
85c1d501b4 Merge "Update version of cirros image to 0.5.2" 2021-09-09 15:44:53 +00:00
Zuul
fb782d70e2 Merge "Remove tmp fix for heat-translator/tosca-parser" 2021-09-07 14:29:31 +00:00
Zuul
d56f0a2038 Merge "Replace deprecated import of ABCs from collections" 2021-09-07 08:49:19 +00:00
Aldinson Esto
5d23bf31d3 Remove the restriction of scaling group name
This patch will fix the issue about naming limitation
for scale group.

Closes-Bug: #1924208
Change-Id: I2e4edbc5804b2c35075361dec1296334bf933ace
2021-09-07 00:13:17 +00:00
Yasufumi Ogawa
35f93e9b67 Remove tmp fix for heat-translator/tosca-parser
To install heat-translator and tosca-parser from git repos, dedicated
scripts for the tasks were added in [1]. Then it was replaced with
smarter way using `git_clone_by_name` in [2]. So, we don't need to have
changes by [1] anymore.

[1] https://review.opendev.org/c/openstack/tacker/+/765296
[2] https://review.opendev.org/c/openstack/tacker/+/787322

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I0a842843443bf5b2dd267b57b3e3dcc66a5198cf
2021-09-06 10:19:19 +00:00
Ayumu Ueha
149d67c6ca Fix cnf rollback after instantiation failure
This patch fixes the problem that cnf rollback operation does not
delete the kubernetes resource created during instantiation.

Closes-Bug: #1933305
Change-Id: Iecd8f11f5d51a49999f4f0e31a16f41438834f8a
2021-09-06 06:46:35 +00:00
ueha.ayumu
5eced54d7f Skip some FTs failed due to heat bug
Due to a bug in heat project, the some FTs don't pass.
This patch temporarily skip fail tests that until the bug is resolved.

* Due to heat bug reported in [1].
  functional.legacy.vnfm.test_vnf_placement_policy.VnfTestCreate
  - test_create_delete_vnf_with_placement_policy_affinity()
  - test_create_delete_vnf_with_placement_policy_anti_affinity()
  - test_vnf_with_policy_anti_affinity_insufficient_comp_nodes()

Skip should be removed as soon as the bug is resolved.

[1] https://storyboard.openstack.org/#!/story/2009164

Change-Id: I8784603c875a93790014930004b90c39155c9e71
2021-09-02 16:47:20 +00:00
Takashi Kajinami
ea1bc9bda6 Replace deprecated import of ABCs from collections
ABCs in collections should be imported from collections.abc and direct
import from collections is deprecated since Python 3.3.

Closes-Bug: #1936667
Change-Id: Iafc013cb9b454bc5251d126643f68f3112dafa54
2021-08-31 13:59:17 +00:00
Zuul
424b9113f4 Merge "Fix missing required parameter when k8s_obj init" 2021-08-31 13:39:14 +00:00
h_asahina
68b23730a6 Add ETSI getting started
The current `Tacker User Guide` page doesn't have `Getting Started` for
ETSI NFV-SOL Tacker.

Added `Getting Started with ETSI NFV-SOL Tacker`.

Also, added sample files, such as a VIM config file, VNF packages and a
VNF instantiation parameters file, to the `samples` directory, which
are referred from the `Getting Started` page.

Change-Id: I58dadaa6c99fc45a34d87218c4d943e2572aa0a1
Signed-off-by: Hiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>
2021-08-31 15:45:14 +09:00
Yasufumi Ogawa
ddf28104a3 Update version of cirros image to 0.5.2
We've been using old cirros-0.4.0 for long time, and don't need to fix
the version of cirros to 0.4.0. This patch is update to the latest
0.5.2.

Most of the changes in this patch is replacing `image`, `hash` and
`version` in TOSCA definition files. The rest of them are:

* Replace images. First one is only an actual image, and rest of them
  are empty text files which is a trick for reducing total size in
  tacker repo. So, text files are not replaced, but renamed simply.
  * tacker/tests/etc/samples/etsi/nfv/common/Files/images/cirros-0.5.2-x86_64-disk.img
  * samples/vnf_packages/Files/images/cirros-0.5.2-x86_64-disk.img
  * tacker/tests/etc/samples/etsi/nfv/test_csar_utils_data/sample_vnfpkg_no_meta_single_vnfd/Files/images/cirros-0.5.2-x86_64-disk.img
  * tacker/tests/etc/samples/sample_vnf_package_csar_in_meta_and_manifest/Files/images/cirros-0.5.2-x86_64-disk.img

* Update functional tests verifying images. A refactor of defining
  package size is included.

* Update devstack script, and helper scripts under `contrib` dir.

* Update API references and documents describing usage of the image.

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>

Implements: blueprint update-cirros-052
Change-Id: I081b791dc986ab10f4845784b3e19dbb626e3cac
2021-08-30 21:31:12 +09:00
LiangLu
26a2b5fce2 Fix missing required parameter when k8s_obj init
While deploying CNF(deployment) using pod-affinity rules, a
parameter error happended because the topology_key is not
assigned when initializing k8s object.

This patch fixes this bug by adding the topology_key's default
value into `must_param` in translate_outputs._create_k8s_object().
At the same time, in order to deal with the recurrence of this
kind of bug, we checked the required parameters of all resources
in kubernetes again and added them to must_param.
    * Kubernetes version: from v1.18.20 to v1.21.1
    * Kubernetes-python-client version: v18.20.0

The major changes from the "must_param" used in the previous
Wallaby release of Tacker are probably as follows:

RuntimeRawExtension
  The `data` parameter of `V1ControllerRevision`[1] in v11.0.0
  was `RuntimeRawExtension`[2], but the `RuntimeRawExtension` was
  not support for v12.0.0 or later. Therefore `V1ControllerRevision`
  in v18.20.0[3] it has been changed to` object` type.

V1ServiceReference
  The `service` parameter of `V1APIServiceSpec`[4] in v11.0.0 was
  `V1ServiceReference`[5], but the `V1ServiceReference` was not
  support for v12.0.0 or later.
  Therefore `V1APIServiceSpec` in v18.20.0[6] it has been changed
  to `ApiregistrationV1ServiceReference`[7].

V1LimitRangeItem
  The `type` parameter of `V1LimitRangeItem`[8] in v11.0.0 was
  optional type, but the parameter has changed to must param
  in v18.20.0[9].
  Therefore, the parameter should be added into `must_param`.

[1] https://github.com/kubernetes-client/python/blob/v11.0.0/kubernetes/docs/V1ControllerRevision.md
[2] https://github.com/kubernetes-client/python/blob/v11.0.0/kubernetes/docs/RuntimeRawExtension.md
[3] https://github.com/kubernetes-client/python/blob/v18.20.0/kubernetes/docs/V1ControllerRevision.md
[4] https://github.com/kubernetes-client/python/blob/v11.0.0/kubernetes/docs/V1APIServiceSpec.md
[5] https://github.com/kubernetes-client/python/blob/v11.0.0/kubernetes/docs/V1ServiceReference.md
[6] https://github.com/kubernetes-client/python/blob/v18.20.0/kubernetes/docs/V1APIServiceSpec.md
[7] https://github.com/kubernetes-client/python/blob/v18.20.0/kubernetes/docs/ApiregistrationV1ServiceReference.md
[8] https://github.com/kubernetes-client/python/blob/v11.0.0/kubernetes/docs/V1LimitRangeItem.md
[9] https://github.com/kubernetes-client/python/blob/v18.20.0/kubernetes/docs/V1LimitRangeItem.md

Closes-Bug: #1928153
Closes-Bug: #1940602
Change-Id: If77be98d0c4cec6f4c860ae84978f59772f9a6ee
2021-08-25 13:35:55 +09:00
Zuul
ab08a39618 Merge "Doc:Fix misspelled word in Legacy User Guide" 2021-08-24 02:46:57 +00:00
Zuul
f2ec757664 Merge "Add hardware requirements" 2021-08-24 02:24:53 +00:00
Manpreet Kaur
70bfbe4313 Doc:Fix misspelled word in Legacy User Guide
This patch fixes misspelled words such as parameter name
"cert_verify" and "instance" found incorrect in Tacker
Legacy User Guide.

Closes-Bug: #1940230
Change-Id: I37d61805bf492d28362183e91f21e18cf95cc0c6
2021-08-17 14:15:01 +05:30
Yi Feng
3bb8791f18 Fix get information about multiple VNF instances
When getting information about multiple VNF instances with invalid
attribute selector or invalid attribute-based filtering parameters,
tacker return a response with HTTP Code 200 and all information
about VNF instances. However, according to the specification file,
the HTTP code 400 Bad Request shall be returned.

To fix this bug, this patch adds a new check for this api`s
parameters. If it contains unsupported parameters, the HTTP code
400 Bad Request will be returned.

Closes-Bug: #1938108
Change-Id: I3cca6d6fa664dd8f88791516042892369e4972a2
2021-08-10 13:43:08 +09:00
Hiromu Asahina
ecbc80c0a0 Add hardware requirements
The current `Install via Devstack` page doesn't have a hardware
requirement which may cause installation failure or poor performance.

Added a table that shows hardware requirements.

Also, the current document mentioned `ussuri` in sentences, but it's too
old. Updated the version referred in sentences from `ussuri` to the
latest release `wallaby`.

Change-Id: Ifd916c96e8f90d7abb411d3eb0669e8ac3b0cf84
Signed-off-by: Hiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>
2021-08-02 09:56:04 +09:00
Zuul
ef982945d9 Merge "Update releasenotes from Xena cycle" 2021-08-01 17:52:13 +00:00
Zuul
eafb2b516e Merge "Drop block storage v2 API" 2021-08-01 17:52:12 +00:00
Zuul
b84a1dc16b Merge "Fix MgmtDriver can not be called when scale CNF" 2021-08-01 16:06:01 +00:00
Zuul
e0250d375b Merge "Fix required attributes when error happened" 2021-08-01 16:02:15 +00:00
Zuul
79714e44bf Merge "Fix Healing so image is updated after Healing" 2021-08-01 15:47:53 +00:00
Zuul
066c9658b3 Merge "Add LCM op figures to User Guide" 2021-08-01 15:37:51 +00:00
Zuul
f19dd4590e Merge "Update hyperlinks of ETSI NFV types definitions" 2021-08-01 15:17:36 +00:00
Zuul
6eff47687e Merge "Fix Patch Individual VNF instance" 2021-08-01 15:04:23 +00:00
Yi Feng
646554075e Fix required attributes when error happened
Accroding to the NFV-SOL 013v2.6.1 Section 6, modify the API's
response body format when error happened.

Add title, status and detail attributes and delete problem type,
code and message attributes in the response body when error happened.
And also change the "Content-Type" from "application/json" to
"application/problem+json".

Closes-Bug: #1930647
Change-Id: Ic5f08ca924d14a382baeb77470aa3430e317315f
2021-07-30 16:16:02 +09:00
Yasufumi Ogawa
9a9c8dbf4e Update releasenotes from Xena cycle
Listing updates from begining of Xena cycle should be included in
releasenotes.

* Dropping sqlalchemy-filters while updating SQLAlchemy [1].

* Update default network driver to OVN in [2] and [3].

* Bug fixes of features, totally seven as referred in git log.

[1] https://review.opendev.org/c/openstack/tacker/+/796160
[2] https://review.opendev.org/c/openstack/tacker/+/794014
[3] https://review.opendev.org/c/openstack/tacker/+/792872

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I9b8c8ab02e8ddf9d50716f1ee32c60da9c603a52
2021-07-29 14:46:44 +00:00
Aldinson Esto
33cb3ba575 Fix Healing so image is updated after Healing
This patch will fix the issue about Healing not being
able to update to the new image.

Closes-Bug: #1924215
Change-Id: I3de1a532e33ae25638a452db4b9e18626de8df42
2021-07-29 19:28:45 +05:30
Yasufumi Ogawa
385c4b441e Drop block storage v2 API
This change is to update python-cinderclient to 8.0.0 because cinder
dropped v2 API and doesn't support its client for the API. It also
updates depending packages as below.

* python-cinderclient 8.0.0 depends on pbr>=5.5.0
* python-cinderclient 8.0.0 depends on oslo.utils>=4.8.0
* python-cinderclient 8.0.0 depends on stevedore>=3.3.0
* python-cinderclient 8.0.0 depends on requests>=2.25.1
* python-cinderclient 8.0.0 depends on keystoneauth1>=4.3.1

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: Id01fe417acf4da4e5360dfba3bc2cc96df2b6889
2021-07-28 16:03:57 +00:00
Hiromu Asahina
05bce7441e Add LCM op figures to User Guide
The current document doesn't have an overview of VNF LCM operations,
e.g., Deployment, Scaling and Healing.  For example, the VNF scaling
creates/changes VMs with OpenStack Heat API and users have to confirm
results of an operation with `openstack stack` command, but the
relationship between OpenStack Tacker and OpenStack Heat is not
explicitly described.

For ease of understanding, added diagrams and brief explanation of the
LCM operations listed below.

- ETSI NFV-SOL VNF Deployment as VM with TOSCA
- ETSI NFV-SOL VNF Deployment as VM with LCM operation user data
- ETSI NFV-SOL CNF (Containerized VNF) Deployment
- ETSI NFV-SOL VNF Healing
- ETSI NFV-SOL VNF Scaling
- ETSI NFV-SOL CNF Healing
- ETSI NFV-SOL CNF Scaling

Change-Id: I3ddf9e5ec68c0e84ccc9df4fea9ee274562a3e88
2021-07-28 15:54:21 +09:00
Zuul
67685f06bf Merge "Update examples of local.conf for OVN" 2021-07-27 15:36:17 +00:00
Zuul
1951c2bd73 Merge "Retaining permission of VNF package files" 2021-07-26 17:39:23 +00:00
Zuul
9af1494f4a Merge "Incomplete URLs in api-ref" 2021-07-26 17:32:34 +00:00
Zuul
a84ac6fd45 Merge "Improvement of Processing Logic for Healing" 2021-07-26 17:32:32 +00:00
Zuul
f49e232126 Merge "Update User Guide" 2021-07-26 17:18:15 +00:00
Zuul
8794c2cd2e Merge "Update references to sys.version_info" 2021-07-26 17:04:32 +00:00
Manpreet Kaur
401a12deeb Update references to sys.version_info
We support Python 3.6 as a minimum now.
Updating minimum version check from py2.6 to py3.6 and
removing no op checks.

Change-Id: Iac35026682578c30d06b29969e133438be777ebd
2021-07-26 18:18:22 +05:30
Zuul
4957758ae8 Merge "Use skipTest() instead of skip() method" 2021-07-26 11:36:10 +00:00
Sheel Rana
00ec6a5b64 Incomplete URLs in api-ref
Host-path is missing in some of the api-ref
sample files.

This patch adds host-path in such related api-ref
sample files.

Change-Id: Iaee9daf266a6377b5de0d258aee6bcf9c6aef36e
2021-07-17 15:33:20 +00:00
Sheel Rana
89b3b65c7c Retaining permission of VNF package files
Python zipfile module changes permission of the zip file
contents to 644 incorrectly while extracting zip file.

This is because of the bug present in the python zipfile module:
https://bugs.python.org/issue15795

This patch will resolve this issue and retain the permission of
files.

Co-Authored-By: Shanu Pandit <shanu.pandit@india.nec.com>
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>

Closes-Bug: #1923540
Change-Id: I71aad5f879e6df21f679187283957c59b73e0643
2021-07-17 15:32:53 +00:00
Yi Feng
a9cb385452 Fix Patch Individual VNF instance
In the condition when the vnf instance hasn't been instantiated,
an error occurs when Patching Individual VNF instance.

1. Fix the exception caused by the NULL value of vnf's
updated_at field.
2. Fix the exception happened when one of its attributes is not
existed in method to_dict in Class VnfInfoModifications.
3. Fix the problem that vnfInstanceName and vnfInstanceDescription
are not displayed in notification when vnfdId is included in the
fields which need modified.
4. In the API reference, modify the method of modifying an
"Individual VNF instance" resource from POST to PATCH.

Closes-Bug: #1915100
Change-Id: Iddb5bb540b817d4fd24e2c7c12f885bd39f8662b
2021-07-15 11:30:22 +09:00
Yi Feng
f4774e86ce Fix MgmtDriver can not be called when scale CNF
MgmtDriver can be called only when the type of scale is VNF.
Therefore, a judgment condition is added, when the type of
scale is CNF, MgmtDriver can also be called.

Closes-Bug: #1933924
Change-Id: I87168235d56affe2217bb505a1a9c631f40854e2
2021-07-14 10:27:52 +09:00
Yasufumi Ogawa
55f3a221be Update examples of local.conf for OVN
For the default network backend driver is changed to OVN[1], update
params for neutron and also kuryr-kubernetes in examples of `local.conf`
to deploy OVN.

[1] https://review.opendev.org/c/openstack/devstack/+/791436

Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I04460c525ff5d5751908e12911e4c7797ef09353
2021-07-13 02:28:31 +00:00
Manpreet Kaur
96a9292fef Use skipTest() instead of skip() method
The method for skipping a test in unittest is skipTest().
testtools also provides skip(), but that is deprecated.

This patch eliminates the deprecation warnings by switching
to the recommended skipTest().

Change-Id: Ic7ab96edbe6a5312aa50edb6fccb38004e8158fb
2021-07-12 23:10:31 +00:00
Ayumu Ueha
3ca7b32f56 Zuul FT environment change to use OVN
The devstack patch [1] that set default ML2 driver from OVS to OVN
has been merged.

[1] Change default network backend driver to ML2/OVN
https://review.opendev.org/c/openstack/devstack/+/791436

This patch change to set ML2 driver to OVN in zuul environment for FT.

Change-Id: I2ab70503e09a96e80378e4676e377037042d8c42
2021-07-12 18:29:39 +00:00