We are jazzed to announce the release of: tacker 12.0.0 This release is part of the dalmatian 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 11.0.0.0rc1..12.0.0 ------------------------------------- 32c7ae86 Add releasenote for dalmatian 07e7f30e Fix Kubernetes service resource check e9036cdf Fix infinite loop when enhanced policy check eee7cd43 Fix issues that modify a v1 VNF instance fails 611cd1fa Quick fix for python-openstackclient 7.1.0 d62def1c Add deploying Kubernetes cluster with Cilium doc 7c8f4a76 Update Usage of External OAuth Server Admin Docs 09da2aa8 Imported Translations from Zanata 6535a252 Improve to FT-related items f9b8f0f1 Format python code in userdata_script 3164b3d4 Fix issue of v1 grant-request setting incorrect 172cdd31 Update Using OAuth 2.0 mTLS for Tacker document dbbdf67c Support boolean in cert_verify for register VIM e85355a7 Fix to enable NovaClient to use TLS verification 72a96de3 Fix invalid vim type for ETSI's definition 5d090296 Fix issue that scale is not in the links of v1 0b94766a Fix to remove the glance image on v1 rollback e422006d Fix docstring of v1 Cancel API 9aabe234 make auto scale and heal effective 6b0aec63 Performance enhancement of v2 list APIs f98250b5 Fix issue of healing after scale out in the v1 8e4c2408 Fix issue of vimConnectionInfo in v1 instantiate 5587b8e1 Enhanced VNF FM and VNF PM Documentation 60373ebd Fix tox debug not work for invalid config register 670cff39 Python 3.12: do not use ssl.wrap_socket 003fe4ac Update config files url 8002b219 Update json code-block in document db2dee07 Remove six from sample scripts dd7d27e3 Create a VNF Package Generation Tool 8dee0c8e Fix broken jobs in V1 API gates ef796986 Keep new RBAC disable by default & Gate fix for GLOBAL_VENV 6e679e7b Change line length of Help command's output 9f2b6a66 Update tacker-status CLI Reference document fd8f40d2 Update VNF Performance Management CLI document f93341b1 Update VNF Fault Management CLI Reference document 83ac74ff Update "Tacker Architecture" document 60d35e29 Fix issue of v1 vnflcm when state is ROLLED_BACK b06845e8 Update VNFLCM with v1 Tacker CLI Reference document a3b956cc Documentation improvements 23589dbf Update VIM Management CLI Reference document f3a78c36 Update "Using OAuth 2.0 for Tacker" document be49a993 Add VNFLCM with v2 Tacker CLI Reference document c5cdb446 Fix compliant ETSI NFV-SOL versions cec3e73c Fix issue about PMJob report 6e9bfa93 Fix incorrect file path in pkggen.py 8ad2cb7a Fix issue of the paging of v1 vnflcm list bd5d3d8b fix wrong json schema definition of v2 API 3aaa63e0 Quick fix to migrate to SQLAlchemy 2.0 5ffd1cf9 Update VNF Pkg Management CLI reference document 8bb808b4 Fix node_templates in topology_template 435dd86f Tacker Installation via Openstack-Helm aa5602f9 Update master for stable/2024.1 2c1a90a0 Sample of deploying Kubernetes cluster with cilium ef30b1d7 Reduce duplication under SOL v2 API framework d4579bbe Add Tacker RBAC change documentation and release notes ba24a899 Add new default roles in vnf-package API policies 204def5d Introduce project scope_types in VNF Package policy 2de67c77 Add new default roles in vnf-lcm API policies Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 185 +- api-ref/source/v1/parameters_vnflcm.yaml | 6 +- .../v1/samples/vnflcm/change-ext-conn-request.json | 2 +- api-ref/source/v2/parameters_vnffm.yaml | 221 +- api-ref/source/v2/parameters_vnflcm.yaml | 6 +- api-ref/source/v2/parameters_vnfpm.yaml | 135 +- .../vnffm-alarm-cleared-notification-request.json | 16 + .../vnffm/vnffm-alarm-notification-request.json | 36 + ...information-available-notification-request.json | 19 + .../pm-threshold-crossed-notification-request.json | 19 + api-ref/source/v2/status.yaml | 2 + api-ref/source/v2/vnffm.inc | 156 + api-ref/source/v2/vnfpm.inc | 128 + devstack/lib/tacker | 6 +- .../user/etsi_containerized_vnf_usage_guide.rst | 3 + .../etsi_vnf_change_external_vnf_connectivity.rst | 2 +- .../user/etsi_vnf_deployment_as_vm_with_tosca.rst | 6 +- .../etsi_vnf_deployment_as_vm_with_user_data.rst | 4 +- .../mgmt_driver_deploy_k8s_cir_usage_guide.rst | 3 + ...gmt_driver_deploy_k8s_kubespary_usage_guide.rst | 6 + .../user/mgmt_driver_deploy_k8s_usage_guide.rst | 1236 ++-- .../user/mgmt_driver_for_container_update.rst | 24 +- .../user/v2/cnf/deployment_using_helm/index.rst | 17 +- .../user/v2/cnf/update_with_mgmt_driver/index.rst | 22 +- .../v2/mgmt_driver_deploy_k8s_with_cilium_cni.rst | 5910 ++++++++++++++++++++ .../user/v2/vnf/chg_vnfpkg_with_standard/index.rst | 84 +- .../user/v2/vnf/coordinate_api_client_script.rst | 18 +- .../v2/vnf/deployment_with_user_data/index.rst | 21 +- etc/tacker/api-paste.ini | 12 +- .../dalmatian-highlights-8acd96514ccbea09.yaml | 108 + .../project-personas-rbac-43f1w16e34b55608yaml | 41 + ...-mgmtdriver-cilium-deploy-63be95e3d5373424.yaml | 7 + releasenotes/source/2024.1.rst | 6 + releasenotes/source/index.rst | 1 + .../source/locale/de/LC_MESSAGES/releasenotes.po | 66 - .../locale/en_GB/LC_MESSAGES/releasenotes.po | 14 +- requirements.txt | 2 +- .../lcm_instantiate_request/sample_param_file.json | 2 +- .../lcm_instantiate_request/sample_param_file.json | 2 +- .../changeExtVnfConnectivityRequest.json | 2 +- .../mgmt_driver/ansible/ansible_config_parser.py | 7 +- .../vm_app_config/ansible_playbook_exec.py | 3 +- .../contents/BaseHOT/complex/complex_hot_top.yaml | 42 + .../complex/nested/complex_nested_master.yaml | 36 + .../complex/nested/complex_nested_worker.yaml | 36 + .../simple/nested/simple_nested_master.yaml | 32 + .../simple/nested/simple_nested_worker.yaml | 32 + .../contents/BaseHOT/simple/simple_hot_top.yaml | 23 + .../Definitions/sample_kubernetes_df_complex.yaml | 229 + .../Definitions/sample_kubernetes_df_simple.yaml | 223 + .../Definitions/sample_kubernetes_top.vnfd.yaml | 32 + .../Definitions/sample_kubernetes_types.yaml | 51 + .../contents/Scripts/create_admin_token.yaml | 7 + .../contents/Scripts/install_k8s_cluster.sh | 695 +++ .../contents/Scripts/kubernetes_mgmt_v2.py | 1422 +++++ .../contents/TOSCA-Metadata/TOSCA.meta | 7 + .../sol_v2_kubernetes_vnf_package/pkggen.py | 82 + .../test_cnf_container_update_after/pkggen.py | 11 +- .../test_cnf_container_update_before/pkggen.py | 11 +- .../test_helm_instantiate/pkggen.py | 20 +- .../test_instantiate_cnf_resources/pkggen.py | 23 +- .../basic_lcms_max_individual_vnfc/pkggen.py | 20 +- .../basic_lcms_min_individual_vnfc/pkggen.py | 10 +- .../change_vnfpkg_max_individual_vnfc/pkggen.py | 17 +- .../pkggen.py | 13 +- .../update_vnf_max_individual_vnfc/pkggen.py | 13 +- .../sol_v2_common/userdata_standard/pkggen.py | 26 +- .../userdata_standard_az_retry/pkggen.py | 17 +- .../userdata_standard_change_vnfpkg/pkggen.py | 17 +- .../userdata_standard_change_vnfpkg_nw/pkggen.py | 17 +- .../pkggen.py | 17 +- tacker/api/views/vnf_lcm.py | 11 +- tacker/api/vnflcm/v1/controller.py | 76 +- tacker/api/vnfpkgm/v1/controller.py | 13 +- tacker/common/config.py | 9 +- tacker/common/exceptions.py | 11 +- tacker/common/utils.py | 21 +- tacker/conductor/conductor_server.py | 58 +- tacker/db/api.py | 8 +- .../common_services/common_services_db_plugin.py | 3 +- tacker/db/db_sqlalchemy/models.py | 1 + .../0ae5b1ce3024_unique_constraint_name.py | 12 +- .../versions/6e56d4474b2a_blob_to_json_text.py | 9 +- ...975e28392888_add_unique_key_vnf_package_vnfd.py | 11 +- tacker/db/migration/migrate_to_v2.py | 31 +- tacker/db/model_base.py | 1 + tacker/db/nfvo/nfvo_db_plugin.py | 11 +- tacker/db/vnfm/vnfm_db.py | 29 +- tacker/locale/de/LC_MESSAGES/tacker.po | 1218 ---- tacker/objects/vnf_deployment_flavour.py | 6 +- tacker/objects/vnf_instance.py | 56 +- tacker/objects/vnf_lcm_op_occs.py | 2 +- tacker/objects/vnf_lcm_subscriptions.py | 74 +- tacker/objects/vnf_package.py | 39 +- tacker/objects/vnf_package_vnfd.py | 16 +- tacker/objects/vnf_software_image.py | 5 +- tacker/policies/vnf_lcm.py | 32 +- tacker/policies/vnf_package.py | 50 +- tacker/policy.py | 108 +- .../sol_refactored/api/prometheus_plugin_router.py | 54 - .../api/prometheus_plugin_validator.py | 46 - .../sol_refactored/api/prometheus_plugin_wsgi.py | 68 - tacker/sol_refactored/api/router.py | 51 + tacker/sol_refactored/api/schemas/common_types.py | 9 +- tacker/sol_refactored/api/schemas/vnflcm_v2.py | 7 +- .../api/server_notification_router.py | 28 - .../api/server_notification_validator.py | 51 - .../sol_refactored/api/server_notification_wsgi.py | 82 - tacker/sol_refactored/api/validator.py | 16 + tacker/sol_refactored/api/wsgi.py | 21 +- tacker/sol_refactored/common/config.py | 10 +- tacker/sol_refactored/common/exceptions.py | 8 - tacker/sol_refactored/common/lcm_op_occ_utils.py | 36 +- tacker/sol_refactored/common/pm_threshold_utils.py | 2 +- tacker/sol_refactored/common/prometheus_plugin.py | 31 +- .../sol_refactored/common/server_notification.py | 13 +- tacker/sol_refactored/common/vnf_instance_utils.py | 62 +- tacker/sol_refactored/common/vnflcm_utils.py | 147 - .../sol_refactored/conductor/conductor_rpc_v2.py | 4 +- tacker/sol_refactored/conductor/conductor_v2.py | 22 +- .../conductor/prometheus_plugin_driver.py | 44 +- .../conductor/server_notification_driver.py | 34 +- tacker/sol_refactored/conductor/vnffm_driver_v1.py | 4 +- tacker/sol_refactored/conductor/vnflcm_auto.py | 76 + .../sol_refactored/conductor/vnflcm_driver_v2.py | 3 +- tacker/sol_refactored/conductor/vnfpm_driver_v2.py | 28 +- .../controller/prometheus_plugin_controller.py | 22 +- .../controller/server_notification.py | 6 +- tacker/sol_refactored/controller/vnffm_v1.py | 36 +- tacker/sol_refactored/controller/vnffm_view.py | 16 +- tacker/sol_refactored/controller/vnflcm_v2.py | 178 +- .../sol_refactored/controller/vnflcm_versions.py | 4 + tacker/sol_refactored/controller/vnflcm_view.py | 313 +- tacker/sol_refactored/controller/vnfpm_v2.py | 40 +- tacker/sol_refactored/controller/vnfpm_view.py | 12 +- .../kubernetes/kubernetes_resource.py | 9 +- .../infra_drivers/openstack/nova_utils.py | 9 +- .../infra_drivers/openstack/openstack.py | 5 +- tacker/sol_refactored/objects/base.py | 57 +- .../objects/common/subscription_authentication.py | 7 +- .../functional/sol/vnflcm/test_vnf_instance.py | 241 +- .../{sol_v2 => sol/vnflcm_userdata}/__init__.py | 0 .../test_vnf_instance_with_user_data.py | 10 +- .../test_encrypt_credentials.py | 46 +- .../sol/test_policy_vim_apis_openstack.py | 4 + .../sol/test_policy_vnf_package_apis.py | 25 + .../sol/test_policy_vnflcm_apis_v1.py | 4 +- .../sol/test_policy_vnflcm_apis_v2.py | 76 +- .../sol_kubernetes/test_policy_cnflcm_apis_v2.py | 8 +- .../test_policy_vim_apis_kubernetes.py | 2 +- .../sol_kubernetes/vnflcm/test_kubernetes.py | 3 + .../sol_kubernetes/vnflcm/test_kubernetes_heal.py | 5 +- .../sol_kubernetes/vnflcm/test_kubernetes_helm.py | 11 +- .../functional/sol_kubernetes_v2/test_helm.py | 7 +- .../test_kubernetes_container_update.py | 5 +- .../sol_kubernetes_v2/test_vnflcm_basic.py | 8 +- .../sol_multi_tenant/vnflcm/fake_vnflcm.py | 2 +- .../vnflcm/test_vnf_lcm_with_multi_tenant.py | 8 +- .../sol_separated_nfvo/vnflcm/fake_grant.py | 2 +- ...st_vnf_instance_with_user_data_nfvo_separate.py | 3 + .../functional/sol_terraform_v2/test_terraform.py | 4 +- .../sol_v2/{ => basic}/test_change_vnfpkg.py | 0 .../{ => basic}/test_individual_vnfc_mgmt.py | 16 +- .../functional/sol_v2/notification/__init__.py | 0 .../{ => notification}/test_server_notification.py | 28 +- .../{ => prometheus}/test_prom_auto_scale_heal.py | 0 .../sol_v2/{ => vnflcm}/test_vnflcm_basic.py | 0 .../{ => vnflcm}/test_vnflcm_error_handling.py | 0 .../functional/sol_v2_az_retry/test_az_retry.py | 9 +- .../sol_v2_common/test_vnflcm_basic_common.py | 12 +- .../test_individual_vnfc_mgmt_basic.py | 21 +- .../nfvo/drivers/vim/test_kubernetes_driver.py | 20 +- .../unit/nfvo/drivers/vim/test_openstack_driver.py | 20 +- .../unit/objects/test_vnf_deployment_flavour.py | 6 +- .../sol_refactored/api/test_prometheus_plugin.py | 88 - .../sol_refactored/api/test_server_notification.py | 87 - .../sol_refactored/common/test_lcm_op_occ_utils.py | 33 +- .../common/test_prometheus_plugin.py | 60 +- .../common/test_server_notification.py | 2 +- .../conductor/test_prometheus_plugin.py | 39 +- .../conductor/test_server_notification.py | 31 +- .../conductor/test_vnfpm_driver_v2.py | 66 +- .../controller/test_server_notification.py | 8 +- .../sol_refactored/controller/test_vnffm_v1.py | 2 +- .../sol_refactored/controller/test_vnflcm_v2.py | 212 +- .../sol_refactored/controller/test_vnflcm_view.py | 31 +- .../sol_refactored/controller/test_vnfpm_v2.py | 5 +- .../sol_refactored/controller/test_vnfpm_view.py | 24 +- .../infra_drivers/openstack/test_openstack.py | 44 + .../unit/vnfm/infra_drivers/kubernetes/fakes.py | 2 +- .../kubernetes/test_kubernetes_driver.py | 96 +- .../kubernetes/test_kubernetes_driver_helm.py | 17 +- .../kubernetes/test_translate_outputs.py | 26 +- .../data/etsi_nfv/tosca_vnfd_affinity.yaml | 108 + .../openstack/fixture_data/fixture_data_utils.py | 2 +- .../openstack/test_openstack_driver.py | 4 +- tacker/vnflcm/utils.py | 29 + tacker/vnflcm/vnflcm_driver.py | 119 +- .../kubernetes/k8s/translate_outputs.py | 14 +- .../infra_drivers/kubernetes/kubernetes_driver.py | 107 +- tacker/vnfm/infra_drivers/kubernetes/utils.py | 1 + tacker/vnfm/infra_drivers/openstack/openstack.py | 2 +- tacker/wsgi.py | 17 +- tools/gen_vnf_pkg.py | 226 + tox.ini | 64 +- 295 files changed, 22848 insertions(+), 6611 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 182cef85..4c6b5094 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30 +30 @@ oslo.middleware>=3.31.0 # Apache-2.0 -oslo.policy>=3.6.0 # Apache-2.0 +oslo.policy>=3.11.0 # Apache-2.0