Support container based VNF AutoHeal and AutoScale operation with
External Monitoring Tools.
Add the Fault Management interfaces and CLI to support AutoHeal.
Add the Performance Management interfaces and CLI to support
AutoScale. The Fault Management and Performance Management
interfaces are based on ETSI NFV-SOL 002 v3.3.1 and ETSI NFV-SOL
003 v3.3.1, which are Version "2.0.0" API of Tacker. Add the
Prometheus Plugin that has a interface between tacker and the
External Monitoring Tool.
Implements: blueprint support-auto-lcm
Change-Id: I7023a72b73f17f3746c74d311919497c7c4e8b3f
This patch enables you to receive all records for target list
commands at once even if Tacker's server paginates them.
Target commands are below.
- openstack vnflcm list
- openstack vnflcm op list
- openstack vnflcm subsc list
* As for the following command, it will be supported after
implementing pagination feature in Tacker's server.
- openstack vnf package list
Implements: blueprint paging-query-result
Change-Id: I8e5c9bdd99b9c1e45aef8aa1e74bdbbfdd7c5c89
If the `extra` parameter is present in the config-file specified
when the 'openstack vim register' command is executed,
the data is sent to the tacker.
Implements: blueprint remove-cnf-restriction
Change-Id: I13420945f7d4f81f48a5be7f8f92a0635fbef18a
This patch adds openid auth info settings support when calling
vim register/update.
Implements: blueprint support-openid-k8s-vim
Change-Id: Id267050ac7adb349f562477dfc7aa6a53188b4cc
This patch supports CLI of vnflcm subscriptions APIs.
They are as follows.
* vnflcm subsc create
* vnflcm subsc delete
* vnflcm subsc list
* vnflcm subsc show
The output message of "vnflcm delete" was also modified
to match "vnflcm subsc delete".
Implements: blueprint support-nfv-solv3-subscriptions
Implements: blueprint support-etsi-nfv-specs
Change-Id: I9a839a3d131afc80fec0c2bbaa30443798117e0d
This patch supports CLI of vnflcm v2 APIs which are added in Yoga
release.
They are as follows.
* vnflcm update
* vnflcm scale
* vnflcm heal
* vnflcm change-ext-conn
* vnflcm op fail
* vnflcm op retry
* vnflcm op rollback
They are common with v1 except heal. An optional parameter
'--additional-param-file' is added to heal CLI.
Implements: blueprint support-nfv-solv3-heal-vnf
Implements: blueprint support-nfv-solv3-change-external-connectivity
Implements: blueprint support-nfv-solv3-modify-vnf
Implements: blueprint support-nfv-solv3-scale-vnf
Implements: blueprint support-nfv-solv3-error-handling
Change-Id: If4acd9c4d35ce7a5bf6c23db1a8238654d536c87
Usage message of all cli commands of tacker is constructed by
argument parser by default. It includes optional parameter
first and insert mandatory parameter at end.
All cli commands are implemented with this design only
except heal cli.
Heal cli is a special case in which optional parameter is
coming at end and mandatory parameter is coming before optional.
To fix this issue usage parameter of argument parser is set
in heal cli.
Closes-Bug: #1954744
Change-Id: I3b1d04df210ad07d4b9a99f300017d49e2b56f0b
"vnflcm op list" with "--exclude-fields" is not
excluding parameters from CLI result.
Closes-Bug: 1953377
Change-Id: If47beccfbab4b85173bbe159905d0605e721cedd
Add version '2' for support version of --os-tacker-api-version to
'openstack vnflcm' CLI.
If '--os-tacker-api-version 2' is specified, REST API url
'/vnflcm/v2' is used instead of '/vnflcm/v1'.
New CLI 'openstack vnflcm versions' is added too.
Implements: blueprint multi-version-api
Change-Id: I256a4010043d0b84ffe43b055c6a6a67a2d5d661
The testtools package removed safe_hasattr in version 2.5.0 [1].
Since it is only used in two unit tests, let's replace it with the
built-in hasattr.
[1] - https://github.com/testing-cabal/testtools/blob/2.5.0/NEWS#L31-L34
Change-Id: I57be2d06efe8913805069150bd3f884322a78a42
The use of `yaml.load` without Loader is deprecated and
considered unsafe.
The warning notice:
/opt/stack/python-tackerclient/tackerclient/tacker/v1_0/nfvo/vim.py:
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated,
as the default Loader is unsafe.
Please read https://msg.pyyaml.org/load for full details.
config_param = yaml.load(config_yaml)
This change adds (Loader=yaml.SafeLoader) to remove the warning.
Change-Id: Idc77d855b41801777d57cfe92d1c448b6e72feaa
This patch will resolve this issue and display the parameter
vnfConfigurableProperties in Query VNF. This parameter will be visible
in output of CLI like "openstack vnflcm show".
Closes-Bug: #1930571
Change-Id: I67b9bf854000ae52d2e1df40e4edf437713162b5
The assertItemsEqual method has been removed in Python 3.3 [1] but
it was kept alive by unittest2, imported by testtools. For better
compatibility, change to assertCountEqual.
[1] https://bugs.python.org/issue17866
Change-Id: Iea76915f25eb2e505750d509bdd06758afe324de
The unit test 'tackerclient.tests.unit.osc.v1.test_vnflcm_op_occs.
TestListVnfLcmOp.test_take_action_with_filter' is failing with below
error message,
DEBUG: TypeError: Object of type 'FormatComplexDataColumn' is not
JSON serializable
Background:
In class TestListVnfLcmOp definition, "create_vnflcm_op_occs" function
is called and list of fake vnflcm op occs dictionary is store in
vnflcm_op_occs_obj.
Now this dictionary is used in two unit test cases "test_take_action"
and "test_take_action_with_filter".
In order to evaluate test results, in "test_take_action" test case,
"get_vnflcm_op_occ_data" function is called using "vnflcm_op_occs_obj"
which appends the data in dictionary.
Later this dictionary "vnflcm_op_occs_obj" is again used in
"test_take_action_with_filter".
Implementation:
This patch creates a separate list of fake vnflcm op occs dictionary for
both the test cases.
This issue has been impacting below reviews as well,
[1] https://review.opendev.org/c/openstack/python-tackerclient/+/636893
[2] https://review.opendev.org/c/openstack/python-tackerclient/+/781314
Closes-Bug: #1919350
Change-Id: I0d62f77cf5d1e9ec0b0a7c404abab83f97b708ba
Add ``openstack vnflcm op list`` to python-tackerclient.
This command can execute getting the list of VNF LCM
Operation Occurrences. User can specify filters for more
specific results.
Note:
- Filtering for the following attributes:
operationParams, error, resourceChanges and
changedInfo is only limited to the parent
attribute. Currently, child attributes/nested
attributes are not searchable.
Implements: blueprint support-fundamental-lcm
Spec: https://specs.openstack.org/openstack/tacker-specs/specs/wallaby/support-fundamental-vnf-lcm-based-on-ETSI-NFV.html
Change-Id: Ie0b3399946d2a705011269025102d9380102ca92
In Victoria release, the error handling of non-existing VNF package
was modified, please refer to [1].
On passing a non-existing vnf package uuid to "vnf package upload"
command, the tacker server sends an HTTP response with "Content-Type"
header as "application/problem+json" and the reason for a failure
described in the JSON problem details object.
This patch extracts the ETSI error message in method
exception_handler_v10.
Fixes the issue and now it will output below error message:
$ openstack vnf package upload --path sample_vnf_pkg.zip dummy-id
Can not find requested vnf package: dummy-id
Note: This bug was earlier address in Ussuri release, please refer [2].
[1] https://review.opendev.org/c/openstack/tacker/+/747678/37/tacker/api/vnfpkgm/v1/controller.py
[2] https://review.opendev.org/c/openstack/python-tackerclient/+/688886
Co-Authored-By: Wataru Juso w-juso@nec.com
Closes-Bug: #1847726
Change-Id: I25e1bdc32e0b91bbe02b82f79918c02b98e5f110
In python 3, all strings are considered as unicode string.
This patch drops the explicit unicode literal (u'...')
or (u"..") appearances from the unicode strings.
Note: The scope of the patch is to drop unicode literal prefix
from python source code files, documentation and comment are overlook.
Co-Authored-By: Manpreet Kaur kaurmanpreet2620@gmail.com
Change-Id: I5316037871109838a03ff4561b7b38dcc56bc447
Scale command cannot be executed without '--additional-param-file'
option, because there is a problem with branch process. Modify branch
process when using this parameter.
And, I uniform cardinality mismatches of specification definition [1]
in some arguments are resolved. This change has no impact of the order
of setting.
[1]https://specs.openstack.org/openstack/tacker-specs/specs/victoria/support-scale-api-based-on-etsi-nfv-sol.html
Closes-Bug: #1903280
Change-Id: I1dd2c71760112982abd2b4b7da6dbaafd7077614
This update is to drop all of six support to move
Closes-bug: #1900389
Change-Id: Ia6c61751203e98d432344dc9a52fe65bdb062af0
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
The description of the "openstack vnf package artifact download --help"
command is incorrect.Modify VNF Package or VNFD data to VNF Package
artifact file data.
Change-Id: Ib70efb7eefdb6eacea24dec67bb4ff996b6178d3
Closes-Bug: #1901103
Currently in tacker, deleting the NS that already exist
has a problem like below Closes-Bug #1892151.
It has positional arguments error with command:
openstack ns delete <NS> (--force)
tacker ns-delete <NS> --force
because of client interface problem, so correct the
client's pyhton function delete_ns()
Change-Id: I7e100b065dbfb4503a5a45b10d3a962a4af36d76
Closes-Bug: #1892151
Currently in tacker, updating the VNFFG that already exist
has a problem like below Closes-Bug #1894945. To fix it,
add argument of '--param-file' and it works properly
Change-Id: I3f71c187fade9cd8b69a7131f274872975adf17c
Closes-Bug: #1894945
Fix some exception messages because some exception messages are not
outputed as expected.
In addition, the codes that seems to improve readability by explicitly
specifying the arguments are also modified.
Change-Id: I425d15ea9f5a3d0b6132ffd03cb577e583239c3a
Closes-Bug: #1881510
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.
Change-Id: I1bae5d2d97304b81588ce059916326e1117136e3
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Co-Authored-By: Hiroo Kitamura <hiroo.kitamura@ntt-at.co.jp>