[release-announce] tacker 3.0.0 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Wed May 13 11:19:57 UTC 2020


We are ecstatic to announce the release of:

tacker 3.0.0: OpenStack NFV Orchestration

This release is part of the ussuri release series.

The source is available from:

    https://opendev.org/openstack/tacker

Download the package from:

    https://tarballs.openstack.org/tacker/

Please report issues through:

    https://bugs.launchpad.net/tacker/+bugs

For more details, please see below.

Changes in tacker 2.0.0..3.0.0
------------------------------

ebaefbed Imported Translations from Zanata
c10dd3f1 Auth parameters for uploading vnf package from URI
5d97f8fa Fetch an on-boarded VNF package with HTTP_RANGE
0dd7595c Update TOX_CONSTRAINTS_FILE for stable/ussuri
10e982e1 Update .gitreview for stable/ussuri
4a2fd6c2 Update hacking for Python3
70ac63d8 Remove 'vnf_packages' key from vnf package list response
0210cb1d Adding Multi-Interface for Containerized VNF in Tacker
62813239 Support LCM operation with user data
3f5c8160 Support attribute filtering for GET /vnf_packages API
cfaa39d7 Add db support to filter vnf packages
9c74c42a Add schema to validate query parameter
7fb68fae Add filter rule engine to process filter query
12badc24 Add API documentation for vnflcm APIs
428096a2 Add functional tests for vnflcm APIs
840d7548 Add delete vnf instance API
31beaa32 Fix FT vnf package functional tests
298d089b Remove extensions from vnf package wsgi app
c45c877f Add list vnf instance API
cff8c756 Sychronize vnf action tasks
b4f357f2 Add heal vnf instance API
fbb38266 Add terminate vnf instance API
19ff0032 Add show vnf instance API
a1459062 Add instantiate vnf instance API
90a0b59a Multi-Interface for C-VNF User Guide
533dcd6b Set working directory in tacker conductor service
2779a38b Add create vnf instance API
aa3508fb Add version objects and db apis for vnf lcm
30fcfcc0 Add db script for vnf lcm changes
f03b615b Implement RestFul API to read VNFD of an on-boarded VNF package
848ab62a Fix upload vnf_package with single yaml file csar
55b96c51 Add unique constraint on vnfd_id column
dcbeac52 Add vnflcm support base framework
c74cad52 Add VNF package update API
067d0037 Fix the functional test devstack job
6bf9c073 Fix: Failing two unit tests due to heat-translator
bc353d80 Fix k8s features for pyhton3 support
98a67d5b Cleanup Python 2.7 support
3f3cee41 Support updating VNF parameters in tacker
c4cd7c80 Ensure to use python3 to install horizon
364ce692 Ping monitor ignores retry parameter
55319282 remove external dependency from devstack
33f92086 Delete vnf package if operationalState is DISABLED
93826207 Delete VNF should fail with 409 error
71658dc9 Drop python 2.7 support and testing
9dd0823c Support patch to fix window style line ending
8ee4d0d4 remove upper-constraints.txt from lower-const job
bdb2d52b Fix bug that causes InternalServerError in FT
3b184438 Fix assertTrue in verifying whether data type is list
c3263b83 Start README.rst with a better title
86cfa2af Fix bytestring bugs in Python3.7 unittest
83bc8468 Allow VNF package upload without policies
448eb618 Switch to Ussuri jobs
af4cdf08 Fix gate job for test_vnf_param_with_artifacts_image_tosca_template
b320839d Delete test_create_vnffg_pre() for Python3 unittest
85a51088 update manual_installation.rst for vnf package
61520ccc Imported Translations from Zanata
c90ba7d7 Update master for stable/train
4a4ce82a python2/3 cmpatible sorted function


Diffstat (except docs and test files)
-------------------------------------

