We are amped to announce the release of: tacker 9.0.0: OpenStack NFV Orchestration This release is part of the antelope 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. 9.0.0 ^^^^^ New Features ************ * Enhance the existing Tacker policy function so that users can obtain more fine-grained access control based on user roles and VNF information for API resources. * Add the Performance Management Threshold interfaces and CLI to support AutoScale. The Performance Management Threshold interfaces are based on ETSI NFV-SOL 003 v3.3.1, on which v2 VNF LCM API of Tacker is based. Add the Prometheus Plugin that has an interface between Tacker and the External Monitoring Tool. Prometheus Plugin supports data model conversion from Prometheus format data to SOL based PM Threshold schema, and vice versa. * VNF package management APIs in multiple conductors environment are supported that includes Upload VNF Package from content, Upload VNF Package from uri and Delete VNF Package. Deprecation Notes ***************** * From 2023.1 release, dependency on Mistral has been removed from Tacker entirely. This change removed: i) VIM monitoring; and ii) Mistral workflow in NS API. Due to the deletion of the VIM monitoring, the status field has been removed from the VIM table and VIM status in the response will be filled by a dummy value. This field will be completely removed in the next release Changes in tacker 8.0.0.0rc1..9.0.0 ----------------------------------- 40a15b59 Enhancement of Tacker API resource access control cb89433b Support multiple conductors onboarding 38ac1a2d Support CNF auto scale via PM Threshold interface b1bba29d Remove Mistral fd41f089 Fix API pagination problem in multi servers a71771ac Update TOX_CONSTRAINTS_FILE for stable/2023.1 922818ba Update .gitreview for stable/2023.1 9e49fc26 Add prelude section for 2023.1 releasenote 74adf22d Add user docs for Coordination API sample usage c004eb25 Add docs for auto scale via PM Threshold API 403c0ab4 Call heal interface changed to function 5ab59f7e Support PromQL config file for PrometheusPlugin aac03cef Enhancement of HTTP Client 96d4ac63 Add support VNFM auto heal and scale 0ff80687 Add doc of OAuth 2.0 Mutual-TLS Support a423efca Support VNF LCM Coordination IF in change_vnfpkg c0620728 Missing Location in http header 321da73b Add ChangeCurrentVnfPackage doc to user guide 4e074e92 Add docs of VNFM auto heal and scale 94d2433d Fix to upload as the appropriate image format 2cbd84c5 Extend vim register function for helm in v2 API bb16f782 Update docs of User guide and API reference 7f5c3906 Fix incorrect lcmocc_id specified in "get_lcmocc" ed0ba564 Remove VIM monitoring depending on Mistral f951a43c Fix servernotification metadata issue 3ea490ea Add Placement error-handling to user guide 33ca6ad5 Support tacker-db-manage for Multi DB backend 4e699aec OAuth 2.0 Mutual-TLS Support 2bc6d4d2 Fix image handling of StandardUserData heal 4f371b86 Enable vnfcInfo id to be fixed dbc2caac Fix error attribute of LCM notification 6e72a2d3 Add jammy support for tacker installer 25459c25 Placement enhancement enables to AZ reselection 2d5f6382 Update vimConnectionInfo's k8s parameter in v2 7d7d6f1d Fix oidc's vim not applied to FT da52c8d0 Update k8s v1.25.6 and helm 3.10.3 9aa5f0bc Fix missing teardown in PrometheusPluginTest 5acf25a7 change_vnfpkg enhance to enable network change c592c0c2 Add VNF package content cache b74c0333 Use new get_rpc_client API from oslo.messaging c5b0806c Fix rollback error caused by DB sync ffdbefae Stabilize sol-kubernetes-v2 job 6720e274 Run Tacker gate job in Ubuntu Focal 6f06cd42 Workaround for CI failure due to Heat timeout 68b8a71c Restore overwritten documents d524b446 Support isAutohealEnabled for faultnotification 68ff7a67 Fix missing rpc.init for mgmt driver e3e3fc51 Deprecate Legacy APIs excluding VIM feature 3ad1976b Add API ref to tacker doc index 01af9216 Switch the Legacy FT non-voting 5b02232a Prometheus rule file syntax test 7bb1bf8f Fix tox4 error 111d1554 Migrate Tacker jobs to Ubuntu Jammy (22.04) 995f01ba Update python classifier for python 3.10 2f89ccc8 Fixed some bugs in individual VNFc management e491c60e Fix prometheus disk usage monitoring 6ca63d6f Add unqualified search registries for k8s testing be6d22b4 Fix waiting for pod removal when container update c297b430 Improve plugin flexibility 58fbcc37 Fix field of LifecycleChangeNotificationsFilter 3a1ccca9 Update k8s v1.25.2 and helm 3.10.1 97bbbd62 Fix instantiate failed after terminate operation c1c9c907 Imported Translations from Zanata 3ae06725 Stabilize sol-kubernetes-v2 job in Zuul FT 594fffcc CNF Deployment failed due to missing Default VIM ec835c33 Imported Translations from Zanata ccf87eed CI: Revert temporary fixes for aodh and ceilometer d8edcf11 CI: Revert temporary changes for Z release RC 77ecc2a7 Fix Vagrantfile for no_proxy is empty 2e92de26 Fix k8s resource name handling in CNF v2 API 4737a70a Fix Prometheus Plugin syntax error 190e69cb A DB migration tool for API version update a4f1052d Switch to 2023.1 Python3 unit tests and generic template name 1e147a3c Update master for stable/zed 0e2434d9 Database sync between TackerDB and Kubernetes 02d947e3 Support multi artifact of interfaces 03dcde32 Support multi artifact of ansible driver Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .zuul.yaml | 231 +- api-ref/source/v1/legacy.rst | 5 + api-ref/source/v2/fault_notification.inc | 10 +- .../source/v2/parameters_fault_notification.yaml | 2 +- .../source/v2/parameters_prometheus_plugin.yaml | 40 +- api-ref/source/v2/parameters_vnffm.yaml | 8 +- api-ref/source/v2/parameters_vnflcm.yaml | 66 +- api-ref/source/v2/parameters_vnfpm.yaml | 228 +- api-ref/source/v2/prometheus_plugin.inc | 190 +- .../samples/prometheus_plugin/alert_auto_heal.json | 16 + .../prometheus_plugin/alert_pm_threshold.json | 19 + .../samples/vnfpm/create-pm-threshold-request.json | 42 + .../vnfpm/create-pm-threshold-response.json | 18 + .../samples/vnfpm/list-pm-threshold-response.json | 20 + .../samples/vnfpm/show-pm-threshold-response.json | 18 + .../samples/vnfpm/update-pm-threshold-request.json | 3 + .../vnfpm/update-pm-threshold-response.json | 3 + api-ref/source/v2/status.yaml | 3 + api-ref/source/v2/vnffm.inc | 21 +- api-ref/source/v2/vnflcm.inc | 8 +- api-ref/source/v2/vnfpm.inc | 334 ++- devstack/lib/tacker | 8 +- devstack/local.conf.example | 3 +- devstack/local.conf.kubernetes | 12 +- devstack/local.conf.standalone | 1 - .../_images/etsi_cnf_auto_scaling_pm_threshold.png | Bin 0 -> 90447 bytes .../_images/etsi_cnf_auto_scaling_pm_threshold.pu | 46 + .../etsi_vnf_change_current_vnf_package.png | Bin 35166 -> 39722 bytes .../_images/etsi_vnf_change_current_vnf_package.pu | 2 +- .../contributor/policy_actions_framework.rst | 5 + .../contributor/vnfd_template_description.rst | 6 + .../contributor/vnfd_template_parameterization.rst | 5 + .../contributor/vnffgd_template_description.rst | 5 + .../reference/mistral_workflows_usage_guide.rst | 504 ---- .../reference/reservation_policy_usage_guide.rst | 5 + ...ordinate_api_client_in_coordinatevnf_script.rst | 511 ++++ .../enhanced_placement_awareness_usage_guide.rst | 5 + .../user/enhanced_tacker_policy_usage_guide.rst | 1436 +++++++++++ .../user/etsi_cnf_auto_scaling_pm_threshold.rst | 527 ++++ .../user/etsi_cnf_change_current_vnf_package.rst | 22 + .../user/etsi_containerized_vnf_usage_guide.rst | 117 +- .../user/etsi_vnf_change_current_vnf_package.rst | 27 + ...current_vnf_package_with_standard_user_data.rst | 957 +++++++ .../etsi_vnf_change_external_vnf_connectivity.rst | 7 + .../user/etsi_vnf_deployment_as_vm_with_tosca.rst | 10 +- .../etsi_vnf_deployment_as_vm_with_user_data.rst | 9 +- .../user/fault_notification_use_case_guide.rst | 69 +- .../mgmt_driver_deploy_k8s_and_cnf_with_helm.rst | 28 +- .../user/mgmt_driver_for_container_update.rst | 48 +- .../user/prometheus_plugin_use_case_guide.rst | 401 ++- etc/tacker/api-paste.ini | 10 +- etc/tacker/enhanced_tacker_policy.yaml.sample | 251 ++ etc/tacker/prometheus-plugin.yaml | 121 + playbooks/devstack/pre.yaml | 7 + .../notes/antelope-prelude-32ccfadf5a690a75.yaml | 19 + .../bp-support-oauth2-mtls-1ef757cca82059cf.yaml | 10 + ...database_synchronaization-ed47b552227892cf.yaml | 13 + ...ommand-for-version-update-01ca32f1187fe0cf.yaml | 7 + ...legacy-apis-excluding-vim-e7d1292ce1070839.yaml | 6 + .../enhance-http-client-4fc0b823b8e740e9.yaml | 5 + .../enhanced-tacker-policy-f477637776771294.yaml | 6 + .../placement-enhancement-b39f4bf7987b5119.yaml | 10 + .../notes/remove-mistral-5c97610e1a4140a6.yaml | 9 + ...auto-heal-scale-with-vnfm-2f9a4533b12c96ed.yaml | 9 + .../support-cnf-pm-threshold-d982ece0ab57506b.yaml | 11 + ...ient-in-coordinate-script-c4e36f32e9f30dcb.yaml | 7 + ...xt-nw-change-in-changevnf-23a2adfd82c30f9c.yaml | 9 + ...rtifact-of-ansible-driver-cdb731436b5bc573.yaml | 10 + ...lti-conductors-onboarding-29410991aceecf1d.yaml | 6 + .../notes/support-postgresql-c3e798348ec7cc83.yaml | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 93 +- releasenotes/source/zed.rst | 6 + requirements.txt | 3 +- roles/config-enhanced-policy/tasks/main.yaml | 12 + .../files/create_admin_token.yaml | 11 +- roles/setup-default-vim/tasks/main.yaml | 22 +- roles/setup-fake-https-server/defaults/main.yaml | 8 + roles/setup-fake-https-server/tasks/main.yaml | 36 + roles/setup-k8s-nodes/tasks/main.yaml | 36 + roles/setup-k8s-oidc/files/create_keycloak.sh | 2 +- roles/setup-multi-az/defaults/main.yaml | 3 + roles/setup-multi-az/tasks/main.yaml | 20 + samples/mgmt_driver/ansible/ansible_driver.py | 50 +- .../container_update/container_update_mgmt.py | 61 +- samples/mgmt_driver/kubernetes/kubernetes_mgmt.py | 3 +- setup.cfg | 5 +- tacker/alarm_receiver.py | 2 - tacker/api/views/vnf_subscriptions.py | 3 +- tacker/api/vnflcm/v1/controller.py | 333 ++- tacker/api/vnfpkgm/v1/controller.py | 164 +- tacker/common/clients.py | 1 - tacker/common/csar_utils.py | 9 +- tacker/common/rpc.py | 7 +- tacker/common/topics.py | 1 - tacker/common/utils.py | 12 + tacker/conductor/conductor_server.py | 208 +- tacker/conf/__init__.py | 2 + tacker/conf/conductor.py | 4 + .../vim_monitor_rpc.py => conf/policy.py} | 25 +- tacker/conf/vnf_lcm.py | 6 +- tacker/conf/vnf_package.py | 5 +- tacker/context.py | 11 +- tacker/db/db_sqlalchemy/models.py | 3 +- ...ad3bbce1c18_create_of_network_service_tables.py | 13 +- ...24bec5f211c7_alter_value_in_deviceattributes.py | 9 +- .../2531c976c0f1_add_pm_threshold_table.py | 46 + .../versions/2c5211036579_add_placement_table.py | 10 +- .../34cfceb25a49_add_downloading_to_vnfpackage.py} | 29 +- .../3ff50553e9d3_add_grant_and_grant_request.py | 3 +- ...747cc26b9c6_add_support_vnffg_to_ns_database.py | 9 +- .../versions/507122918800_adds_vnffg.py | 11 +- .../5958429bcb3c_modify_datatype_of_value.py | 9 +- ...8f71ba2_alter_vnfd_ids_vnf_instance_ids_vnf_.py | 69 +- .../versions/941b5a6fff9e_enable_soft_delete.py | 7 +- .../versions/985e28392890_add_vnflcm_db.py | 14 +- .../versions/9d425296f2c3_add_vnfpkgm_db.py | 18 +- .../db/migration/alembic_migrations/versions/HEAD | 2 +- ...a23ebee909a8_introduce_sol_refactored_models.py | 16 +- .../c31f65e0d099_add_columns_to_vnf_lcm_filter.py | 130 +- .../c47a733f425a_add_vnflcm_subscription.py | 36 +- .../cd04a8335c18_mgmt_url_to_mgmt_ip_address.py | 9 +- .../d25c7c865ce8_mod_vnflcm_subscription.py | 16 +- .../de6bfa5bea46_remove_status_from_vim.py} | 26 +- .../versions/de8d835ae776_add_pm_and_fm_table.py | 8 +- ...c5871f3c_change_vnf_filter_column_definition.py | 89 +- ...e06fbdc90a32_add_db_tables_for_add_artifacts.py | 10 +- tacker/db/migration/cli.py | 46 +- tacker/db/migration/migrate_to_v2.py | 1057 ++++++++ tacker/db/nfvo/nfvo_db.py | 1 - tacker/db/nfvo/nfvo_db_plugin.py | 35 +- tacker/db/nfvo/ns_db.py | 52 +- tacker/db/types.py | 7 +- tacker/db/vnfm/vnfm_db.py | 1 + tacker/mistral/workflow_generator.py | 36 - tacker/nfvo/drivers/vim/kubernetes_driver.py | 9 + tacker/nfvo/drivers/vim/openstack_driver.py | 47 +- tacker/nfvo/drivers/workflow/workflow_generator.py | 277 -- tacker/nfvo/nfvo_plugin.py | 178 +- tacker/nfvo/workflows/vim_monitor/__init__.py | 15 - .../workflows/vim_monitor/vim_monitor_utils.py | 94 - .../nfvo/workflows/vim_monitor/vim_ping_action.py | 114 - .../workflows/vim_monitor/workflow_generator.py | 59 - tacker/objects/base.py | 2 +- tacker/objects/fields.py | 4 +- tacker/objects/vnf_instance.py | 34 + tacker/objects/vnf_lcm_op_occs.py | 27 + tacker/objects/vnf_lcm_subscriptions.py | 48 + tacker/objects/vnf_package.py | 59 +- tacker/policy.py | 157 +- tacker/sol_refactored/api/policies/vnflcm_v2.py | 14 + tacker/sol_refactored/api/policies/vnfpm_v2.py | 337 ++- .../sol_refactored/api/prometheus_plugin_router.py | 19 +- tacker/sol_refactored/api/router.py | 5 + tacker/sol_refactored/api/schemas/common_types.py | 19 +- .../api/schemas/prometheus_plugin_schemas.py | 8 +- tacker/sol_refactored/api/schemas/vnflcm_v2.py | 20 +- tacker/sol_refactored/api/schemas/vnfpm_v2.py | 72 +- tacker/sol_refactored/api/wsgi.py | 6 +- .../sol_refactored/common/common_script_utils.py | 190 +- tacker/sol_refactored/common/config.py | 184 +- tacker/sol_refactored/common/coord_client.py | 122 + tacker/sol_refactored/common/exceptions.py | 28 +- .../sol_refactored/common/fm_subscription_utils.py | 66 - tacker/sol_refactored/common/http_client.py | 123 +- tacker/sol_refactored/common/lcm_op_occ_utils.py | 27 +- .../common/monitoring_plugin_base.py | 41 +- tacker/sol_refactored/common/pm_job_utils.py | 62 - tacker/sol_refactored/common/pm_threshold_utils.py | 120 + tacker/sol_refactored/common/prometheus_plugin.py | 1102 +++++--- .../sol_refactored/common/server_notification.py | 33 +- tacker/sol_refactored/common/subscription_utils.py | 123 +- tacker/sol_refactored/common/vim_utils.py | 20 +- tacker/sol_refactored/common/vnf_instance_utils.py | 2 + tacker/sol_refactored/common/vnfd_utils.py | 55 +- tacker/sol_refactored/common/vnflcm_utils.py | 144 ++ .../sol_refactored/conductor/conductor_rpc_v2.py | 18 +- tacker/sol_refactored/conductor/conductor_v2.py | 84 +- .../conductor/prometheus_plugin_driver.py | 98 +- .../conductor/server_notification_driver.py | 29 +- .../sol_refactored/conductor/vnflcm_driver_v2.py | 113 +- tacker/sol_refactored/conductor/vnfpm_driver_v2.py | 30 + .../controller/prometheus_plugin_controller.py | 41 +- .../controller/server_notification.py | 4 +- tacker/sol_refactored/controller/vnffm_v1.py | 50 +- tacker/sol_refactored/controller/vnflcm_v2.py | 229 +- tacker/sol_refactored/controller/vnfpm_v2.py | 241 +- tacker/sol_refactored/controller/vnfpm_view.py | 21 + tacker/sol_refactored/db/sqlalchemy/models.py | 22 + .../infra_drivers/kubernetes/helm.py | 14 +- .../infra_drivers/kubernetes/kubernetes.py | 37 +- .../infra_drivers/kubernetes/kubernetes_common.py | 188 +- .../infra_drivers/openstack/heat_utils.py | 66 +- .../infra_drivers/openstack/nova_utils.py | 52 + .../infra_drivers/openstack/openstack.py | 335 ++- .../infra_drivers/openstack/userdata_standard.py | 241 +- .../mgmt_drivers/server_notification.py | 29 +- tacker/sol_refactored/nfvo/local_nfvo.py | 141 +- tacker/sol_refactored/nfvo/nfvo_client.py | 100 +- tacker/sol_refactored/objects/__init__.py | 6 + tacker/sol_refactored/objects/common/fields.py | 2 + .../objects/common/subscription_authentication.py | 32 + .../objects/v2/change_current_vnf_pkg_request.py | 2 - .../objects/v2/create_threshold_request.py | 36 + .../sol_refactored/objects/v2/lcm_coord_request.py | 51 + .../v2/lifecycle_change_notifications_filter.py | 2 +- tacker/sol_refactored/objects/v2/threshold.py | 57 + .../objects/v2/threshold_criteria.py | 43 + .../objects/v2/threshold_crossed_notification.py | 62 + .../objects/v2/threshold_modifications.py} | 28 +- .../test-tools/notif_endpoint_app.py | 53 +- .../Definitions/helloworld3_df_simple.yaml | 271 ++ .../Drivers/vnflcm_noop.py | 68 + .../ScriptANSIBLE/config_complex_end.yaml | 19 + .../Scripts/complex/instantiation_end.yaml | 10 + .../Definitions/helloworld3_df_simple.yaml | 271 ++ .../ScriptANSIBLE/config_complex_end.yaml | 19 + .../Scripts/complex/instantiation_end.yaml | 10 + .../kubernetes/horizontal-pod-autoscaler.yaml | 2 +- .../kubernetes/replicaset_service_secret.yaml | 4 +- .../etsi/nfv/test_cnf/TOSCA-Metadata/TOSCA.meta | 4 +- .../TOSCA-Metadata/TOSCA.meta | 2 +- .../TOSCA-Metadata/TOSCA.meta | 2 +- .../BaseHOT/simple/base_hot_top.yaml | 38 + .../BaseHOT/simple/nested/vdu1.yaml | 28 + .../Definitions/sample_vnfd_df_simple.yaml | 195 ++ .../Definitions/sample_vnfd_top.yaml | 31 + .../Definitions/sample_vnfd_types.yaml | 63 + .../test_enhanced_policy/TOSCA-Metadata/TOSCA.meta | 4 + .../nfv/test_enhanced_policy/UserData}/__init__.py | 0 .../test_enhanced_policy/UserData/lcm_user_data.py | 35 + .../functional/sol_enhanced_policy}/__init__.py | 0 .../sol_enhanced_policy/sol}/__init__.py | 0 .../sol/test_policy_vim_apis_openstack.py | 25 + .../sol/test_policy_vnf_package_apis.py | 244 ++ .../sol/test_policy_vnflcm_apis_v1.py | 253 ++ .../sol/test_policy_vnflcm_apis_v2.py | 974 +++++++ .../sol_kubernetes}/__init__.py | 0 .../sol_kubernetes/test_policy_cnflcm_apis_v1.py | 220 ++ .../sol_kubernetes/test_policy_cnflcm_apis_v2.py | 797 ++++++ .../test_policy_vim_apis_kubernetes.py | 25 + .../sol_https_v2/test_vnffm_https_basic.py | 402 +++ .../sol_https_v2/test_vnflcm_https_basic.py | 469 ++++ .../sol_https_v2/test_vnfpm_https_basic.py | 444 ++++ .../vnflcm_v1/test_kubernetes_oidc_auth.py | 12 + .../samples/tacker-monitoring-test.zip | Bin 4873 -> 0 bytes .../samples/tacker-monitoring-test/Dockerfile | 63 + .../samples/tacker-monitoring-test/entrypoint.sh | 5 + .../tacker-monitoring-test/requirements.txt | 0 .../samples/tacker-monitoring-test/rules/.gitkeep | 0 .../contents/Files/kubernetes/test-chart-0.1.1.tgz | Bin 3811 -> 2886 bytes .../kubernetes/test-chart/templates/NOTES.txt | 8 +- .../test-chart/templates/deployment_vdu1.yaml | 4 +- .../test-chart/templates/deployment_vdu2.yaml | 4 +- .../Files/kubernetes/test-chart/templates/hpa.yaml | 28 - .../kubernetes/test-chart/templates/ingress.yaml | 61 - .../Files/kubernetes/test-chart/values.yaml | 23 - .../contents/TOSCA-Metadata/TOSCA.meta | 2 +- .../contents/Files/kubernetes/test-chart-0.1.0.tgz | Bin 3811 -> 2882 bytes .../kubernetes/test-chart/templates/NOTES.txt | 8 +- .../test-chart/templates/deployment_vdu1.yaml | 4 +- .../test-chart/templates/deployment_vdu2.yaml | 4 +- .../Files/kubernetes/test-chart/templates/hpa.yaml | 28 - .../kubernetes/test-chart/templates/ingress.yaml | 61 - .../Files/kubernetes/test-chart/values.yaml | 23 - .../contents/TOSCA-Metadata/TOSCA.meta | 2 +- .../kubernetes/horizontal-pod-autoscaler.yaml | 2 +- .../kubernetes/replicaset_service_secret.yaml | 4 +- .../contents/TOSCA-Metadata/TOSCA.meta | 4 +- .../test_instantiate_cnf_resources/pkggen.py | 4 + .../functional/sol_kubernetes_v2/test_helm.py | 15 +- .../sol_kubernetes_v2/test_prom_auto_scale_heal.py | 355 +++ .../test_prometheus_auto_scaling.py | 115 - .../test_threshold_prometheus_plugin.py | 782 ++++++ .../sol_kubernetes_v2/test_vnfpm_basic.py | 91 + .../test_vnfpm_threshold_basic.py | 336 +++ .../functional/sol_v2/test_individual_vnfc_mgmt.py | 436 +++- .../functional/sol_v2/test_prom_auto_scale_heal.py | 361 +++ .../functional/sol_v2/test_server_notification.py | 372 +-- .../functional/sol_v2_az_retry/test_az_retry.py | 180 ++ .../sol_v2_common/samples/basic_lcms_min/pkggen.py | 6 +- .../contents/Scripts/sample_script.py | 29 +- .../samples/server_notification/pkggen.py | 6 +- .../contents/BaseHOT/simple/nested/VDU1.yaml | 7 +- .../contents/BaseHOT/simple/nested/VDU2.yaml | 5 +- .../contents/BaseHOT/simple/sample3.yaml | 4 +- .../contents/Scripts/coordinate_vnf.py | 34 + .../samples/userdata_standard/pkggen.py | 4 + .../contents/BaseHOT/simple/nested/VDU1.yaml | 52 + .../contents/BaseHOT/simple/sample6.yaml | 46 + .../contents/Definitions/v2_sample6_df_simple.yaml | 269 ++ .../contents/Definitions/v2_sample6_top.vnfd.yaml | 31 + .../contents/Definitions/v2_sample6_types.yaml | 55 + .../contents/Scripts/coordinate_vnf.py | 46 + .../contents/Scripts/sample_script.py | 68 + .../contents/TOSCA-Metadata/TOSCA.meta | 4 + .../samples/userdata_standard_az_retry/pkggen.py | 70 + .../contents/BaseHOT/simple/nested/VDU1.yaml | 15 +- .../contents/BaseHOT/simple/nested/VDU2.yaml | 11 +- .../contents/BaseHOT/simple/sample4.yaml | 6 +- .../contents/Scripts/coordinate_vnf.py | 34 + .../contents/BaseHOT/simple/nested/VDU1-ver2.yaml | 61 + .../contents/BaseHOT/simple/nested/VDU2-ver2.yaml | 79 + .../contents/BaseHOT/simple/sample5.yaml | 59 + .../contents/Definitions/v2_sample5_df_simple.yaml | 375 +++ .../contents/Definitions/v2_sample5_top.vnfd.yaml | 31 + .../contents/Definitions/v2_sample5_types.yaml | 55 + .../contents/Scripts/coordinate_vnf.py | 46 + .../contents/Scripts/sample_script.py | 68 + .../contents/TOSCA-Metadata/TOSCA.meta | 4 + .../userdata_standard_change_vnfpkg_nw/pkggen.py | 60 + .../sol_v2_common/test_vnflcm_basic_common.py | 110 +- .../nfvo/drivers/vim/test_kubernetes_driver.py | 40 +- .../drivers/workflow/test_workflow_generator.py | 403 --- .../common/test_common_script_utils.py | 352 ++- .../sol_refactored/common/test_coord_client.py | 176 ++ .../common/test_fm_subscription_utils.py | 109 +- .../sol_refactored/common/test_lcm_op_occ_utils.py | 43 +- .../sol_refactored/common/test_pm_job_utils.py | 201 +- .../common/test_pm_threshold_utils.py | 122 + .../common/test_prometheus_plugin.py | 824 +++++- .../common/test_server_notification.py | 10 +- .../common/test_subscription_utils.py | 197 +- .../common/test_vnf_instance_utils.py | 41 + .../unit/sol_refactored/common/test_vnfd_utils.py | 19 +- .../sol_refactored/conductor/test_conductor_v2.py | 102 + .../conductor/test_prometheus_plugin.py | 98 +- .../conductor/test_server_notification.py | 25 +- .../conductor/test_vnffm_driver_v1.py | 3 +- .../conductor/test_vnflcm_driver_v2.py | 129 +- .../conductor/test_vnfpm_driver_v2.py | 36 + .../controller/test_prometheus_plugin.py | 204 +- .../controller/test_server_notification.py | 71 +- .../sol_refactored/controller/test_vnffm_v1.py | 87 +- .../sol_refactored/controller/test_vnflcm_v2.py | 1092 +++++++- .../sol_refactored/controller/test_vnfpm_v2.py | 286 ++- .../sol_refactored/controller/test_vnfpm_view.py | 42 + .../infra_drivers/kubernetes/fakes.py | 116 + .../infra_drivers/kubernetes/test_kubernetes.py | 172 +- .../infra_drivers/openstack/test_openstack.py | 2662 ++++++++++++++------ .../unit/sol_refactored/nfvo/test_local_nfvo.py | 13 +- .../unit/sol_refactored/nfvo/test_nfvo_client.py | 117 +- .../kubernetes/horizontal-pod-autoscaler.yaml | 2 +- .../kubernetes/replicaset_service_secret.yaml | 4 +- .../samples/sample2/TOSCA-Metadata/TOSCA.meta | 4 +- .../BaseHOT/simple/nested/VDU1.yaml | 52 + .../BaseHOT/simple/nested/VDU2.yaml | 69 + .../standard_sample/BaseHOT/simple/sample3.yaml | 57 + .../Definitions/v2_sample3_df_simple.yaml | 357 +++ .../Definitions/v2_sample3_top.vnfd.yaml | 31 + .../Definitions/v2_sample3_types.yaml | 55 + .../standard_sample/Scripts/coordinate_vnf.py | 46 + .../standard_sample/Scripts/sample_script.py | 68 + .../standard_sample/TOSCA-Metadata/TOSCA.meta | 4 + .../horizontal-pod-autoscaler.yaml | 2 +- .../kubernetes_api_resource/service.yaml | 2 +- .../kubernetes/test_kubernetes_driver.py | 544 ++++ .../mgmt_drivers/test_container_update_mgmt.py | 75 +- .../vdu_autoheal/test_vdu_autoheal.py | 1 - tacker/vnflcm/vnflcm_driver.py | 72 +- .../infra_drivers/kubernetes/kubernetes_driver.py | 405 +++ tacker/vnfm/infra_drivers/kubernetes/utils.py | 23 + tacker/vnfm/plugin.py | 2 +- tacker/wsgi.py | 16 + tools/gen_vim_config.sh | 14 + tools/test-setup-fake-prometheus-server.sh | 4 +- tools/test-setup-k8s-vim.sh | 15 +- tox.ini | 38 +- vagrant/devstack/README.md | 27 +- vagrant/devstack/Vagrantfile | 101 +- vagrant/devstack/hosts | 14 +- vagrant/devstack/lib/vd_utils.rb | 26 +- .../controller/tasks/vim_extra_plugins.yml | 2 +- .../ubuntu-jammy/compute/tasks/basic_pkgs.yml | 6 + .../roles/ubuntu-jammy/compute/tasks/devstack.yml | 15 + .../roles/ubuntu-jammy/compute/tasks/main.yml | 6 + .../ubuntu-jammy/compute/templates/local.conf.j2 | 22 + .../ubuntu-jammy/controller/tasks/basic_pkgs.yml | 16 + .../ubuntu-jammy/controller/tasks/devstack.yml | 20 + .../ubuntu-jammy/controller/tasks/extra_tools.yml | 8 + .../ubuntu-jammy/controller/tasks/git_config.yml | 4 + .../roles/ubuntu-jammy/controller/tasks/main.yml | 23 + .../controller/tasks/python3_specific_vers.yml | 16 + .../controller/tasks/remove_useless_pkgs.yml | 11 + .../ubuntu-jammy/controller/tasks/set_path_env.yml | 5 + .../ubuntu-jammy/controller/tasks/setup_tacker.yml | 65 + .../controller/tasks/vim_extra_plugins.yml | 29 + .../ubuntu-jammy/controller/tasks/vim_latest.yml | 8 + .../ubuntu-jammy/controller/templates/vimrc.j2 | 159 ++ vagrant/devstack/samples/machines-2nodes.yml | 13 +- vagrant/devstack/samples/machines.yml | 10 +- vagrant/devstack/site.yaml | 12 + 477 files changed, 38751 insertions(+), 6591 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index b3abc896..d67c7a2d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28 +28 @@ oslo.log>=3.36.0 # Apache-2.0 -oslo.messaging>=9.3.0 # Apache-2.0 +oslo.messaging>=14.2.0 # Apache-2.0 @@ -43 +42,0 @@ python-keystoneclient>=3.8.0 # Apache-2.0 -python-mistralclient>=4.2.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org