Customization of stack parameter during heal and scale through
lcm_user_data.
Implement: blueprint stack-parameter-customization
Change-Id: I393c0fd3ee32ee545ce5adf70b57af97d4177f2c
This patch provides Tacker documents for error handling operations
(retry, fail, rollback) in V2-API. The specification about new API is
added to API Reference. Also, these descriptions are added to an error
handling page of Tacker Use Cases Guide.
This patch includes some improvements of these documents. For example,
modifying spelling inconsistencies, unifying uppercase and lowercase
letters and so on.
This patch does not include documents for other operations
(Modify, Scale, Heal, Changeextconn) in V2-API. Those documents
will be provided with another patch by the release of Yoga.
Implements: blueprint support-nfv-solv3-error-handling
Change-Id: Id045469db965b0e0ef12e271d9259002ef7e60af
This patch revise the FT of V2-API.
The viewpoints of this revision are listed below:
* Add some LCM operations in FT(such as Subscriptions
and VNFLCM operation occurrences)
* Revise VNF Package and request-body
* Strengthen the check points by assertion
* Fix the response-body related to the attribute that
does not have the information to be returned
Change-Id: I681800f52b4e2eb29c320c007ed1cf2901b61267
After the X version was released, regression tests were performed
on all functions of MgmtDriver. This patch is used to fix
these bugs.
1. Add the process of getting 'FloatingIP' to kuberenetes_mgmt.py
and private_registry_mgmt.py files, so that users can access the
Registry and Storage VM through the floatingIP when using the CIR
and Storage functions.
2. When the registry is accessed through https, add a `break`
process to the while loop connection in the
`_connect_to_private_registries` method in kuberenetes_mgmt.py
to break out of the loop.
3. Modify the type field in podaffinity_hot_top.yaml to match
the name in the nested directory.
4. When using the pod-affinity function, if multiple
'OS::Nova::ServerGroup' resources are created at the same time,
the id of the resource cannot be matched to the workerNode.
Modify the original process of obtaining the id directly,
instead, first obtain the `physical_resource_id` of all
'OS::Nova::ServerGroup' resources, and then match the id in the
workerNode information to obtain the target id.
5. Modify the method of obtaining the kubespray VM's password
in kubespray_mgmt.py.
Closes-Bug: #1949926
Change-Id: I2e966df35f874e14c39792a6882ee913ac424663
This patch implements fail operation task defined in ETSI NFV-SOL003
v3.3.1 5.4.16.
Fail operation is changed the state to "FAILED" when the retry or
rollback operation unsuccessful.
Functional tests will be provided with another patch.
Implements: blueprint support-nfv-solv3-error-handling
Change-Id: I3a64acde4cfdfeef18959a80a3a86b3c7f1023dd
An error occurred at the FT of CNF LCM with Helm chart on the
sol-kubernetes job due to the time it took to remove the Kubernetes
resources for the entire heal operation.
There is not enough time to wait for the status to COMPLETED, and the
heal operation itself succeeded.
This patch extends the timeout period to avoid errors.
Change-Id: I1a39707e64c481677c9bad9a6c3073dc2b9ed6ce
This patch implements rollback operation task defined in ETSI NFV-SOL003
v3.3.1 5.4.15.
This patch supports rollback operation of existing task API, i.e
instantiate. Note that rollback operation of terminate is not supported.
Rollback operation of a task API which is added in the future
(ex. scale) will be implemented in the same patch
of implementing the API.
Functional tests will be provided with another patch.
Implements: blueprint support-nfv-solv3-error-handling
Change-Id: I3b2924287f7b30a85c250602a3f5ecbffd449a5e
Current Tacker repository contains .pylintrc, which is a configuration
file of Pylint [1].
[1] https://pylint.org/
However, it is not maintained for 8 years ago,
so it contains some out-of-date configurations
for current Pylint version.
This patch removes those out-of-date configurations,
and introduces some useful configurations for IDE integration.
Signed-off-by: Masaki UENO <masaki.ueno.up@hco.ntt.co.jp>
Change-Id: I9e09a6befef2ef22e09f1a0b0ed2a75bf173a4f6
This patch fixes a bug of making grant request of terminate v2 API.
There was a lack of consideration for a VDU port which was specified
by extLinkPorts of extVirtualLinks in InstantiateVnfRequest when the
vnf instance was instantiated.
Closes-Bug: #1952821
Change-Id: I9dde61ae8a3c9a12b1a89cf62e73a5ab34600882
The VIM registration fails in an environment where an admin-endpoint is
close even if a reachable public-endpoint is used in the VIM
configuration.
The cause of this problem is that the endpoint for the keystone API and
the endpoint for the authentication are different inside the keystone
client. The keystone client implicitly selects admin-endpoint for API
requests from service catalogs unless we specify an endpoint URL or
interface [1], i.e., the auth_url in the VIM configuration isn't used
for API requests.
This patch solves the above problem by specifying an endpoint URL when
creating a keystone client instance.
Note that specifying an interface can be a better solution, as the
keystone can provide different interfaces with the same endpoint URL.
However, to achieve this, we have to add a new field to the VIM
configuration for the interface, which makes a huge modification.
Thus, this patch doesn't take this solution.
Also, this patch includes a tiny refactoring on the OpenStack driver.
[1] d5cb761763/keystoneclient/httpclient.py (L251)
Change-Id: Ic743fadbd1ddd59ca6755949e03b77c8715be459
Closes-bug: #1920088
Signed-off-by: Hiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>
This patch implements retry operation task defined in ETSI NFV-SOL003
v3.3.1 5.4.14.
Basically retry operation is not task API specific. Thus retry
operation of a task API which is added in the future (ex. scale)
will be supported naturally.
Functional tests will be provided with another patch.
Implements: blueprint support-nfv-solv3-error-handling
Change-Id: I2717540f042882363cce3d1a0da22c71789a36cb
The error is occur on calling read/patch_xxx_scale API of kubernetes
python client when using manifest that has no namespace in Helm chart.
This patch fixes this problem by setting namespace to "default" if it
is an empty string or None.
Closes-Bug: #1953477
Change-Id: I5f5bc38c023bbe7674c7513e4a0609c217936595
python-aodhclient must be installed from the git code in order for Zuul
FT to succeed until the patch [1] fix is applied to it installed by pip.
[1] https://review.opendev.org/c/openstack/python-aodhclient/+/819393
This patch changes to use python-aodhclient from git repo in Zuul FT.
Change-Id: I2cf11c47ab64a29c72e3ccbbe4baa3c45c446364
This update is to add Fenix plugin in the example of `local.conf` for
Kubernetes.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I2a7c9c57e2f651057f1a3f170f34555d8ece02f5
This patch fixes some attributes of grant request for instantiate
and terminate of v2 API.
In the process of fixing bug #1949318 and adding UTs, some other
mistakes are found and fixed at the same time.
* fix number of STORAGE resource definitions of instantiate grant
request is not correct.
* fix extManagedVLs are included in VL resource definitions of
instantiate grant mistakenly.
* fix interpretation of vnfcCpInfo attributes is not correct when
making terminate grant request.
* fix an incorrect variable used to handle extManagedVirtualLinkInfo
when making terminate grant request. (fix bug #1949318)
Closes-Bug: #1949318
Change-Id: I61baaee8fec5bb2e1e954900dd2b9361ac594546
Usage guide for how to install Helm to Kubernetes Cluster and deploy
CNF using helm chart is added in user docs.
Change-Id: I62e73f1457741ad811a89ab08630ce133cad8837
A recent devstack change [1] has switched off the creation of an admin
endpoint for keystone, which we need. Create it again until we update
Tacker to stop using it.
And devstack patch [2] has stopped creating userrc_early and If we do
not use OS_CLOUD, we must override the --os-cloud option of the
openstack command.
So, this patch fixes to set default OS_CLOUD setting overridden.
And for UUID formatting checks in db/types.py, fix to use first
element for List, since value may be passed as a List.
[1] https://review.opendev.org/c/openstack/devstack/+/735472
[2] https://review.opendev.org/c/openstack/devstack/+/780417
Change-Id: I39be7c48aca4be9a4e0bcec6dc6fa45b11c623b3
SQLAlchemy 1.4.27 released on Nov 11, and tox-docs job error become
to occur since then.
`:ref:` attribute introduced from 1.4.27 in docstring of the parent
class of our TypeDecorator cannot be referred.
This patch fixes the error by excluding db/types.py from target of
sphinx-apidoc.
Change-Id: If7944774f2336d8f98124e9934da47b11801c607
Anyjson 0.3.3 is 9 years old project and is not installable on Python 3:
INFO:kolla.common.utils.tacker-base:Collecting anyjson>=0.3.3
INFO:kolla.common.utils.tacker-base: Downloading anyjson-0.3.3.tar.gz (8.3 kB)
INFO:kolla.common.utils.tacker-base:ESC[91m ERROR: Command errored out with exit status 1:
INFO:kolla.common.utils.tacker-base: command: /var/lib/kolla/venv/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-zkeekfya/anyjson_956fe77196244503b52f1d5b9cacb75f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-zkeekfya/anyjson_956fe77196244503b52f1d5b9cacb75f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-6n_kkxqa
INFO:kolla.common.utils.tacker-base: cwd: /tmp/pip-install-zkeekfya/anyjson_956fe77196244503b52f1d5b9cacb75f/
INFO:kolla.common.utils.tacker-base: Complete output (1 lines):
INFO:kolla.common.utils.tacker-base: error in anyjson setup command: use_2to3 is invalid.
INFO:kolla.common.utils.tacker-base: ----------------------------------------
And use of anyjson was dropped over 5 years ago:
commit aaeda502bb
Author: gong yong sheng <gong.yongsheng@99cloud.net>
Date: Tue Jun 7 13:48:39 2016 +0800
Use oslo serialization jsonutils
Change-Id: I081697d987fc7c2bcd4ae73b97aedc058c57a84f
Change-Id: Ic4ceea9461a4d7e2e7afb3d7df93e530f7cd1ac3
According to SOL005 v3.3.1 Table 9.4.2.3.1-1 [1], the HTTP response
shall include a "Location" HTTP header that contains the resource URI of
the individual VNF package resource.
In order to realize the above, this patch adds a Location header, which
includes a URL of a created VNF Package, to responses for `POST
{apiRoot}/vnfpkgm/{apiMajorVersion}/vnf_packages` requests.
Also, this patch removes unused arguments from methods in ViewBuilder.
[1] https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.03.01_60/gs_NFV-SOL005v030301p.pdf
Signed-off-by: Hiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>
Change-Id: I754afaaf910de0048f4f11e259c644b3e0baea99
Closes-Bug: #1915109
When scaling occurs during the heat cooldown, VNF is not actually
scaled but the scale_level value in the VNF information will change.
This bug happens because Heat does not return any error responses when
it cannot perform scaling action due to the cooldown, and thus Tacker
cannot detect a scaling failure.
To fix this bug, this patch changes the ``scale`` method of OpenStack
infra-driver to wait for scaling until cooldown ends.
Closes-Bug: #1925119
Change-Id: Ieca345d7e46e03756d34f7d00b37ebc9c25d8d8b
Signed-off-by: Hiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>
As the version of doc8 in upper-constraints.txt in requirements project
was changed to `0.9.0`, it's required to update the version in tacker.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: Ib41af0a9b6402d9c0644d5270ed4f532d01a0ece
When creating a duplicated subscription, according to spec SOL003,
the api should return 303 See Other instead of 201 Created.
To fix this error, the following things is done in this patch:
1.Fix the error when the database virtual field extracts
the value from json in table `vnf_lcm_filters`.
2.Fix the error of sql query statement when querying subscription.
3.The attribute VnfProductsFromProviders should be an array, not an
object. Fix this error in UT, FT and schemas.
4.Fix typos when writing "object" as "objects" in dict "_versions"
in vnf_lcm schemas.
5.Rewrite the throwing and catching of SeeOther exception of this
api to fix the following errors: SeeOther should be thrown instead
of Exception; the return body should be empty instead of
ProblemDetail; the return header should contain location instead
of link.
Closes-Bug: #1933169
Change-Id: I51c198d60001dba94dd369f495cecef526e79800
Add file to the reno documentation build to show release notes for
stable/xena.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/xena.
Sem-Ver: feature
Change-Id: I80feb85ac58a3ffe498f11560cf847975b0c5f63
Support deploying Kubernetes cluster VNF which has a storage server
with Cinder volume. This feature enables users to deploy CNF which
has PersistentVolume on it. The following changes are added for
MgmtDriver.
1.Create a storage server VM with Cinder volume.
2.Expose Cinder volume as NFS shared directories in the storage
server.
3.Register NFS shared directories as Kubernetes PersistentVolumes.
4.Install NFS client on newly created Master/Worker VMs in all LCM
operations.
Implements: blueprint pv-k8s-cluster
Change-Id: Iaab9b6393e6f2007c637f83a82de0d27cf9db257