.gitreview                                         |    1 +
.zuul.yaml                                         |   77 +-
README.rst                                         |    6 +-
api-ref/source/conf.py                             |    5 +-
api-ref/source/v1/index.rst                        |    1 +
api-ref/source/v1/parameters.yaml                  |   54 +
api-ref/source/v1/parameters_vnflcm.yaml           |  737 ++++++++++
.../vnf_packages/vnf-packages-patch-request.json   |    7 +
.../vnf_packages/vnf-packages-patch-response.json  |    6 +
.../vnflcm/create-vnf-instance-request.json        |    5 +
.../vnflcm/create-vnf-instance-response.json       |   19 +
.../samples/vnflcm/heal-vnf-instance-request.json  |    4 +
.../vnflcm/instantiate-vnf-instance-request.json   |   68 +
.../samples/vnflcm/list-vnf-instance-response.json |  175 +++
.../samples/vnflcm/show-vnf-instance-response.json |  173 +++
.../vnflcm/terminate-vnf-instance-request.json     |    4 +
.../v1/samples/vnfs/vnfs-delete-request.json       |    8 +
api-ref/source/v1/status.yaml                      |   16 +
api-ref/source/v1/vnf_packages.inc                 |  653 +++++----
api-ref/source/v1/vnflcm.inc                       |  527 +++++++
api-ref/source/v1/vnfs.inc                         |   14 +
devstack/lib/tacker                                |   61 +-
.../contributor/vnfd_template_description.rst      |   43 +-
etc/tacker/api-paste.ini                           |   13 +-
lower-constraints.txt                              |   24 +-
...-get-vnfpackages-response-d9211712cf419bef.yaml |   14 +
.../notes/drop-py-2-7-8db9ceef15903295.yaml        |    6 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |  547 --------
releasenotes/source/train.rst                      |    6 +
requirements.txt                                   |   11 +-
.../openwrt-x86-kvm_guest-combined-ext4.img.gz     |  Bin 0 -> 3915400 bytes
setup.cfg                                          |   11 +-
setup.py                                           |    8 -
tacker/api/api_common.py                           |   16 +-
tacker/api/common/__init__.py                      |    0
tacker/api/common/_filters.py                      |  403 ++++++
tacker/api/common/attribute_filter.py              |  259 ++++
tacker/api/schemas/vnf_lcm.py                      |  228 +++
tacker/api/schemas/vnf_packages.py                 |   31 +
tacker/api/v1/attributes.py                        |    4 +-
tacker/api/v1/base.py                              |   17 +-
tacker/api/validation/__init__.py                  |   40 +
tacker/api/validation/parameter_types.py           |  143 ++
tacker/api/validation/validators.py                |   53 +-
tacker/api/views/__init__.py                       |   92 ++
tacker/api/views/vnf_lcm.py                        |   75 +
tacker/api/views/vnf_packages.py                   |  137 +-
tacker/api/vnflcm/__init__.py                      |    0
tacker/api/vnflcm/v1/__init__.py                   |    0
tacker/api/vnflcm/v1/controller.py                 |  325 +++++
tacker/api/vnflcm/v1/router.py                     |   92 ++
tacker/api/vnfpkgm/v1/controller.py                |  359 ++++-
tacker/api/vnfpkgm/v1/router.py                    |   12 +-
tacker/cmd/eventlet/tacker_server.py               |    2 -
tacker/common/clients.py                           |   39 +
tacker/common/config.py                            |    2 +
tacker/common/coordination.py                      |  156 +++
tacker/common/csar_utils.py                        |   79 +-
tacker/common/driver_manager.py                    |    1 -
tacker/common/exceptions.py                        |   76 +
tacker/common/utils.py                             |  171 ++-
tacker/conductor/conductor_server.py               |  223 ++-
tacker/conductor/conductorrpc/vnf_lcm_rpc.py       |   62 +
tacker/conductor/conductorrpc/vnf_pkgm_rpc.py      |    9 +
tacker/conf/__init__.py                            |    4 +-
tacker/conf/coordination.py                        |   33 +
tacker/db/db_sqlalchemy/models.py                  |   81 +-
.../000632983ada_add_template_source_column.py     |    2 +
...ad3bbce1c18_create_of_network_service_tables.py |    2 +
.../0ae5b1ce3024_unique_constraint_name.py         |    2 +
.../versions/12a57080b277_add_service_db.py        |    2 +
.../versions/12a57080b278_alter_devices.py         |    2 +
.../versions/13c0e0661015_add_descrition_to_vnf.py |    2 +
...3ecc2dd6f7f_change_nullable_value_of_path_id.py |    2 +
.../versions/1c6b0d82afcd_servicevm_framework.py   |    2 +
.../versions/22f5385a3d3f_add_status_to_vims.py    |    2 +
.../versions/22f5385a3d4f_remove_proxydb.py        |    2 +
.../versions/22f5385a3d50_rename_devicedb.py       |    2 +
...24bec5f211c7_alter_value_in_deviceattributes.py |    2 +
.../2774a42c7163_remove_service_related.py         |    2 +
.../versions/2ff0a0e360f1_audit_support.py         |    2 +
...baeb8299_change_vim_shared_property_to_false.py |    2 +
.../354de64ba129_set_mandatory_columns_not_null.py |    2 +
...747cc26b9c6_add_support_vnffg_to_ns_database.py |    2 +
.../versions/4ee19c8a6d0a_audit_support_events.py  |    2 +
.../versions/507122918800_adds_vnffg.py            |    2 +
.../versions/5246a6bd410f_multisite_vim.py         |    2 +
.../5958429bcb3c_modify_datatype_of_value.py       |    2 +
.../5d490546290c_add_name_to_classifiers.py        |    2 +
...f88e86b35c7_make_vnfd_vnf_vim_name_mandatory.py |    2 +
.../versions/81ffa86020d_rpc_proxy.py              |    2 +
.../8f7145914cb0_remove_infra_driver_column.py     |    2 +
.../versions/941b5a6fff9e_enable_soft_delete.py    |    2 +
...975e28392888_add_unique_key_vnf_package_vnfd.py |   62 +
.../versions/985e28392890_add_vnflcm_db.py         |  109 ++
.../versions/9d425296f2c3_add_vnfpkgm_db.py        |    2 +
.../db/migration/alembic_migrations/versions/HEAD  |    2 +-
..._unique_constraint_on_vnf_packages_user_data.py |   40 +
.../acf941e54075_add_error_reason_to_device.py     |    2 +
...07673bb8654_set_status_type_tenant_id_length.py |    2 +
...256228ed37c_unique_constraint_on_name_and_id.py |    2 +
.../c7cde2f45f82_set_description_to_text.py        |    2 +
.../cd04a8335c18_mgmt_url_to_mgmt_ip_address.py    |    2 +
.../d2e39e01d540_add_size_to_vnfpackage.py         |   37 +
.../versions/d4f265e8eb9d_add_default_to_vim.py    |    2 +
...3093baf1_add_unique_constraint_on_deleted_at.py |    2 +
.../e8918cda6433_add_attributes_to_vnffg.py        |    2 +
...plate_source_status_to_vnffgtemplate_and_nsd.py |    2 +
...026327_add_default_onboarded_template_source.py |    2 +
...5c1c3b0f6b4_set_default_value_for_deleted_at.py |    2 +
.../versions/f958f58e5daa_uuid_consistency.py      |    6 +-
tacker/db/vnfm/vnfm_db.py                          |   47 +-
tacker/extensions/vnflcm.py                        |   31 +
tacker/extensions/vnfm.py                          |   13 +
tacker/glance_store/store.py                       |   61 +-
tacker/hacking/checks.py                           |   12 +-
tacker/keymgr/barbican_key_manager.py              |    8 +-
tacker/locale/de/LC_MESSAGES/tacker.po             |  133 +-
tacker/manager.py                                  |    8 +
tacker/nfvo/drivers/vim/openstack_driver.py        |   44 +-
tacker/nfvo/drivers/workflow/workflow_generator.py |    2 -
tacker/nfvo/nfvo_plugin.py                         |    4 +-
tacker/objects/__init__.py                         |    6 +
tacker/objects/base.py                             |   14 +
tacker/objects/fields.py                           |   58 +
tacker/objects/heal_vnf_request.py                 |   18 +-
tacker/objects/instantiate_vnf_req.py              |  570 ++++++++
tacker/objects/terminate_vnf_req.py                |   54 +
tacker/objects/vim_connection.py                   |   58 +
tacker/objects/vnf_deployment_flavour.py           |   19 +
tacker/objects/vnf_instance.py                     |  284 ++++
tacker/objects/vnf_instantiated_info.py            |  985 +++++++++++++
tacker/objects/vnf_package.py                      |  314 ++++-
tacker/objects/vnf_package_vnfd.py                 |   35 +-
tacker/objects/vnf_resources.py                    |  176 +++
tacker/objects/vnf_software_image.py               |   92 +-
tacker/policies/__init__.py                        |   56 +-
tacker/policies/vnf_lcm.py                         |  106 ++
tacker/policies/vnf_package.py                     |   31 +
tacker/policy.py                                   |    2 +-
tacker/service.py                                  |    2 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  204 +++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1468 ++++++++++++++++++++
.../Files/images/cirros-0.4.0-x86_64-disk.img      |  Bin 0 -> 12716032 bytes
.../Files/images/cirros-0.4.0-x86_64-disk.img      |    1 +
.../vnfd_helloworld_single.yaml                    | 1266 +++++++++++++++++
.../sample_lcm_with_user_data_df_simple.yaml       |   94 ++
.../sample_lcm_with_user_data_top.vnfd.yaml        |   31 +
.../sample_lcm_with_user_data_types.yaml           |   53 +
.../sample_lcm_with_user_data_invalid_hot.yaml     |   32 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data.py                      |   39 +
.../user_data_sample_non_dict/UserData/__init__.py |    0
.../UserData/lcm_user_data_non_dict.py             |   26 +
.../BaseHOT/sample_lcm_with_user_data_hot.yaml     |   32 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../user_data_sample_normal/UserData/__init__.py   |    0
.../UserData/lcm_user_data.py                      |   39 +
.../BaseHOT/sample_lcm_with_user_data_hot.yaml     |   32 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data_invalid_hot_param.py    |   39 +
.../BaseHOT/sample_lcm_with_user_data_hot.yaml     |   32 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data_invalid_script.py       |   28 +
.../BaseHOT/sample_lcm_with_user_data_hot.yaml     |   32 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../UserData/__init__.py                           |    0
.../BaseHOT/sample_lcm_with_user_data_hot.yaml     |   32 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data_sleeping.py             |   51 +
.../vnflcm1/Definitions/helloworld3_df_simple.yaml |  202 +++
.../vnflcm1/Definitions/helloworld3_top.vnfd.yaml  |   31 +
.../nfv/vnflcm1/Definitions/helloworld3_types.yaml |   53 +
.../etsi/nfv/vnflcm1/TOSCA-Metadata/TOSCA.meta     |    7 +
.../vnflcm2/Definitions/helloworld3_df_simple.yaml |  193 +++
.../vnflcm2/Definitions/helloworld3_top.vnfd.yaml  |   31 +
.../nfv/vnflcm2/Definitions/helloworld3_types.yaml |   53 +
.../etsi/nfv/vnflcm2/TOSCA-Metadata/TOSCA.meta     |    7 +
.../Definitions/helloworld3.vnfd.tosca.yaml        |   32 +
.../nfv/vnflcm3/Definitions/helloworld3VNF.yaml    |   53 +
.../Definitions/helloworld3simple.vnfd.tosca.yaml  |  129 ++
.../etsi/nfv/vnflcm3/TOSCA-Metadata/TOSCA.meta     |    7 +
.../Definitions/helloworld3_df_simple.yaml         |  275 ++++
.../vnfpkgm1/Definitions/helloworld3_top.vnfd.yaml |   31 +
.../vnfpkgm1/Definitions/helloworld3_types.yaml    |   53 +
.../etsi/nfv/vnfpkgm1/TOSCA-Metadata/TOSCA.meta    |    7 +
.../Definitions/helloworld3_df_simple.yaml         |  275 ++++
.../vnfpkgm2/Definitions/helloworld3_top.vnfd.yaml |   31 +
.../vnfpkgm2/Definitions/helloworld3_types.yaml    |   53 +
.../etsi/nfv/vnfpkgm2/TOSCA-Metadata/TOSCA.meta    |    7 +
.../instantiate_vnf_request_lcm_userdata.json      |   34 +
.../samples/sample-tosca-vnf-update-values.yaml    |    3 +
.../sample_vnf_package_csar_with_policy.zip        |  Bin 0 -> 12190368 bytes
...sample_vnf_package_csar_with_short_notation.zip |  Bin 0 -> 17751 bytes
.../sample_vnf_package_csar_without_policy.zip     |  Bin 0 -> 12189925 bytes
.../samples/sample_vnfpkg_no_meta_single_vnfd.zip  |  Bin 0 -> 9457 bytes
.../vnflcm/test_vnf_instance_with_user_data.py     |  501 +++++++
.../conductor/conductorrpc/test_vnf_pkgm_rpc.py    |  177 +--
.../unit/objects/test_terminate_vnf_request.py     |   51 +
.../unit/objects/test_vnf_instantiated_info.py     |  278 ++++
.../etsi_nfv/etsi_nfv_sol001_common_types.yaml     |  202 +++
.../data/etsi_nfv/etsi_nfv_sol001_vnfd_types.yaml  | 1352 ++++++++++++++++++
.../etsi_nfv/hot/hot_generate_hot_from_tosca.yaml  |   65 +
.../hot_generate_hot_from_tosca_with_scaling.yaml  |   61 +
.../etsi_nfv/hot/scaling/worker_instance.hot.yaml  |   41 +
.../etsi_nfv/tosca_generate_hot_from_tosca.yaml    |  115 ++
...tosca_generate_hot_from_tosca_parser_error.yaml |   16 +
...a_generate_hot_from_tosca_translator_error.yaml |   48 +
..._generate_hot_from_tosca_with_params_error.yaml |  197 +++
...tosca_generate_hot_from_tosca_with_scaling.yaml |  183 +++
...t_from_tosca_with_scaling_invalid_inst_req.yaml |  105 ++
...rom_tosca_with_substitution_mappings_error.yaml |  197 +++
.../data/etsi_nfv/tosca_params_error.yaml          |    3 +
.../openstack/data/hot_alarm_scale_custom.yaml     |    2 +-
.../infra_drivers/openstack/data/hot_data.yaml     |   27 +
.../openstack/data/hot_scale_custom.yaml           |    2 +-
.../infra_drivers/openstack/data/param_data.yaml   |    2 +
.../openstack/data/test_tosca_cvnf.yaml            |   37 +
.../openstack/data/test_tosca_openwrt_param.yaml   |   44 +
.../openstack/data/update_invalid_param_data.yaml  |    2 +
.../openstack/data/update_new_param_data.yaml      |    3 +
.../openstack/data/update_param_data.yaml          |    2 +
.../infra_drivers/openstack/fixture_data/client.py |  137 +-
.../openstack/fixture_data/fixture_data_utils.py   |  272 +++-
.../openstack/test_etsi_translate_template.py      |  297 ++++
.../vnfm/infra_drivers/openstack/test_openstack.py |   90 +-
.../openstack/test_openstack_driver.py             | 1242 ++++++++++++++++-
.../unit/vnfm/lcm_user_data/utils/__init__.py      |    0
.../unit/vnfm/lcm_user_data/utils/test_utils.py    |  192 +++
.../unit/vnfm/monitor_drivers/ping/test_ping.py    |   40 +-
tacker/tosca/utils.py                              |  447 +++++-
tacker/vnflcm/__init__.py                          |    0
tacker/vnflcm/abstract_driver.py                   |   44 +
tacker/vnflcm/utils.py                             |  756 ++++++++++
tacker/vnflcm/vnflcm_driver.py                     |  426 ++++++
tacker/vnfm/infra_drivers/abstract_driver.py       |   60 +
.../kubernetes/k8s/tosca_kube_object.py            |   11 +-
.../kubernetes/k8s/translate_inputs.py             |   27 +-
.../kubernetes/k8s/translate_outputs.py            |    9 +-
.../infra_drivers/kubernetes/kubernetes_driver.py  |   28 +
tacker/vnfm/infra_drivers/noop.py                  |   28 +
.../vnfm/infra_drivers/openstack/glance_client.py  |   63 +
tacker/vnfm/infra_drivers/openstack/heat_client.py |   23 +-
tacker/vnfm/infra_drivers/openstack/openstack.py   |  701 +++++++++-
.../infra_drivers/openstack/translate_template.py  |   65 +-
tacker/vnfm/lcm_user_data/__init__.py              |    0
tacker/vnfm/lcm_user_data/abstract_user_data.py    |   30 +
tacker/vnfm/lcm_user_data/constants.py             |   14 +
tacker/vnfm/lcm_user_data/utils.py                 |  172 +++
tacker/vnfm/monitor.py                             |    7 +-
.../vnfm/monitor_drivers/ceilometer/ceilometer.py  |    1 +
tacker/vnfm/monitor_drivers/ping/ping.py           |   38 +-
tacker/vnfm/monitor_drivers/zabbix/zabbix.py       |   16 +-
tacker/vnfm/plugin.py                              |   42 +-
tacker/vnfm/vim_client.py                          |    4 +-
tacker/wsgi.py                                     |   25 +-
test-requirements.txt                              |    6 +-
tools/install_venv.py                              |    3 +-
tools/test-setup-default-vim.sh                    |    1 -
tox.ini                                            |   33 +-
321 files changed, 30315 insertions(+), 1979 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index c1610336..4bf5861b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13 +13 @@ requests>=2.14.2 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.0.0 # MIT
@@ -17 +17,2 @@ netaddr>=0.7.18 # BSD
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+SQLAlchemy>=1.3.0 # MIT
+sqlalchemy-filters>=0.10.0
@@ -29 +30 @@ oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=5.29.0 # Apache-2.0
+oslo.messaging>=9.3.0 # Apache-2.0
@@ -39,0 +41 @@ openstackdocstheme>=1.20.0 # Apache-2.0
+openstacksdk>=0.44.0 # Apache-2.0
@@ -43 +45 @@ tosca-parser>=1.6.0 # Apache-2.0
-heat-translator>=1.3.1 # Apache-2.0
+heat-translator>=2.0.0 # Apache-2.0
@@ -51,0 +54 @@ setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.
+tooz>=1.58.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 6d15758a..7a611181 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11,2 +11,2 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-mock>=2.0.0 # BSD
+hacking>=3.0,<3.1.0 # Apache-2.0
+mock>=3.0.0 # BSD
@@ -22 +22 @@ python-blazarclient>=1.0.1 # Apache-2.0
-requests-mock>=1.2.0 # Apache-2.0
\ No newline at end of file
+requests-mock>=1.2.0 # Apache-2.0






More information about the Release-announce mailing list