tacker 4.0.0 (victoria)
We jubilantly announce the release of: tacker 4.0.0: OpenStack NFV Orchestration This release is part of the victoria 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. 4.0.0 ^^^^^ Prelude ******* This release contains the new features based on ETSI NFV specifications. The REST API and data models in ETSI NFV-SOL documents are added: ETSI NFV-SOL003 v2.6.1 VNF Lifecycle Management * Scale VNF * Update VNF * Rollback VNF ETSI NFV-SOL005 v2.6.1 * Fetch VNF Package Artifacts Also, the support for Kubernetes VIM is extended to use ETSI NFV-SOL based operations. The major version of resources such as Deployment, DaemonSet, StatefulSet, and ReplicaSet can be deployed as VNF with Instantiate VNF operation. New Features ************ * Add new RESTful APIs for *Scale VNF*, *Update VNF*, and *Rollback VNF* operation based on ETSI NFV specifications. * Add new RESTful APIs for subscriptions and notifications based on ETSI NFV specifications. The client can use these resource to subscribe to notifications related to VNF lifecycle management, and to query its subscriptions. * Set *vnfPkgId* to related APIs in order to expand a wide range of NFV related equipments. See the spec for more details. (https://opendev.org/openstack/tacker- specs/src/branch/master/specs/victoria/enhancement_enhance-vnf-lcm- api-support.rst) * Add following ETSI NFV SOL003 specification compliant operations to cooperate with 3rd-Party NFVOs as VNFM. * VNF package management interface to obtain VNF package information * Granting interface to allow the VNFM to request a grant for authorization of a VNF lifecycle operation. * Adds Container based VNF support with ESTI NFV-SOL003 v2.6.1 VNF Lifecycle Management. Users can create, instantiate, terminate, and delete VNF on Kubernetes VIM. The Kubernetes resource files are available as VNFD and uploaded as a part of VNF Package. Changes in tacker 3.0.0.0rc1..4.0.0 ----------------------------------- e4a7d9b7 Add releasenote for ETSI NFV specs 3b806e4c Add releasenote for CNF support cd5f39d2 Improve redundant test code of NFVO client ebc01b02 Change of Additional Properties on LCM operation dbe0e242 Add vimConnectionId in Type:ResourceHandle 7c62f821 Fix for the failure in Package Upload c7020042 Support Rollback of LCM Resource afa192c9 Support for grant request with Synchronous response 484b3972 Support scaling operations for VNF based on ETSI d3aedac1 Support for VNF Package Modify ab9ad49b Support of version 2.4.1 on Modify VNF 2858741b Support VNF update operations based on ETSI NFV f5720b4e Support Additional common function of FT 3795395a Fix for Multi BaseHot VNF cannot be instantiated e72a66bb Support flow of Getting VNF package b7321d20 Extend FT timeout period a2b824cd Support of Server/Basic certification in OAuth2.0 98680c95 Support of OAuth2.0 1c72c083 Support a judgement of NFVO operation condition 6bf70be9 Support Flow of the Get Operation Status 7e418376 Support LCM notifications for VNF based on ETSI 401625ea Support Subscription for LCM notifications by ETSI df15a6df Support Additional Parameters for List VNF 5f562fcc Implementation CNF with VNFM and CISM in Tacker 7e49a141 Support attribute filtering for List VNF c8ed6760 Update kolla install docs for CentOS8 e8c6f191 Support of version 2.4.1 on List VNF Request fdbdbd64 Support of version 2.4.1 on Query VNF 94ef7f75 Support API enhancement for Create VNF 059d7103 Support of version 2.4.1 on Create VNF request 96ca4348 Running the VNF LCM instantiate using the sample vnf package fails 3962c23a Implementation Fenix plugin in Tacker aee1a048 Fix: Remove wrong constraint in vnf_package_vnfd e1a991a0 Add docs of VNF Package and VNFD with ETSI NFV-SOL f3e0c743 Remove obsolete files and the unused coding style modules de0eb4e6 Add note about not use docker on CentOS8 7921dbe9 Fix l-c testing for Ubuntu Focal (py38) 439bb1f9 Implementation Artifacts support in Tacker 4c0e2582 Update TOX_CONSTRAINTS_FILE for stable/victoria aa10c7fd Update .gitreview for stable/victoria 959da510 Temporarily remove ceilometer install 49372c75 Add CLI docs for ETSI-based and Legacy Tacker 7b9a074b [goal] Migrate testing to ubuntu focal 2e34c323 Fix miscellaneous errors in Manual Installation bd8084e0 Add introduction and architecture doc 054b775c Fix rfc3986.is_valid_uri deprecation warnings ef7bc616 Revise docstring of convert case styles methods 6e9a12de Fix broken link in VNF Component Usage Guide 073f293c Fix for old links in Tacker WSGI/HTTP API layer 841756d7 Tacker documents trivial fix 1ee08945 Delete BOM <U+FEFF> from test yaml files 2274c780 Fix: flavour_description is not updated when instantiating 64cc7f7e Revise installation guides fa373795 Unexpected update in setup script for functional test b4c4511c Fix for incorrect link. 9f46fd75 Fix for broken link 994f3f36 Cannot wait more than 10 minutes during VNF create 362b3006 Fix: Instantiation fails with single VNFD ad686ab8 Fix failed test for creating vnf image 9c7172c9 Add py38 as a runtime in tox.ini 621a13af Use API apps/v1 to create deployment 2e7813d0 Stop to use the __future__ module. a3649b68 Fix many ResourceWarning messages in tox 02d86ba4 Switch to newer openstackdocstheme and reno versions 38a171cc Cap jsonschema 3.2.0 as the minimal version fb45f278 Improve VNF packages API documentation d0ae0ef2 Modify VNF packages API documentation 2921e47e Api documentation about hashing algorithm 1d1b2a7e Improve log message when image verification failed 46bb7401 Avoid use of zip files in unit tests 42a9456c Add informative message to migration DB script for vnf packages eae169a0 Add missing white spaces between words 527ccfc3 trivial: Remove unused inner functions of UT and FT 41a21bc8 Use unittest.mock instead of third party mock e9cf4b6b Fix missing print format in log messages aff272b3 Support short notation for artifacts definition 4ad520bc Avoid using zip file in unit tests cdada88c Add UT instead of deleting FT related with Mistral e99738ff Revert vim shell script file mode from 644 to 755 ecba8657 ExecStart path in the systemd file is not correct ce1bf5d8 Fix hacking min version to 3.0.1 ccf89cb1 Cleanup deprecated iteritems of dict a906a14a [ussuri][goal] Update contributor documentation 831f11e3 Add py38 package metadata b38ed560 Fix create custom Mistral action 27252ee7 Imported Translations from Zanata 95bce292 Fix : Register vim if use_barbican is disabled 0be03680 Cleanup of .keys() ab50e471 Auth parameters for uploading vnf package from URI d3cc8213 Fetch an on-boarded VNF package with HTTP_RANGE e6b9ed76 Add Python3 victoria unit tests 273a3d29 Update master for stable/ussuri 45c52294 Delete remaining VNFD in functinal test Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .zuul.yaml | 37 +- CONTRIBUTING.rst | 73 +- api-ref/source/conf.py | 7 +- api-ref/source/v1/parameters.yaml | 172 -- api-ref/source/v1/parameters_vnf_packages.yaml | 199 ++ api-ref/source/v1/parameters_vnflcm.yaml | 786 +++++++ .../vnflcm/create-subscription-request.json | 8 + .../vnflcm/create-subscription-response.json | 14 + .../samples/vnflcm/list-subscription-response.json | 36 + .../vnflcm/modify-vnf-instance-request.json | 3 + .../v1/samples/vnflcm/notification-request.json | 100 + .../samples/vnflcm/scale-vnf-instance-request.json | 5 + .../samples/vnflcm/show-subscription-response.json | 14 + .../show-vnflcm-operation-occurrence-response.json | 70 + api-ref/source/v1/status.yaml | 16 + api-ref/source/v1/vnf_packages.inc | 129 +- api-ref/source/v1/vnflcm.inc | 574 ++++- babel.cfg | 2 - devstack/lib/tacker | 26 +- devstack/local.conf.example | 4 + devstack/plugin.sh | 5 + devstack/settings | 4 +- .../contributor/vnfd_template_description.rst | 4 +- .../contributor/vnffgd_template_description.rst | 4 +- .../reference/mistral_workflows_usage_guide.rst | 2 +- .../reference/reservation_policy_usage_guide.rst | 2 +- etc/ceilometer/maintenance_event_types.yaml | 34 + lower-constraints.txt | 29 +- ...bp-support-etsi-nfv-specs-1f603efcf6d1599e.yaml | 25 + ...d-k8s-support-with-sol003-c63760c65e5a38ae.yaml | 23 + ...rt-notation-for-artifacts-8e7781fedcc8df33.yaml | 6 + releasenotes/source/conf.py | 8 +- releasenotes/source/index.rst | 1 + releasenotes/source/ussuri.rst | 6 + requirements.txt | 15 +- roles/setup-default-vim/tasks/main.yaml | 48 +- roles/show-net-setup/tasks/main.yaml | 8 +- samples/vim/vim_config.yaml | 4 +- .../Definitions/etsi_nfv_sol001_common_types.yaml | 202 ++ .../Definitions/etsi_nfv_sol001_vnfd_types.yaml | 1465 +++++++++++++ .../Definitions/helloworld3_df_simple.yaml | 280 +++ .../Definitions/helloworld3_top.vnfd.yaml | 31 + .../Definitions/helloworld3_types.yaml | 65 + .../Files/images/cirros-0.4.0-x86_64-disk.img | 1 + samples/vnf_packages/README | 10 + samples/vnf_packages/TOSCA-Metadata/TOSCA.meta | 7 + samples/vnf_packages/sample_vnf_pkg.zip | Bin 18104 -> 0 bytes setup.cfg | 3 + tacker/alarm_receiver.py | 35 +- tacker/api/api_common.py | 7 +- tacker/api/extensions.py | 4 +- tacker/api/schemas/vnf_lcm.py | 74 +- tacker/api/schemas/vnf_packages.py | 8 +- tacker/api/v1/base.py | 2 +- tacker/api/validation/parameter_types.py | 5 +- tacker/api/validation/validators.py | 12 +- tacker/api/views/vnf_lcm.py | 188 +- tacker/api/vnflcm/v1/controller.py | 987 ++++++++- tacker/api/vnflcm/v1/router.py | 40 +- tacker/api/vnflcm/v1/sync_resource.py | 138 ++ tacker/api/vnfpkgm/v1/controller.py | 333 ++- tacker/api/vnfpkgm/v1/router.py | 23 +- tacker/auth.py | 474 +++++ tacker/common/container/kubernetes_utils.py | 65 + tacker/common/csar_utils.py | 275 ++- tacker/common/exceptions.py | 45 + tacker/common/utils.py | 20 + tacker/conductor/conductor_server.py | 1601 +++++++++++++- tacker/conductor/conductorrpc/vnf_lcm_rpc.py | 79 +- tacker/conf/__init__.py | 2 + tacker/conf/vnf_lcm.py | 47 + tacker/conf/vnf_package.py | 23 +- tacker/db/db_base.py | 13 +- tacker/db/db_sqlalchemy/models.py | 122 +- .../versions/2c5211036579_add_placement_table.py | 52 + .../745e3e9fe5e2_add_vnf_metadata_to_vnflcm_db.py | 39 + ...3e0d0_add_vnfc_info_to_instantiated_vnf_info.py | 39 + ...975e28392888_add_unique_key_vnf_package_vnfd.py | 12 + .../versions/9d425296f2c3_add_vnfpkgm_db.py | 2 +- .../db/migration/alembic_migrations/versions/HEAD | 2 +- .../aaf461c8844c_change_type_for_vnf_resources.py | 42 + .../c47a733f425a_add_vnflcm_subscription.py | 92 + .../d2e39e01d540_add_size_to_vnfpackage.py | 37 + ...e06fbdc90a32_add_db_tables_for_add_artifacts.py | 55 + .../versions/ee98bbc0789d_add_scale_column.py | 35 + ...f9bc96967462_add_vnf_pkg_id_to_vnf_instances.py | 40 + tacker/db/migration/cli.py | 4 +- tacker/db/migration/purge_tables.py | 8 +- tacker/db/nfvo/ns_db.py | 3 +- tacker/db/nfvo/vnffg_db.py | 11 +- tacker/db/vnfm/vnfm_db.py | 194 ++ tacker/extensions/vnfm.py | 49 + tacker/glance_store/store.py | 61 +- tacker/locale/de/LC_MESSAGES/tacker.po | 12 +- tacker/nfvo/drivers/vim/openstack_driver.py | 5 +- tacker/nfvo/drivers/workflow/workflow_generator.py | 6 +- tacker/nfvo/nfvo_plugin.py | 2 +- .../workflows/vim_monitor/vim_monitor_utils.py | 1 + .../nfvo/workflows/vim_monitor/vim_ping_action.py | 6 +- tacker/objects/__init__.py | 11 + tacker/objects/fields.py | 89 + tacker/objects/grant.py | 287 +++ tacker/objects/grant_request.py | 407 ++++ tacker/objects/heal_vnf_request.py | 4 +- tacker/objects/instantiate_vnf_req.py | 41 +- tacker/objects/scale_vnf_request.py | 52 + tacker/objects/terminate_vnf_req.py | 8 +- tacker/objects/vim_connection.py | 9 +- tacker/objects/vnf.py | 111 + tacker/objects/vnf_artifact.py | 208 ++ tacker/objects/vnf_deployment_flavour.py | 4 +- tacker/objects/vnf_instance.py | 305 ++- tacker/objects/vnf_instantiated_info.py | 217 +- tacker/objects/vnf_lcm_op_occs.py | 713 +++++++ tacker/objects/vnf_lcm_subscriptions.py | 344 +++ tacker/objects/vnf_package.py | 71 +- tacker/objects/vnf_package_vnfd.py | 131 +- tacker/objects/vnfd.py | 132 ++ tacker/objects/vnfd_attribute.py | 124 ++ tacker/plugins/common/constants.py | 19 +- tacker/plugins/fenix.py | 456 ++++ tacker/policies/vnf_lcm.py | 44 + tacker/policies/vnf_package.py | 21 + .../samples/csar_invalid_instantiation_level.zip | Bin 16848 -> 0 bytes .../csar_with_flavour_info_in_main_template.zip | Bin 16922 -> 0 bytes ...ar_with_invalid_default_instantiation_level.zip | Bin 16815 -> 0 bytes ...with_missing_sw_image_data_in_main_template.zip | Bin 16371 -> 0 bytes .../samples/csar_with_multiple_sw_image_data.zip | Bin 17056 -> 0 bytes .../etc/samples/csar_without_flavour_info.zip | Bin 16624 -> 0 bytes .../csar_without_flavour_info_in_main_template.zip | Bin 16208 -> 0 bytes .../samples/csar_without_instantiation_level.zip | Bin 16716 -> 0 bytes .../etc/samples/csar_without_sw_image_data.zip | Bin 16911 -> 0 bytes .../Definitions/etsi_nfv_sol001_common_types.yaml | 54 +- .../Definitions/etsi_nfv_sol001_vnfd_types.yaml | 263 ++- .../Files/images/cirros-0.4.0-x86_64-disk.img | Bin .../nfv/common/Files/kubernetes/deployment.yaml | 48 + .../etc/samples/etsi/nfv/common/Scripts/install.sh | 3 + .../Definitions/helloworld3_df_simple.yaml | 2 +- .../Definitions/helloworld3_top.vnfd.yaml | 2 +- .../Definitions/helloworld3_types.yaml | 2 +- .../Definitions/helloworld3_df_simple.yaml | 44 + .../TOSCA-Metadata/TOSCA.meta | 7 + .../Definitions/helloworld3_df_simple.yaml | 31 + .../TOSCA-Metadata/TOSCA.meta | 7 + .../Definitions/helloworld3_df_simple.yaml | 114 + .../Definitions/helloworld3_top.vnfd.yaml | 31 + .../Definitions/helloworld3_types.yaml | 53 + .../TOSCA-Metadata/TOSCA.meta | 7 + .../nfv/functional/BaseHOT/simple/helloworld3.yaml | 98 + .../nfv/functional/BaseHOT/simple/nested/VDU1.yaml | 72 + .../nfv/functional/BaseHOT/simple/nested/VDU2.yaml | 61 + .../Definitions/helloworld3_df_simple.yaml | 403 ++++ .../Definitions/helloworld3_top.vnfd.yaml | 31 + .../functional/Definitions/helloworld3_types.yaml | 55 + .../etsi/nfv/functional/TOSCA-Metadata/TOSCA.meta | 4 + .../nfv/functional/UserData/__init__.py} | 0 .../etsi/nfv/functional/UserData/lcm_user_data.py | 35 + .../kubernetes/testdata_artifact_file_content.yaml | 14 + .../TOSCA-Metadata/TOSCA.meta | 22 + .../TOSCA-Metadata/TOSCA.meta | 10 + .../manifest.mf | 11 + .../TOSCA-Metadata/TOSCA.meta | 5 + .../manifest.mf | 11 + .../TOSCA-Metadata/TOSCA.meta | 9 + .../TOSCA-Metadata/TOSCA.meta | 9 + .../manifest.mf | 11 + .../TOSCA-Metadata/TOSCA.meta | 9 + .../TOSCA-Metadata/TOSCA.meta | 8 + .../TOSCA-Metadata/TOSCA.meta | 9 + .../VNF.yaml | 1266 +++++++++++ .../VNF1.mf | 11 + .../nfv/sample_vnf_package_csar_manifest/VNF.mf | 11 + .../nfv/sample_vnf_package_csar_manifest/VNF.yaml | 1266 +++++++++++ .../TOSCA-Metadata/TOSCA.meta | 9 + .../TOSCA-Metadata/TOSCA.meta | 5 + .../manifest.mf | 11 + .../Definitions/helloworld3_df_simple.yaml | 177 ++ .../Definitions/helloworld3_top.vnfd.yaml | 31 + .../Definitions/helloworld3_types.yaml | 65 + .../TOSCA-Metadata/TOSCA.meta | 7 + .../vnfd_helloworld_single.yaml | 1278 +++++++++++ .../Definitions/helloworld3_df_simple.yaml | 275 +++ .../Definitions/helloworld3_top.vnfd.yaml | 31 + .../Definitions/helloworld3_types.yaml | 53 + .../TOSCA-Metadata/TOSCA.meta | 7 + .../Files/kubernetes/bindings.yaml | 10 + .../clusterrole_clusterrolebinding_SA.yaml | 29 + .../Files/kubernetes/config-map.yaml | 8 + .../Files/kubernetes/controller-revision.yaml | 8 + .../Files/kubernetes/daemon-set.yaml | 19 + .../Files/kubernetes/deployment.yaml | 29 + .../kubernetes/horizontal-pod-autoscaler.yaml | 13 + .../Files/kubernetes/job.yaml | 25 + .../Files/kubernetes/limit-range.yaml | 10 + .../kubernetes/local-subject-access-review.yaml | 11 + .../Files/kubernetes/multiple_yaml_lease.yaml | 8 + .../kubernetes/multiple_yaml_network-policy.yaml | 17 + .../kubernetes/multiple_yaml_priority-class.yaml | 7 + .../Files/kubernetes/namespace.yaml | 4 + .../Files/kubernetes/persistent-volume-0.yaml | 14 + .../Files/kubernetes/persistent-volume-1.yaml | 14 + .../Files/kubernetes/pod-template.yaml | 43 + .../Files/kubernetes/pod.yaml | 12 + .../kubernetes/replicaset_service_secret.yaml | 51 + .../Files/kubernetes/resource-quota.yaml | 11 + .../Files/kubernetes/role_rolebinding_SA.yaml | 31 + ...access-review_and_self-subject-rule-review.yaml | 14 + .../Files/kubernetes/statefulset.yaml | 36 + .../Files/kubernetes/storage-class.yaml | 6 + .../Files/kubernetes/storage-class_pv_pvc.yaml | 37 + .../Files/kubernetes/subject-access-review.yaml | 9 + .../Files/kubernetes/token-review.yaml | 9 + .../TOSCA-Metadata/TOSCA.meta | 139 ++ .../Files/kubernetes/storage-class-url.yaml | 6 + .../TOSCA-Metadata/TOSCA.meta | 9 + .../samples/etsi/nfv/test_csar_utils_data/README | 5 + .../Definitions/main_tosca.yaml | 27 + .../Definitions/tosca_with_vdus.yaml | 122 ++ .../Definitions/main_tosca.yaml | 27 + .../Definitions/tosca_with_vdus.yaml | 113 + .../Definitions/main_tosca.yaml | 119 ++ .../Definitions/main_tosca.yaml | 28 + .../Definitions/tosca_with_vdus.yaml | 132 ++ .../Definitions/main_tosca.yaml | 22 + .../Definitions/tosca_with_vdus.yaml | 93 + .../Definitions/main_tosca.yaml | 95 + .../Definitions/main_tosca.yaml | 27 + .../Definitions/tosca_with_vdus.yaml | 95 + .../Definitions/helloworld3_df_simple.yaml | 116 + .../Definitions/main_tosca.yaml | 31 + .../Definitions/main_tosca.yaml | 28 + .../Definitions/tosca_with_vdus.yaml | 119 ++ .../Definitions/main_tosca.yaml | 20 + .../Definitions/tosca_with_vdus.yaml | 239 +++ .../Files/images/cirros-0.4.0-x86_64-disk.img | 1 + .../vnfd_helloworld_single.yaml | 1266 +++++++++++ .../Definitions/helloworld3_types.yaml | 53 + .../TOSCA-Metadata/TOSCA.meta | 7 + .../sample_lcm_with_user_data_top.vnfd.yaml | 2 +- .../sample_lcm_with_user_data_types.yaml | 2 +- .../vnflcm1/Definitions/helloworld3_df_simple.yaml | 2 +- .../vnflcm1/Definitions/helloworld3_top.vnfd.yaml | 2 +- .../nfv/vnflcm1/Definitions/helloworld3_types.yaml | 2 +- .../etsi/nfv/vnflcm1/TOSCA-Metadata/TOSCA.meta | 0 .../vnflcm2/Definitions/helloworld3_df_simple.yaml | 2 +- .../vnflcm2/Definitions/helloworld3_top.vnfd.yaml | 2 +- .../nfv/vnflcm2/Definitions/helloworld3_types.yaml | 2 +- .../etsi/nfv/vnflcm2/TOSCA-Metadata/TOSCA.meta | 0 .../Definitions/helloworld3.vnfd.tosca.yaml | 2 +- .../nfv/vnflcm3/Definitions/helloworld3VNF.yaml | 2 +- .../Definitions/helloworld3simple.vnfd.tosca.yaml | 2 +- .../vnflcm4/Definitions/helloworld3_df_simple.yaml | 263 +++ .../vnflcm4/Definitions/helloworld3_top.vnfd.yaml | 31 + .../nfv/vnflcm4/Definitions/helloworld3_types.yaml | 65 + .../etsi/nfv/vnflcm4/TOSCA-Metadata/TOSCA.meta | 7 + .../etsi/nfv/vnfpkgm1/TOSCA-Metadata/TOSCA.meta | 17 +- .../Definitions/helloworld3_df_simple.yaml | 2 +- .../vnfpkgm2/Definitions/helloworld3_top.vnfd.yaml | 2 +- .../vnfpkgm2/Definitions/helloworld3_types.yaml | 2 +- .../etsi/nfv/vnfpkgm2/TOSCA-Metadata/TOSCA.meta | 3 +- .../etc/samples/etsi/nfv/vnfpkgm2/manifest.mf | 11 + .../etsi/nfv/vnfpkgm3/vnfd_helloworld_single.mf | 11 + .../etsi/nfv/vnfpkgm3/vnfd_helloworld_single.yaml | 1266 +++++++++++ .../etc/samples/sample-tosca-vnfd-maintenance.yaml | 51 + .../Definitions/etsi_nfv_sol001_common_types.yaml | 202 ++ .../Definitions/etsi_nfv_sol001_vnfd_types.yaml | 1465 +++++++++++++ .../Definitions/sample_vnfd_df_complex_int.yaml | 308 +++ .../Definitions/sample_vnfd_df_simple_int.yaml | 308 +++ .../Definitions/sample_vnfd_top.yaml | 32 + .../Definitions/sample_vnfd_types.yaml | 65 + .../Files/images/cirros-0.4.0-x86_64-disk.img | 1 + .../Files/images/cirros.img | 1 + .../Files/kubernetes/deployment.yaml | 48 + .../Scripts/install.sh | 3 + .../TOSCA-Metadata/TOSCA.meta | 10 + .../manifest.mf | 11 + .../sample_vnf_package_csar_with_policy.zip | Bin 12190368 -> 0 bytes ...sample_vnf_package_csar_with_short_notation.zip | Bin 17751 -> 0 bytes .../sample_vnf_package_csar_without_policy.zip | Bin 12189925 -> 0 bytes .../samples/sample_vnfpkg_no_meta_single_vnfd.zip | Bin 9457 -> 0 bytes .../vnflcm/test_vnf_instance_with_user_data.py | 554 +---- .../vnfm/test_tosca_vnf_block_storage.py | 34 +- .../functional/vnfm/test_tosca_vnf_floatingip.py | 9 +- .../functional/vnfm/test_tosca_vnf_maintenance.py | 194 ++ .../functional/vnfm/test_tosca_vnf_multiple_vdu.py | 28 +- .../functional/vnfm/test_tosca_vnf_reservation.py | 7 +- .../conductor/conductorrpc/test_vnf_pkgm_rpc.py | 2 +- .../test_common_services_db_plugin.py | 2 +- .../nfvo/drivers/vim/test_kubernetes_driver.py | 3 +- .../unit/nfvo/drivers/vim/test_openstack_driver.py | 15 +- .../vnffg/sfc_drivers/networking-sfc/test_n_sfc.py | 2 +- .../unit/objects/test_vnf_deployment_flavour.py | 2 +- .../unit/objects/test_vnf_lcm_subscriptions.py | 309 +++ .../unit/vnfm/infra_drivers/kubernetes/__init__.py | 0 .../unit/vnfm/infra_drivers/kubernetes/fakes.py | 942 +++++++++ .../kubernetes_api_resource/api-service.yaml | 9 + .../kubernetes_api_resource/bindings.yaml | 10 + .../cluster-role-binding.yaml | 13 + .../kubernetes_api_resource/cluster-role.yaml | 8 + .../kubernetes_api_resource/config-map.yaml | 8 + .../controller-revision.yaml | 6 + .../kubernetes_api_resource/daemon-set.yaml | 16 + .../kubernetes_api_resource/deployment.yaml | 40 + .../horizontal-pod-autoscaler.yaml | 13 + .../kubernetes/kubernetes_api_resource/job.yaml | 27 + .../kubernetes/kubernetes_api_resource/lease.yaml | 8 + .../kubernetes_api_resource/limit-range.yaml | 10 + .../local-subject-access-review.yaml | 11 + .../kubernetes_api_resource/namespace.yaml | 4 + .../kubernetes_api_resource/network-policy.yaml | 8 + .../kubernetes/kubernetes_api_resource/node.yaml | 6 + .../persistent-volume-claim.yaml | 12 + .../kubernetes_api_resource/persistent-volume.yaml | 14 + .../kubernetes_api_resource/pod-template.yaml | 43 + .../kubernetes/kubernetes_api_resource/pod.yaml | 11 + .../kubernetes_api_resource/priority-class.yaml | 7 + .../kubernetes_api_resource/replica-set.yaml | 17 + .../kubernetes_api_resource/resource-quota.yaml | 11 + .../kubernetes_api_resource/role-bindings.yaml | 14 + .../kubernetes/kubernetes_api_resource/role.yaml | 9 + .../kubernetes/kubernetes_api_resource/secret.yaml | 8 + .../self-subject-access-review.yaml | 8 + .../self-subject-rule-review.yaml | 4 + .../kubernetes_api_resource/service-account.yaml | 5 + .../kubernetes_api_resource/service.yaml | 16 + .../kubernetes_api_resource/stateful-set.yaml | 33 + .../kubernetes_api_resource/storage-class.yaml | 8 + .../subject-access-review.yaml | 9 + .../kubernetes_api_resource/token-review.yaml | 9 + .../kubernetes_api_resource/volume-attachment.yaml | 10 + .../kubernetes/test_kubernetes_driver.py | 1718 +++++++++++++++ .../kubernetes/test_translate_outputs.py | 426 ++++ .../etsi_nfv/tosca_generate_hot_from_tosca.yaml | 2 +- ...tosca_generate_hot_from_tosca_parser_error.yaml | 2 +- ...a_generate_hot_from_tosca_translator_error.yaml | 2 +- ..._generate_hot_from_tosca_with_params_error.yaml | 2 +- ...tosca_generate_hot_from_tosca_with_scaling.yaml | 2 +- ...t_from_tosca_with_scaling_invalid_inst_req.yaml | 2 +- ...rom_tosca_with_substitution_mappings_error.yaml | 2 +- .../openstack/data/etsi_nfv/tosca_vnfd.yaml | 98 + .../infra_drivers/openstack/data/hot_grant.yaml | 27 + .../openstack/data/hot_scale_grant.yaml | 31 + .../openstack/data/hot_scale_initial.yaml | 31 + .../openstack/data/hot_scale_nest_grant.yaml | 57 + .../openstack/data/hot_scale_nest_initial.yaml | 27 + .../vnfm/infra_drivers/openstack/test_openstack.py | 59 +- .../openstack/test_openstack_driver.py | 652 +++++- .../unit/vnfm/infra_drivers/openstack/test_vdu.py | 3 +- .../unit/vnfm/lcm_user_data/utils/test_utils.py | 9 +- .../monitor_drivers/http_ping/test_http_ping.py | 3 +- .../unit/vnfm/monitor_drivers/ping/test_ping.py | 2 +- .../vnfm/monitor_drivers/zabbix/test_zabbix.py | 2 +- .../policy_actions/autoscaling/test_autoscaling.py | 2 +- .../vnfm/policy_actions/respawn/test_respawn.py | 2 +- .../vdu_autoheal/test_vdu_autoheal.py | 2 +- tacker/tosca/lib/tacker_nfv_defs.yaml | 4 + tacker/tosca/utils.py | 80 +- tacker/vnflcm/utils.py | 377 +++- tacker/vnflcm/vnflcm_driver.py | 1185 ++++++++++- .../kubernetes/k8s/translate_inputs.py | 2 +- .../kubernetes/k8s/translate_outputs.py | 389 +++- .../infra_drivers/kubernetes/kubernetes_driver.py | 956 ++++++++- .../infra_drivers/kubernetes/translate_template.py | 10 +- tacker/vnfm/infra_drivers/openstack/heat_client.py | 6 +- tacker/vnfm/infra_drivers/openstack/openstack.py | 979 ++++++++- .../infra_drivers/openstack/translate_template.py | 4 + tacker/vnfm/infra_drivers/openstack/vdu.py | 17 +- tacker/vnfm/infra_drivers/scale_driver.py | 82 + tacker/vnfm/lcm_user_data/utils.py | 243 ++- tacker/vnfm/mgmt_drivers/constants.py | 3 + tacker/vnfm/monitor.py | 43 +- tacker/vnfm/monitor_drivers/zabbix/zabbix.py | 18 +- tacker/vnfm/nfvo_client.py | 343 +++ tacker/vnfm/plugin.py | 64 +- .../policy_actions/vdu_autoheal/vdu_autoheal.py | 20 +- tacker/vnfm/vim_client.py | 4 +- tacker/wsgi.py | 5 +- test-requirements.txt | 3 +- tools/check_i18n.py | 2 - tools/install_venv_common.py | 2 - tools/test-setup-default-vim.sh | 22 + tools/test-setup.sh | 4 +- tox.ini | 4 +- 516 files changed, 56075 insertions(+), 4278 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 4bf5861b..ebd11af0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10 +9,0 @@ anyjson>=0.3.3 # BSD -Babel!=2.4.0,>=2.3.4 # BSD @@ -13 +12 @@ requests>=2.14.2 # Apache-2.0 -jsonschema>=3.0.0 # MIT +jsonschema>=3.2.0 # MIT @@ -15 +14 @@ keystonemiddleware>=4.17.0 # Apache-2.0 -kombu!=4.0.2,>=4.0.0 # BSD +kombu>=4.3.0 # BSD @@ -28 +27 @@ oslo.context>=2.19.2 # Apache-2.0 -oslo.db>=4.27.0 # Apache-2.0 +oslo.db>=5.0.0 # Apache-2.0 @@ -40 +38,0 @@ oslo.versionedobjects>=1.33.3 # Apache-2.0 -openstackdocstheme>=1.20.0 # Apache-2.0 @@ -43,0 +42 @@ python-novaclient>=9.1.0 # Apache-2.0 +rfc3986>=1.1.0 # Apache-2.0 @@ -46 +45 @@ heat-translator>=2.0.0 # Apache-2.0 -cryptography>=2.1 # BSD/Apache-2.0 +cryptography>=2.7 # BSD/Apache-2.0 @@ -52 +51 @@ castellan>=0.16.0 # Apache-2.0 -kubernetes>=5.0.0 # Apache-2.0 +kubernetes>=11.0.0 # Apache-2.0 @@ -55 +54 @@ tooz>=1.58.0 # Apache-2.0 -PyYAML>=3.12 # MIT +PyYAML>=5.1 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 7a611181..6df2ee3d 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -11,2 +11 @@ fixtures>=3.0.0 # Apache-2.0/BSD -hacking>=3.0,<3.1.0 # Apache-2.0 -mock>=3.0.0 # BSD +hacking>=3.0.1,<3.1.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org