[release-announce] tacker 8.0.0 (zed)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 5 12:32:06 UTC 2022


We enthusiastically announce the release of:

tacker 8.0.0: OpenStack NFV Orchestration

This release is part of the zed 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.

8.0.0
^^^^^

New Features

* This patch adds the ability to periodically synchronize resources
  in K8s VIM and Tacker DB. There is no interface on the K8s to notify
  Tacker when the auto-scale or auto-heal of a pod is running and the
  pod information is updated. This can lead to inconsistencies between
  the Pod information in Tacker database and the Pod information
  running on the actual K8s. This function periodically checks the pod
  information in the Tacker database and the pod information in the
  K8s, and updates the information in the Tacker database according to
  the K8s side if there is any inconsistency.

* Adding the VNF version upgrading function to the tacker-db-manage
  command, which enables users to upgrade VNFs from v1 to v2 without
  re-instantiating it.

* The Ansible driver can only run specific script files. Due to
  multi artifact support of mgmt driver, it will be extended to
  specify script files to be executed in each life cycle. This will be
  achieved by implementing primary and dependencies keys defined by
  TOSCA, primary can define the primary script, dependencies can
  define a secondary script that will be referenced by the primary
  script.

Changes in tacker 7.0.0.0rc1..8.0.0
-----------------------------------

aa51977e Fix Prometheus Plugin syntax error
1c23cb29 Fix k8s resource name handling in CNF v2 API
85324256 A DB migration tool for API version update
f31b3773 Support multi artifact of ansible driver
276f74e5 Support multi artifact of interfaces
3b81663a Database sync between TackerDB and Kubernetes
dfc856ba Update TOX_CONSTRAINTS_FILE for stable/zed
6763b700 Update .gitreview for stable/zed
20afc2cc Add support faultnotification auto heal
85b57883 Add docs for cnf auto heal and scale
090dad0c Adding release notes of merged bugs
b1fe0f5d Reduce the time for UT
d1a23a3c Add support cnf auto heal and scale
fefe731e Add str_to_bool util
64590808 Add docs of database sync
120b0322 Fix not trigger FT on api-ref update
b313eb44 Stabilize Zuul jobs
b80d2788 Update docs of User guide and API reference
bb7b3cfc Helm chart support for CNF v2 API
0c69e122 Refactor for Performance Improvement
f41cee0c Remove deprecated keystoneclient
831c1f8d Update API doc for vnf packages list with paging
4e1f1323 Fix link, doc conventions in VNFD template guide
49be1faa Update releasenotes from Zed cycle
7b9b1284 Add releasenote for paging of vnf packages API
dd7569eb Add docs for performance improvement
00aff015 Add docs of registering vim
12e8fc13 Add releasenote for remove cnf restriction
4a162a3f Support change_vnfpkg v2 API to change external CP
9922d94c Add prelude section for Zed releasenote
57902730 Add OpenID Connect Token Auth for k8s
03956dad Support vimConnectionInfo.extra when CNF deploy
8c7e2867 Enable retries when sending notifications
2fceb352 Add negative FT for subscription in multi tenancy
1d932149 Improve Unit Test for V2 API
fec4f537 Fix compatibility with oslo.db 12.1.0
72e361bb Add docs for faultnotification auto heal
d5a97c5f Restrict changing subscription of different tenant
736b457d CNF v2 API enhance and refactor
8c00bf51 Enhance Container Update Function
0403aa58 Support individual VNFc management using HOT
3bdb71c8 Handled exception in exception of instantiation
d35a24af Release notes for enhance multi-tenant feature
6597bc24 Revert python-tackerclient installation
c5d4b335 Support handling large queries for vnf packages
80ab9018 Fix misuse of assertTrue
9d5a84c2 Fixed some bugs for Mgmt Driver
c995228d Update API doc and CLI doc
d4ff8e02 Error log generated after instantiation fails
d18bf0dd Add negative FT for VNF package in multi tenancy
98d3f4bf Fix SSL certificate setting error
5014b519 Imported Translations from Zanata
acb231d7 Refactor change_vnfpkg v2 API
b8c1f9da Fixed 'storageResourceIds' after SCALE-OUT
1b3facbb make getting vnf package tenant aware
18662b13 Fix external link port id of instantiatedVnfInfo
40e89565 Fix IPv4 check failure in UT
3a7fa3d9 Imported Translations from Zanata
6b350773 Fix Desired Capacity for heat is not updated
fc730978 Update config in tacker installer
d8f16acd Implemented number format in additional params
e1a4666f Imported Translations from Zanata
6441914c Fix k8s init error when file contains special key
0e3793b1 Improve API Documentation for v2 API
f957dd68 Add doc of Using OAuth2.0 for Tacker
a89d5b28 Enable multiple VNFs creation from one package
b4fc03f8 Imported Translations from Zanata
0984f29f affectedVirtualStorages should not be set
9b0b7d3b Add doc of container update
f7e241ec Add doc of Change Current VNF Package
baeb3bcd Improve VNF Package for v2 API FT
39925d11 Remove deprecated attributes from context
8b5969e4 Update API doc for paging large query results
e8dfc6b0 Fix usage of deprecated .best_match()
be72fd1a Add Separated NFVO FT for V2 API
048ba8fc Suppress Warnings for SQL Alchemy IN operator
0e68a316 Change to not convert additionalParams of V1 API
223badc3 'ipAddresses' field missing in example file
e0e7b538 Support handling of large query results
5a90bf24 Implemented check on range end to fetch artifact
87ff1bdd Use getpass.getuser() in test_privsep
59dba1d8 Drop lower-constraints.txt and its testing
00d8f69f Refactor wsgi of v2 API
6873da0b Use full URL to call external NFVO
d81429ed Fix incorrect attribute names in v2 API
5aec1089 Use more reasonable default domain name
e2db1c7a Fix validate error when k8s resource init
045c5d3e Update doc for deploying CNF
dbbe0834 “change_ext_conn” wrongly mentioned in document
883cd6be Fix failure of testing privsep
e71fd766 Apply Robot Framework for testing
df0f8fc6 Support Basic Lifecycle Operations of CNF v2 API
78dbba65 Support ChangeCurrentVNFPackage for VNF of v2 API
147f8c43 Add a Sample VNF Package for Ansible Driver
611b8b10 Add a Sample Ansible Driver
3dcc1279 Add missed parameters in auto-generated config
9f720296 Imported Translations from Zanata
4bbc32d4 Test to create VNF instance with 'VNF' name
b4ee7d64 Setup multi tenants for multi-tenant job only
2ee46543 Add a VNF package sample for practical use cases
2ae07e66 Update doc of Helm chart for Kubernetes VIM
1f0f6692 Add Python3 zed unit tests
0833d04f Update master for stable/yoga
226281e8 FT of multi tenants for CNF
cabb4749 Add documents for enhance operations in V2
86fd9ede Move Sample Kubernetes Driver Directory
c0e8aed8 Revert gawk installation


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

.gitreview                                         |    1 +
.zuul.yaml                                         |  130 +-
api-ref/source/index.rst                           |    4 +
api-ref/source/v1/status.yaml                      |    5 +
api-ref/source/v1/vnf_packages.inc                 |    7 +
api-ref/source/v1/vnflcm.inc                       |   21 +
api-ref/source/v2/fault_notification.inc           |   53 +
api-ref/source/v2/fault_notification.rst           |    9 +
.../source/v2/parameters_fault_notification.yaml   |   50 +
.../source/v2/parameters_prometheus_plugin.yaml    |  150 ++
api-ref/source/v2/parameters_vnffm.yaml            |  335 +++
api-ref/source/v2/parameters_vnflcm.yaml           |  335 ++-
api-ref/source/v2/parameters_vnfpm.yaml            |  292 +++
api-ref/source/v2/prometheus_plugin.inc            |  151 ++
api-ref/source/v2/prometheus_plugin.rst            |    9 +
.../v2/samples/fault_notification/notify.json      |   11 +
.../prometheus_plugin/alert_auto_scale.json        |   17 +
.../v2/samples/prometheus_plugin/alert_fm.json     |   21 +
.../v2/samples/prometheus_plugin/alert_pm.json     |   19 +
.../vnffm/create-vnffm-subscription-request.json   |   57 +
.../vnffm/create-vnffm-subscription-response.json  |   54 +
.../samples/vnffm/list-vnffm-alarm-response.json   |   41 +
.../vnffm/list-vnffm-subscription-response.json    |   56 +
.../samples/vnffm/modify-vnffm-alarm-request.json  |    3 +
.../samples/vnffm/modify-vnffm-alarm-response.json |    3 +
.../samples/vnffm/show-vnffm-alarm-response.json   |   39 +
.../vnffm/show-vnffm-subscription-response.json    |   54 +
.../v2/samples/vnflcm/change-ext-conn-request.json |  195 ++
.../v2/samples/vnflcm/change-vnfpkg-request.json   |  224 ++
.../vnflcm/create-subscription-response.json       |    2 +-
.../vnflcm/create-vnf-instance-response.json       |    4 +-
.../fail-vnflcm-operation-occurrence-response.json |   10 +-
.../samples/vnflcm/heal-vnf-instance-request.json  |    7 +
.../samples/vnflcm/list-subscription-response.json |    2 +-
.../samples/vnflcm/list-vnf-instance-response.json |   30 +-
.../list-vnflcm-operation-occurrence-response.json |   20 +-
.../samples/vnflcm/scale-vnf-instance-request.json |    8 +
.../samples/vnflcm/show-subscription-response.json |    2 +-
.../samples/vnflcm/show-vnf-instance-response.json |   30 +-
.../show-vnflcm-operation-occurrence-response.json |   10 +-
.../vnflcm/update-vnf-instance-request.json        |   48 +
.../v2/samples/vnfpm/create-pm-job-request.json    |   49 +
.../v2/samples/vnfpm/create-pm-job-response.json   |   20 +
.../v2/samples/vnfpm/list-pm-job-response.json     |   22 +
.../samples/vnfpm/show-pm-job-report-response.json |   12 +
.../v2/samples/vnfpm/show-pm-job-response.json     |   20 +
.../v2/samples/vnfpm/update-pm-job-request.json    |    3 +
.../v2/samples/vnfpm/update-pm-job-response.json   |    3 +
api-ref/source/v2/status.yaml                      |   18 +-
api-ref/source/v2/vnffm.inc                        |  474 ++++
api-ref/source/v2/vnffm.rst                        |    9 +
api-ref/source/v2/vnflcm.inc                       |  455 +++-
api-ref/source/v2/vnfpm.inc                        |  382 ++++
api-ref/source/v2/vnfpm.rst                        |    9 +
devstack/lib/tacker                                |    4 -
devstack/settings                                  |    8 -
.../etsi_cnf_change_current_vnf_package.png        |  Bin 0 -> 49265 bytes
.../_images/etsi_cnf_change_current_vnf_package.pu |   35 +
.../etsi_vnf_change_current_vnf_package.png        |  Bin 0 -> 35166 bytes
.../_images/etsi_vnf_change_current_vnf_package.pu |   33 +
.../_images/mgmt_driver_for_container_update.png   |  Bin 0 -> 61404 bytes
.../_images/mgmt_driver_for_container_update.pu    |   40 +
.../contributor/vnfd_template_description.rst      |  636 +++---
.../kubernetes_openid_token_auth_usage_guide.rst   |  322 +++
.../user/etsi_cnf_change_current_vnf_package.rst   |  545 +++++
.../user/etsi_containerized_vnf_usage_guide.rst    |  147 +-
.../user/etsi_vnf_change_current_vnf_package.rst   |  947 ++++++++
.../etsi_vnf_change_external_vnf_connectivity.rst  |    2 +-
.../etsi_vnf_deployment_as_vm_with_user_data.rst   |   13 +-
.../user/fault_notification_use_case_guide.rst     |  168 ++
.../mgmt_driver_deploy_k8s_and_cnf_with_helm.rst   |  164 +-
.../mgmt_driver_deploy_k8s_cir_usage_guide.rst     |    4 +-
...gmt_driver_deploy_k8s_kubespary_usage_guide.rst |    8 +-
.../user/mgmt_driver_deploy_k8s_usage_guide.rst    |   48 +-
.../mgmt_driver_for_ansible_driver_usage_guide.rst |  640 ++++++
.../user/mgmt_driver_for_container_update.rst      |  787 +++++++
.../user/practical_sample_package_usage_guide.rst  | 1205 ++++++++++
.../user/prometheus_plugin_use_case_guide.rst      |  336 +++
etc/config-generator.conf                          |   44 +-
etc/tacker/api-paste.ini                           |   34 +
lower-constraints.txt                              |  157 --
playbooks/devstack/pre.yaml                        |    7 +-
...add-sample-ansible-driver-f204be6350c8a546.yaml |   13 +
...ling-by-faultnotification-ae639a6dc0b02602.yaml |    9 +
.../add-v2-change-vnfpkg-api-7f993cf283a53aab.yaml |    8 +
.../notes/add-v2-cnf-api-a938c17b5c57fb67.yaml     |   12 +
...bot-framework-for-testing-d04256887fd9bee7.yaml |   21 +
...-range-end-fetch-artifact-3c8ac96c3f2a89cf.yaml |    8 +
...esourceIds-scaled-out-VDU-f689291a48606021.yaml |    9 +
...ext-conn-name-in-document-d5936dfcb507bb50.yaml |    9 +
...sses-missing-example-file-9fba2ba98ba2e1bd.yaml |   10 +
...lStorages-in-notification-9c9c2343a339bde2.yaml |    8 +
...g-1976440-fix-mgmt-driver-e539cc940aa7a2f8.yaml |    7 +
...ug-1978071-k8s-init-error-7e0a8b2464019f81.yaml |    8 +
...rmat-in-additional-params-1048932e426cdf7b.yaml |    9 +
...-1979413-ssl-cert-setting-2cf3f29c12a1c64c.yaml |    7 +
...after-instantiation-fails-13f3ec6937757e45.yaml |    8 +
...cm-exception-in-exception-66a3d50cb80f2782.yaml |   10 +
...ion-change-of-diff-tenant-06a03559bfca3431.yaml |    8 +
...database_synchronaization-ed47b552227892cf.yaml |   13 +
...ommand-for-version-update-01ca32f1187fe0cf.yaml |    7 +
...hance-multi-tenant-policy-80ff4f8ecb11d8d3.yaml |    6 +
...tion-for-container-update-0da4499cc0e55dcf.yaml |    9 +
...f-from-one-package-cnf-v1-7ae8976ae9322733.yaml |   11 +
...r-performance-improvement-fc176d9abfec6c76.yaml |    9 +
.../remove-cnf-restriction-7f1310274b086bb0.yaml   |    8 +
...pkg-to-change-external-cp-336e349c6ac0d7a9.yaml |    6 +
...uto-heal-scale-with-tools-96ff8266ae9d31af.yaml |   17 +
...le-rollback-in-v2-lcm-api-25051324608e2dd3.yaml |   11 +
...erations-using-helm-chart-c540f96720e7269f.yaml |    9 +
...ndividual-vnfc-management-7a942395ad7ca7de.yaml |    7 +
...rtifact-of-ansible-driver-cdb731436b5bc573.yaml |   10 +
.../support-openid-k8s-vim-8767a454e6b0a72d.yaml   |    7 +
...t-paging-for-vnf-packages-b91fb0c37c9fa63a.yaml |    7 +
.../notes/zed-prelude-a2c2a086b025bdb1.yaml        |   19 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |  524 ++++-
releasenotes/source/yoga.rst                       |    6 +
requirements.txt                                   |   12 +-
roles/setup-default-vim/tasks/main.yaml            |   90 +
roles/setup-fake-prometheus-server/tasks/main.yaml |   39 +
roles/setup-helm/tasks/main.yaml                   |   21 +
roles/setup-k8s-oidc/defaults/main.yaml            |    1 +
.../setup-k8s-oidc/files/cluster_role_binding.yaml |   11 +
roles/setup-k8s-oidc/files/create_keycloak.sh      |   10 +
roles/setup-k8s-oidc/files/generate_ssl_cert.sh    |   27 +
roles/setup-k8s-oidc/files/import_oidc_realm.sh    |   19 +
roles/setup-k8s-oidc/files/oidc_realm.json         | 1843 ++++++++++++++++
roles/setup-k8s-oidc/files/ssl_csr.conf            |   12 +
roles/setup-k8s-oidc/tasks/main.yaml               |  109 +
roles/setup-multi-tenant-vim/defaults/main.yaml    |    6 +
roles/setup-multi-tenant-vim/tasks/main.yaml       |   87 +
.../Scripts/free5gc_mgmt_cnf.py                    |   10 +
.../Scripts/kubernetes_mgmt_free5gc.py             |    8 +
.../Scripts/free5gc_mgmt_cnf.py                    |   10 +
.../Scripts/free5gc_mgmt.py                        |   10 +
.../Scripts/free5gc_mgmt.py                        |   10 +
.../Scripts/free5gc_mgmt.py                        |   10 +
.../vnf/change_ext_conn/Scripts/free5gc_mgmt.py    |   10 +
.../Scripts/free5gc_mgmt.py                        |   10 +
.../UserData => ansible}/__init__.py               |    0
samples/mgmt_driver/ansible/ansible.py             |  144 ++
.../mgmt_driver/ansible/ansible_config_parser.py   |  468 ++++
.../ansible/ansible_config_parser_cfg.py           |   40 +
samples/mgmt_driver/ansible/ansible_driver.py      |  318 +++
.../BaseHOT/default/VNF-hot.yaml                   |   50 +
.../BaseHOT/default/nested/VDU1.yaml               |   45 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1465 ++++++++++++
.../Definitions/helloworld3_df_default.yaml        |  225 ++
.../Definitions/helloworld3_top.vnfd.yaml          |   28 +
.../Definitions/helloworld3_types.yaml             |   47 +
.../ansible_vnf_package/ScriptANSIBLE/config.yaml  |   39 +
.../Scripts/Media/sample_start.yaml                |   13 +
.../ansible_vnf_package/TOSCA-Metadata/TOSCA.meta  |    7 +
.../ansible_vnf_package}/UserData/__init__.py      |    0
.../ansible_vnf_package/UserData/lcm_user_data.py  |   35 +
.../mgmt_driver/ansible/config_actions/__init__.py |    0
.../ansible/config_actions/abstract_config.py      |    4 +
.../config_actions/vm_app_config/__init__.py       |    0
.../vm_app_config/ansible_playbook_exec.py         |  160 ++
.../config_actions/vm_app_config/config_walker.py  |   45 +
.../config_actions/vm_app_config/executor.py       |  361 +++
.../config_actions/vm_app_config/vm_app_config.py  |  143 ++
samples/mgmt_driver/ansible/config_validator.py    |   60 +
.../mgmt_driver/ansible/config_validator_schema.py |  135 ++
samples/mgmt_driver/ansible/event_handler.py       |   25 +
samples/mgmt_driver/ansible/exceptions.py          |  144 ++
samples/mgmt_driver/ansible/heat_client.py         |   56 +
samples/mgmt_driver/ansible/utils.py               |   47 +
.../container_update/container_update_mgmt.py      |   85 +-
.../{ => kubernetes}/create_admin_token.yaml       |    0
.../mgmt_driver/{ => kubernetes}/install_helm.sh   |    0
.../{ => kubernetes}/install_k8s_cluster.sh        |    0
.../{ => kubernetes}/kubernetes_mgmt.py            |   14 +-
.../BaseHOT/complex/complex_hot_top.yaml           |    0
.../complex/nested/complex_nested_master.yaml      |    0
.../complex/nested/complex_nested_worker.yaml      |    0
.../nested/podaffinity_nested_master.yaml          |    0
.../nested/podaffinity_nested_worker.yaml          |    0
.../BaseHOT/podaffinity/podaffinity_hot_top.yaml   |    0
.../simple/nested/simple_nested_master.yaml        |    0
.../simple/nested/simple_nested_worker.yaml        |    0
.../BaseHOT/simple/simple_hot_top.yaml             |    0
.../Definitions/sample_kubernetes_df_complex.yaml  |    0
.../sample_kubernetes_df_podaffinity.yaml          |    0
.../Definitions/sample_kubernetes_df_simple.yaml   |    0
.../Definitions/sample_kubernetes_top.vnfd.yaml    |    0
.../Definitions/sample_kubernetes_types.yaml       |    0
.../TOSCA-Metadata/TOSCA.meta                      |    0
.../kubernetes_vnf_package/UserData/__init__.py    |    0
.../UserData/k8s_cluster_user_data.py              |    0
.../cnf_nodeport_setting/cnf_nodeport_mgmt.py      |   10 +
.../Definitions/helloworld3_df_simple.yaml         |    0
.../Definitions/helloworld3_top.vnfd.yaml          |    0
.../Definitions/helloworld3_types.yaml             |    0
.../Files/kubernetes/deployment.yaml               |    0
.../Files/kubernetes/service_with_nodeport.yaml    |    0
.../Files/kubernetes/service_without_nodeport.yaml |    0
.../TOSCA-Metadata/TOSCA.meta                      |    0
.../kubespray/cnf_nodeport_setting/configure_lb.sh |    7 +-
.../kubespray/install_external_lb.sh               |    0
.../{ => kubernetes}/kubespray/kubespray_mgmt.py   |    3 +-
.../BaseHOT/simple/base_hot_top.yaml               |    0
.../simple/nested/base_hot_nested_master.yaml      |    0
.../simple/nested/base_hot_nested_worker.yaml      |    0
.../Definitions/sample_kubernetes_df_simple.yaml   |    0
.../Definitions/sample_kubernetes_top.vnfd.yaml    |    0
.../Definitions/sample_kubernetes_types.yaml       |    0
.../TOSCA-Metadata/TOSCA.meta                      |    0
.../kubespray_vnf_package/UserData/__init__.py     |    0
.../UserData/lcm_user_data.py                      |    0
.../{ => kubernetes}/private_registry_mgmt.py      |    0
.../Definitions/etsi_nfv_sol001_common_types.yaml  |    0
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    |    0
.../Definitions/sample_vnfd_df_simple.yaml         |    0
.../Definitions/sample_vnfd_top.yaml               |    0
.../Definitions/sample_vnfd_types.yaml             |    0
.../TOSCA-Metadata/TOSCA.meta                      |    0
.../practical_vnf_package/BaseHOT/ha/ha_hot.yaml   |  139 ++
.../BaseHOT/scalable/nested/VDU_0.yaml             |   77 +
.../BaseHOT/scalable/nested/VDU_1.yaml             |   77 +
.../BaseHOT/scalable/nested/VDU_2.yaml             |   77 +
.../BaseHOT/scalable/scalable_hot.yaml             |  129 ++
.../practical_vnf_package/Definitions/Common.yaml  |   72 +
.../practical_vnf_package/Definitions/Node.yaml    |   31 +
.../practical_vnf_package/Definitions/df_ha.yaml   |  232 ++
.../Definitions/df_scalable.yaml                   |  391 ++++
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  203 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1466 ++++++++++++
.../TOSCA-Metadata/TOSCA.meta                      |    4 +
samples/practical_vnf_package/UserData/__init__.py |    0
.../UserData/lcm_user_data.py                      |  409 ++++
setup.cfg                                          |   30 +-
tacker/alarm_receiver.py                           |    4 +-
tacker/api/api_common.py                           |    5 +-
tacker/api/extensions.py                           |    7 +-
tacker/api/v1/base.py                              |    9 +-
tacker/api/v1/resource.py                          |    4 +-
tacker/api/validation/parameter_types.py           |   24 +-
tacker/api/vnflcm/v1/controller.py                 |   16 +-
tacker/api/vnfpkgm/v1/controller.py                |   69 +-
tacker/auth.py                                     |   21 +-
tacker/common/clients.py                           |    4 +-
tacker/common/cmd_executer.py                      |    3 +-
tacker/common/config.py                            |    2 +-
tacker/common/container/kubernetes_utils.py        |   36 +-
tacker/common/csar_utils.py                        |    2 +-
tacker/common/driver_manager.py                    |    4 +-
tacker/common/oidc_utils.py                        |   57 +
tacker/common/utils.py                             |   28 +-
tacker/conductor/conductor_server.py               |  257 ++-
tacker/conf/conductor.py                           |    4 +
tacker/conf/vnf_package.py                         |    6 +
tacker/context.py                                  |    3 +-
tacker/db/api.py                                   |    3 +
tacker/db/db_base.py                               |    4 +-
.../db/migration/alembic_migrations/versions/HEAD  |    2 +-
.../versions/de8d835ae776_add_pm_and_fm_table.py   |   92 +
tacker/db/migration/cli.py                         |   46 +-
tacker/db/migration/migrate_to_v2.py               | 1057 +++++++++
tacker/db/nfvo/nfvo_db.py                          |    5 +-
tacker/db/nfvo/nfvo_db_plugin.py                   |   17 +-
tacker/db/vnfm/vnfm_db.py                          |    9 +-
tacker/extensions/nfvo.py                          |    8 +
tacker/extensions/vnfm.py                          |    5 +
tacker/glance_store/store.py                       |   12 +-
tacker/mistral/mistral_client.py                   |    2 +-
tacker/nfvo/drivers/vim/kubernetes_driver.py       |   20 +-
tacker/nfvo/drivers/vim/openstack_driver.py        |   67 +-
tacker/nfvo/drivers/vnffg/sfc_drivers/noop.py      |    4 +-
tacker/nfvo/nfvo_plugin.py                         |   48 +-
tacker/objects/fields.py                           |    4 +-
tacker/objects/vim_connection.py                   |    3 +-
tacker/objects/vnf_lcm_subscriptions.py            |   29 +-
tacker/objects/vnf_package.py                      |   25 +-
tacker/objects/vnfd.py                             |    8 +-
tacker/objects/vnfd_attribute.py                   |    6 +-
tacker/policies/__init__.py                        |    4 +
tacker/policies/base.py                            |    2 +-
tacker/policy.py                                   |    6 +-
tacker/privileged/__init__.py                      |    2 +-
tacker/sol_refactored/api/api_version.py           |   40 +-
tacker/sol_refactored/api/policies/vnffm_v1.py     |  110 +
tacker/sol_refactored/api/policies/vnflcm_v2.py    |   30 +-
tacker/sol_refactored/api/policies/vnfpm_v2.py     |  132 ++
.../sol_refactored/api/prometheus_plugin_router.py |   43 +
.../api/prometheus_plugin_validator.py             |   46 +
.../sol_refactored/api/prometheus_plugin_wsgi.py   |   68 +
tacker/sol_refactored/api/router.py                |   29 +
tacker/sol_refactored/api/schemas/common_types.py  |   41 +-
.../api/schemas/prometheus_plugin_schemas.py       |   87 +
.../api/schemas/server_notification_schemas.py     |   44 +
tacker/sol_refactored/api/schemas/vnffm_v1.py      |  173 ++
tacker/sol_refactored/api/schemas/vnflcm_v2.py     |   28 +
tacker/sol_refactored/api/schemas/vnfpm_v2.py      |   86 +
.../api/server_notification_router.py              |   28 +
.../api/server_notification_validator.py           |   51 +
.../sol_refactored/api/server_notification_wsgi.py |   82 +
tacker/sol_refactored/api/wsgi.py                  |  163 +-
tacker/sol_refactored/common/cinder_utils.py       |   45 +
.../sol_refactored/common/common_script_utils.py   |  237 ++
tacker/sol_refactored/common/config.py             |  104 +-
tacker/sol_refactored/common/coordinate.py         |   35 +-
tacker/sol_refactored/common/exceptions.py         |  199 ++
tacker/sol_refactored/common/fm_alarm_utils.py     |   86 +
.../sol_refactored/common/fm_subscription_utils.py |  174 ++
tacker/sol_refactored/common/http_client.py        |    6 +-
tacker/sol_refactored/common/lcm_op_occ_utils.py   |   56 +-
.../common/monitoring_plugin_base.py               |   73 +
tacker/sol_refactored/common/oidc_utils.py         |   57 +
tacker/sol_refactored/common/pm_job_utils.py       |  175 ++
tacker/sol_refactored/common/prometheus_plugin.py  |  871 ++++++++
.../sol_refactored/common/server_notification.py   |  106 +
tacker/sol_refactored/common/subscription_utils.py |   30 +-
tacker/sol_refactored/common/vim_utils.py          |   50 +-
tacker/sol_refactored/common/vnf_instance_utils.py |    5 +-
tacker/sol_refactored/common/vnfd_utils.py         |   53 +-
.../sol_refactored/conductor/conductor_rpc_v2.py   |   47 +
tacker/sol_refactored/conductor/conductor_v2.py    |  113 +-
.../conductor/prometheus_plugin_driver.py          |   63 +
.../conductor/server_notification_driver.py        |  127 ++
tacker/sol_refactored/conductor/v2_hook.py         |    3 +
tacker/sol_refactored/conductor/vnffm_driver_v1.py |   50 +
.../sol_refactored/conductor/vnflcm_driver_v2.py   |  206 +-
tacker/sol_refactored/conductor/vnfpm_driver_v2.py |   58 +
.../controller/prometheus_plugin_controller.py     |   57 +
.../controller/server_notification.py              |   32 +
tacker/sol_refactored/controller/vnffm_v1.py       |  200 ++
tacker/sol_refactored/controller/vnffm_view.py     |   65 +
tacker/sol_refactored/controller/vnflcm_v2.py      |  167 +-
.../sol_refactored/controller/vnflcm_versions.py   |    4 +
tacker/sol_refactored/controller/vnflcm_view.py    |   85 +-
tacker/sol_refactored/controller/vnfpm_v2.py       |  297 +++
tacker/sol_refactored/controller/vnfpm_view.py     |   54 +
tacker/sol_refactored/db/sqlalchemy/models.py      |   85 +
.../infra_drivers/kubernetes/helm.py               |  352 +++
.../infra_drivers/kubernetes/helm_utils.py         |  100 +
.../infra_drivers/kubernetes/kubernetes.py         |  316 +++
.../infra_drivers/kubernetes/kubernetes_common.py  |  382 ++++
.../kubernetes/kubernetes_resource.py              |  586 +++++
.../infra_drivers/kubernetes/kubernetes_utils.py   |  189 ++
.../infra_drivers/openstack/heat_utils.py          |   67 +-
.../infra_drivers/openstack/openstack.py           |  435 +++-
.../infra_drivers/openstack/userdata_default.py    |  231 +-
.../infra_drivers/openstack/userdata_main.py       |    5 +-
.../infra_drivers/openstack/userdata_standard.py   |  564 +++++
.../infra_drivers/openstack/userdata_utils.py      |  238 +-
.../mgmt_drivers/server_notification.py            |  249 +++
tacker/sol_refactored/nfvo/local_nfvo.py           |  139 +-
tacker/sol_refactored/nfvo/nfvo_client.py          |   39 +-
tacker/sol_refactored/objects/__init__.py          |   12 +
tacker/sol_refactored/objects/base.py              |   10 +-
tacker/sol_refactored/objects/v1/alarm.py          |   84 +
.../objects/v1/alarm_cleared_notification.py       |   50 +
.../objects/v1/alarm_notification.py               |   47 +
tacker/sol_refactored/objects/v1/fields.py         |   57 +
.../objects/v1/fm_notifications_filter.py          |   47 +
.../sol_refactored/objects/v1/fm_subscription.py   |   52 +
.../objects/v1/fm_subscription_request.py          |   34 +
tacker/sol_refactored/objects/v1/grant.py          |    2 +-
.../objects/v1/resource_definition.py              |    2 +-
.../objects/v2/change_current_vnf_pkg_request.py   |    6 +
.../objects/v2/create_pm_job_request.py            |   36 +
...rformance_information_available_notification.py |   62 +
tacker/sol_refactored/objects/v2/pm_job.py         |   75 +
.../sol_refactored/objects/v2/pm_job_criteria.py   |   34 +
.../objects/v2/pm_job_modification.py              |   32 +
tacker/sol_refactored/objects/v2/pm_report.py      |   65 +
tacker/sol_refactored/objects/v2/vnf_instance.py   |    3 +
tacker/sol_refactored/test-tools/cli.py            |   14 +-
.../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 +
.../BaseHOT/default/VNF-hot.yaml                   |   50 +
.../BaseHOT/default/nested/VDU1.yaml               |   45 +
.../Definitions/helloworld3_df_default.yaml        |  212 ++
.../Definitions/helloworld3_top.vnfd.yaml          |   28 +
.../Definitions/helloworld3_types.yaml             |   47 +
.../TOSCA-Metadata/TOSCA.meta                      |    7 +
.../sample_compliance_test/UserData/__init__.py    |    0
.../UserData/lcm_user_data.py                      |   35 +
.../Definitions/helloworld3_df_vdumap.yaml         |  105 +
.../test_cnf/Definitions/helloworld3_top.vnfd.yaml |    1 +
.../Files/kubernetes/deployment_vdumap1.yaml       |   29 +
.../Files/kubernetes/deployment_vdumap2.yaml       |   29 +
.../etsi/nfv/test_cnf/TOSCA-Metadata/TOSCA.meta    |   10 +
.../Definitions/sample_df_simple.yaml              |   41 +-
.../Files/kubernetes/configmap_3.yaml              |    9 +
.../Files/kubernetes/daemonset.yaml                |   38 +
.../Files/kubernetes/deployment.yaml               |    2 +-
.../Files/kubernetes/deployment_2.yaml             |   39 +
.../Files/kubernetes/pod_env_2.yaml                |   26 +
.../Files/kubernetes/pod_volume.yaml               |   20 +
.../Files/kubernetes/pod_volume_2.yaml             |   28 +
.../Files/kubernetes/replicaset.yaml               |    2 +-
.../Files/kubernetes/secret_3.yaml                 |    9 +
.../TOSCA-Metadata/TOSCA.meta                      |   38 +-
.../Definitions/sample_df_simple.yaml              |   41 +-
.../Files/kubernetes/configmap_3.yaml              |    9 +
.../Files/kubernetes/daemonset.yaml                |   38 +
.../Files/kubernetes/deployment.yaml               |    2 +-
.../Files/kubernetes/deployment_2.yaml             |   39 +
.../Files/kubernetes/pod_env_2.yaml                |   26 +
.../Files/kubernetes/pod_volume_2.yaml             |   28 +
.../Files/kubernetes/replicaset.yaml               |    2 +-
.../Files/kubernetes/secret_3.yaml                 |    9 +
.../TOSCA-Metadata/TOSCA.meta                      |   36 +-
.../Definitions/sample_vnfd_df_helmchart.yaml      |    6 +-
.../Definitions/helloworld3_df_scalingsteps.yaml   |    2 +-
.../Definitions/helloworld3_df_simple.yaml         |    2 +-
.../Files/kubernetes/deployment_scale.yaml         |    2 +-
.../Files/kubernetes/replicaset_scale.yaml         |    2 +-
.../Files/kubernetes/statefulset_scale.yaml        |    2 +-
.../nfv/test_cnf_scale/TOSCA-Metadata/TOSCA.meta   |    6 +-
.../BaseHOT/simple/helloworld3.yaml                |  110 +
.../BaseHOT/simple/nested/VDU1.yaml                |   64 +
.../BaseHOT/simple/nested/VDU2.yaml                |   68 +
.../Definitions/helloworld3_df_simple.yaml         |  396 ++++
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   55 +
.../TOSCA-Metadata/TOSCA.meta                      |    4 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data.py                      |   35 +
.../functional/sol/vnflcm/test_vnf_instance.py     |    5 +-
.../sol/vnflcm/test_vnf_instance_with_user_data.py |  274 +++
.../functional/sol/vnfpkgm/test_vnf_package.py     |   44 +-
.../sol_kubernetes/vnflcm/test_kubernetes.py       |   81 +
.../vnflcm/test_kubernetes_container_update.py     |   18 +-
.../sol_kubernetes/vnflcm/test_kubernetes_helm.py  |   99 +-
.../vnflcm/test_kubernetes_multi_ns.py             |   28 +-
.../sol_kubernetes/vnflcm/test_kubernetes_scale.py |   30 +-
.../sol_kubernetes_multi_tenant/__init__.py        |    0
.../sol_kubernetes_multi_tenant/vnflcm/__init__.py |    0
.../sol_kubernetes_multi_tenant/vnflcm/base.py     |  230 ++
.../vnflcm/fake_vnflcm.py                          |  108 +
.../vnflcm/test_kubernetes_multi_tenant.py         |  375 ++++
.../sol_kubernetes_oidc_auth/__init__.py           |    0
.../sol_kubernetes_oidc_auth/test_vim.py           |  147 ++
.../sol_kubernetes_oidc_auth/vnflcm_v1/__init__.py |    0
.../vnflcm_v1/test_kubernetes_oidc_auth.py         |   52 +
.../sol_kubernetes_oidc_auth/vnflcm_v2/__init__.py |    0
.../sol_kubernetes_oidc_auth/vnflcm_v2/base_v2.py  |   93 +
.../vnflcm_v2/test_kubernetes_oidc_auth.py         |  255 +++
.../Definitions/etsi_nfv_sol001_common_types.yaml  |    0
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    |    0
.../samples/tacker-monitoring-test.zip             |  Bin 0 -> 4873 bytes
.../contents/Definitions/sample_cnf_df_simple.yaml |  250 +++
.../contents/Definitions/sample_cnf_top.vnfd.yaml  |   31 +
.../contents/Definitions/sample_cnf_types.yaml     |   53 +
.../contents/Files/kubernetes/deployment.yaml      |   24 +
.../contents/Files/kubernetes/namespace.yaml       |    4 +
.../Files/new_kubernetes/error_deployment.yaml     |   24 +
.../Files/new_kubernetes/new_deployment.yaml       |   24 +
.../contents/Scripts/sample_script.py              |   68 +
.../contents/TOSCA-Metadata/TOSCA.meta             |   25 +
.../test_change_vnf_pkg_with_deployment/pkggen.py  |   52 +
.../contents/Definitions/sample_cnf_df_simple.yaml |  178 ++
.../contents/Definitions/sample_cnf_top.vnfd.yaml  |   31 +
.../contents/Definitions/sample_cnf_types.yaml     |   53 +
.../contents/Files/kubernetes/test-chart-0.1.1.tgz |  Bin 0 -> 3814 bytes
.../Files/kubernetes/test-chart/.helmignore        |   23 +
.../Files/kubernetes/test-chart/Chart.yaml         |    6 +
.../kubernetes/test-chart/templates/NOTES.txt      |   22 +
.../kubernetes/test-chart/templates/_helpers.tpl   |   62 +
.../test-chart/templates/deployment_vdu1.yaml      |   53 +
.../test-chart/templates/deployment_vdu2.yaml      |   53 +
.../Files/kubernetes/test-chart/templates/hpa.yaml |   28 +
.../kubernetes/test-chart/templates/ingress.yaml   |   61 +
.../kubernetes/test-chart/templates/service.yaml   |   15 +
.../test-chart/templates/serviceaccount.yaml       |   12 +
.../Files/kubernetes/test-chart/values.yaml        |   83 +
.../contents/Scripts/sample_script.py              |   68 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    9 +
.../samples/test_helm_change_vnf_pkg/pkggen.py     |   47 +
.../contents/Definitions/sample_cnf_df_simple.yaml |  177 ++
.../contents/Definitions/sample_cnf_top.vnfd.yaml  |   31 +
.../contents/Definitions/sample_cnf_types.yaml     |   53 +
.../contents/Files/kubernetes/test-chart-0.1.0.tgz |  Bin 0 -> 3809 bytes
.../Files/kubernetes/test-chart/.helmignore        |   23 +
.../Files/kubernetes/test-chart/Chart.yaml         |    6 +
.../kubernetes/test-chart/templates/NOTES.txt      |   22 +
.../kubernetes/test-chart/templates/_helpers.tpl   |   62 +
.../test-chart/templates/deployment_vdu1.yaml      |   53 +
.../test-chart/templates/deployment_vdu2.yaml      |   53 +
.../Files/kubernetes/test-chart/templates/hpa.yaml |   28 +
.../kubernetes/test-chart/templates/ingress.yaml   |   61 +
.../kubernetes/test-chart/templates/service.yaml   |   15 +
.../test-chart/templates/serviceaccount.yaml       |   12 +
.../Files/kubernetes/test-chart/values.yaml        |   83 +
.../contents/Scripts/sample_script.py              |   68 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    9 +
.../samples/test_helm_instantiate/pkggen.py        |   68 +
.../contents/Definitions/sample_cnf_df_simple.yaml |  250 +++
.../contents/Definitions/sample_cnf_top.vnfd.yaml  |   31 +
.../contents/Definitions/sample_cnf_types.yaml     |   53 +
.../contents/Files/kubernetes/bindings.yaml        |   10 +
.../clusterrole_clusterrolebinding_SA.yaml         |   29 +
.../contents/Files/kubernetes/config-map.yaml      |    8 +
.../Files/kubernetes/controller-revision.yaml      |    8 +
.../contents/Files/kubernetes/daemon-set.yaml      |   24 +
.../contents/Files/kubernetes/deployment.yaml      |   29 +
.../Files/kubernetes/deployment_fail_test.yaml     |   29 +
.../kubernetes/horizontal-pod-autoscaler.yaml      |   13 +
.../contents/Files/kubernetes/job.yaml             |   30 +
.../contents/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 +
.../contents/Files/kubernetes/namespace.yaml       |    4 +
.../Files/kubernetes/persistent-volume-0.yaml      |   14 +
.../Files/kubernetes/persistent-volume-1.yaml      |   14 +
.../contents/Files/kubernetes/pod-template.yaml    |   43 +
.../contents/Files/kubernetes/pod.yaml             |   17 +
.../kubernetes/replicaset_service_secret.yaml      |   56 +
.../contents/Files/kubernetes/resource-quota.yaml  |   11 +
.../Files/kubernetes/role_rolebinding_SA.yaml      |   31 +
...access-review_and_self-subject-rule-review.yaml |   14 +
.../contents/Files/kubernetes/statefulset.yaml     |   41 +
.../contents/Files/kubernetes/storage-class.yaml   |    6 +
.../Files/kubernetes/storage-class_pv_pvc.yaml     |   37 +
.../Files/kubernetes/subject-access-review.yaml    |    9 +
.../contents/Files/kubernetes/token-review.yaml    |    9 +
.../contents/Scripts/sample_script.py              |   68 +
.../contents/TOSCA-Metadata/TOSCA.meta             |  144 ++
.../test_instantiate_cnf_resources/pkggen.py       |  100 +
.../sol_kubernetes_v2/test_change_vnfpkg.py        |  310 +++
.../functional/sol_kubernetes_v2/test_helm.py      |  545 +++++
.../test_prometheus_auto_scaling.py                |  115 +
.../sol_kubernetes_v2/test_vnffm_basic.py          |  440 ++++
.../sol_kubernetes_v2/test_vnflcm_basic.py         |  494 +++++
.../sol_kubernetes_v2/test_vnfpm_basic.py          |  345 +++
.../sol_multi_tenant/vnflcm/fake_vnflcm.py         |    1 -
.../vnflcm/test_vnf_lcm_with_multi_tenant.py       |   74 +-
.../sol_separated_nfvo/vnflcm/fake_grant_server.py |  159 --
.../functional/sol_separated_nfvo_v2/__init__.py   |    0
.../sol_separated_nfvo_v2/fake_grant_v2.py         |  434 ++++
.../sol_separated_nfvo_v2/fake_vnfpkgm_v2.py       |   34 +
.../sol_separated_nfvo_v2/test_nfvo_separate_v2.py |   34 +
.../functional/sol_v2/test_individual_vnfc_mgmt.py |  453 ++++
.../functional/sol_v2/test_server_notification.py  |  442 ++++
.../sol_v2/test_vnflcm_error_handling.py           |  469 +---
.../{sol_v2 => sol_v2_common}/base_v2.py           |  163 +-
.../{sol_v2 => sol_v2_common}/paramgen.py          |  359 +++
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   15 +-
.../contents/BaseHOT/simple/sample1.yaml           |   13 +-
.../contents/Definitions/v2_sample1_df_simple.yaml |    0
.../contents/Definitions/v2_sample1_top.vnfd.yaml  |    0
.../contents/Definitions/v2_sample1_types.yaml     |    0
.../contents/Scripts/sample_script.py              |    0
.../contents/TOSCA-Metadata/TOSCA.meta             |    0
.../basic_lcms_max/contents/UserData/userdata.py   |   19 +-
.../samples/basic_lcms_max/pkggen.py               |    4 +-
.../samples/basic_lcms_max/post.py                 |    2 +-
.../samples/basic_lcms_max/pre.py                  |    2 +-
.../contents/BaseHOT/simple/nested/VDU1.yaml       |    4 +-
.../contents/BaseHOT/simple/sample2.yaml           |    5 +-
.../contents/Definitions/v2_sample2_df_simple.yaml |    0
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |    0
.../contents/Definitions/v2_sample2_types.yaml     |    0
.../contents/Scripts/sample_script.py              |    0
.../contents/TOSCA-Metadata/TOSCA.meta             |    0
.../samples/basic_lcms_min/pkggen.py               |   13 +-
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1463 ++++++++++++
.../contents/BaseHOT/simple/nested/VDU1.yaml       |    4 +-
.../contents/BaseHOT/simple/sample2.yaml           |    5 +-
.../contents/Definitions/v2_sample2_df_simple.yaml |    0
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |    0
.../contents/Definitions/v2_sample2_types.yaml     |    0
.../contents/Scripts/sample_script.py              |    0
.../contents/TOSCA-Metadata/TOSCA.meta             |    0
.../samples/error_network/pkggen.py                |    4 +-
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   12 +-
.../scale_ng}/contents/BaseHOT/simple/sample1.yaml |    9 +-
.../contents/Definitions/v2_sample1_df_simple.yaml |    0
.../contents/Definitions/v2_sample1_top.vnfd.yaml  |    0
.../contents/Definitions/v2_sample1_types.yaml     |    0
.../scale_ng/contents/Scripts/sample_script.py     |    0
.../scale_ng/contents/TOSCA-Metadata/TOSCA.meta    |    0
.../samples/scale_ng/contents/UserData/userdata.py |   21 +-
.../samples/scale_ng/pkggen.py                     |    4 +-
.../samples/scale_ng/post.py                       |    2 +-
.../samples/scale_ng/pre.py                        |    2 +-
.../contents/BaseHOT/simple/nested/VDU1.yaml       |    4 +-
.../contents/BaseHOT/simple/sample2.yaml           |    5 +-
.../contents/Definitions/v2_sample2_df_simple.yaml |  270 +++
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |    0
.../contents/Definitions/v2_sample2_types.yaml     |    0
.../contents/Scripts/sample_script.py              |  249 +++
.../contents/TOSCA-Metadata/TOSCA.meta             |    0
.../samples/server_notification/pkggen.py          |   72 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   39 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   27 +
.../contents/BaseHOT/volume/base_hot_top.yaml      |   45 +
.../volume/nested/base_hot_nested_VDU1.yaml        |   35 +
.../change_vnf_pkg_new_image_df_simple.yaml        |  219 ++
.../change_vnf_pkg_new_image_df_volume.yaml        |  224 ++
.../Definitions/change_vnf_pkg_top.vnfd.yaml       |   31 +
.../contents/Definitions/change_vnf_pkg_types.yaml |   53 +
.../contents/Scripts/coordinate_new_vnf.py         |  115 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../test_change_vnf_pkg_with_new_image/pkggen.py   |   52 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   50 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   27 +
.../contents/BaseHOT/volume/base_hot_top.yaml      |   57 +
.../volume/nested/base_hot_nested_VDU1.yaml        |   35 +
.../change_vnf_pkg_new_volume_df_simple.yaml       |  224 ++
.../change_vnf_pkg_new_volume_df_volume.yaml       |  237 ++
.../Definitions/change_vnf_pkg_top.vnfd.yaml       |   31 +
.../contents/Definitions/change_vnf_pkg_types.yaml |   53 +
.../contents/Scripts/coordinate_new_vnf.py         |  115 +
.../contents/Scripts/error_coordinate_new_vnf.py   |   54 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../test_change_vnf_pkg_with_new_volume/pkggen.py  |   60 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   38 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   26 +
.../change_vnf_pkg_error_image_df_simple.yaml      |  219 ++
.../Definitions/change_vnf_pkg_top.vnfd.yaml       |   31 +
.../contents/Definitions/change_vnf_pkg_types.yaml |   53 +
.../contents/Scripts/coordinate_new_vnf.py         |  115 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../pkggen.py                                      |   46 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   38 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   27 +
.../contents/BaseHOT/volume/base_hot_top.yaml      |   57 +
.../volume/nested/base_hot_nested_VDU1.yaml        |   35 +
.../change_vnf_pkg_old_image_df_simple.yaml        |  211 ++
.../change_vnf_pkg_old_volume_df_simple.yaml       |  229 ++
.../Definitions/change_vnf_pkg_top.vnfd.yaml       |   32 +
.../contents/Definitions/change_vnf_pkg_types.yaml |   53 +
.../contents/Scripts/coordinate_old_vnf.py         |  115 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../pkggen.py                                      |   71 +
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   30 +
.../contents/BaseHOT/simple/sample2.yaml           |   58 +
.../contents/Definitions/v2_sample2_df_simple.yaml |    0
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample2_types.yaml     |   55 +
.../update_vnf/contents/Scripts/sample_script.py   |    0
.../update_vnf/contents/TOSCA-Metadata/TOSCA.meta  |    4 +
.../samples/update_vnf/pkggen.py                   |    4 +-
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   53 +
.../contents/BaseHOT/simple/nested/VDU2.yaml       |   69 +
.../contents/BaseHOT/simple/sample3.yaml           |   57 +
.../contents/Definitions/v2_sample3_df_simple.yaml |  357 +++
.../contents/Definitions/v2_sample3_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample3_types.yaml     |   55 +
.../contents/Scripts/coordinate_vnf.py             |   46 +
.../contents/Scripts/sample_script.py              |   68 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../samples/userdata_standard/pkggen.py            |   83 +
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   53 +
.../contents/BaseHOT/simple/nested/VDU2.yaml       |   69 +
.../contents/BaseHOT/simple/sample4.yaml           |   57 +
.../contents/Definitions/v2_sample4_df_simple.yaml |  357 +++
.../contents/Definitions/v2_sample4_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample4_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/pkggen.py      |   56 +
.../sol_v2_common/test_vnflcm_basic_common.py      | 2327 ++++++++++++++++++++
.../functional/{sol_v2 => sol_v2_common}/utils.py  |    9 +-
.../unit/common/container/test_kubernetes_utils.py |   89 +-
.../nfvo/drivers/vim/test_kubernetes_driver.py     |    4 +-
.../unit/nfvo/drivers/vim/test_openstack_driver.py |   26 +-
.../unit/objects/test_vnf_lcm_subscriptions.py     |   23 +
.../unit/sol_refactored/api/test_api_version.py    |   55 +-
.../sol_refactored/api/test_prometheus_plugin.py   |   88 +
.../sol_refactored/api/test_server_notification.py |   87 +
.../unit/sol_refactored/api/test_validator.py      |   15 +-
.../test_common_script_utils.py}                   |  236 +-
.../sol_refactored/common/test_fm_alarm_utils.py   |  102 +
.../common/test_fm_subscription_utils.py           |  266 +++
.../sol_refactored/common/test_lcm_op_occ_utils.py |  464 +++-
.../unit/sol_refactored/common/test_oidc_utils.py  |  123 ++
.../sol_refactored/common/test_pm_job_utils.py     |  318 +++
.../common/test_prometheus_plugin.py               |  774 +++++++
.../common/test_server_notification.py             |  168 ++
.../common/test_subscription_utils.py              |  391 ++++
.../unit/sol_refactored/common/test_vim_utils.py   |  130 ++
.../common/test_vnf_instance_utils.py              |   33 +-
.../unit/sol_refactored/common/test_vnfd_utils.py  |  131 +-
.../sol_refactored/conductor/test_conductor_v2.py  |  263 ++-
.../conductor/test_prometheus_plugin.py            |  162 ++
.../conductor/test_server_notification.py          |  130 ++
.../conductor/test_vnffm_driver_v1.py              |   69 +
.../conductor/test_vnflcm_driver_v2.py             | 1728 ++++++++++++++-
.../conductor/test_vnfpm_driver_v2.py              |  113 +
.../controller/test_prometheus_plugin.py           |  380 ++++
.../controller/test_server_notification.py         |  170 ++
.../sol_refactored/controller/test_vnffm_v1.py     |  205 ++
.../sol_refactored/controller/test_vnflcm_v2.py    |  664 +++++-
.../sol_refactored/controller/test_vnflcm_view.py  |   42 +
.../sol_refactored/controller/test_vnfpm_v2.py     |  433 ++++
.../sol_refactored/controller/test_vnfpm_view.py   |   73 +
.../infra_drivers/kubernetes/__init__.py           |    0
.../infra_drivers/kubernetes/fakes.py              |  665 ++++++
.../infra_drivers/kubernetes/test_helm.py          |   74 +
.../infra_drivers/kubernetes/test_kubernetes.py    |  276 +++
.../infra_drivers/openstack/test_openstack.py      | 1385 +++++++++++-
.../openstack/test_userdata_default.py             |  763 +++++++
.../unit/sol_refactored/nfvo/test_local_nfvo.py    |  749 +++++++
.../unit/sol_refactored/nfvo/test_nfvo_client.py   |  441 ++++
.../Definitions/sample_cnf_df_simple.yaml          |  131 ++
.../Files/kubernetes/deployment.yaml               |   24 +
.../Files/new_kubernetes/new_deployment.yaml       |   24 +
.../Scripts/coordinate_new_vnf.py                  |   67 +
.../change_vnfpkg_sample/TOSCA-Metadata/TOSCA.meta |   14 +
.../unit/sol_refactored/samples/fakes_for_fm.py    |  112 +
.../samples/sample1/BaseHOT/error/ut_sample1.yaml  |  122 +
.../samples/sample1/BaseHOT/simple/ut_sample1.yaml |    6 +-
.../Definitions/ut_sample1_df_simple_error.yaml    |  310 +++
.../samples/sample1/TOSCA-Metadata/TOSCA.meta      |    1 +
.../samples/sample1/UserData/userdata_default.py   |   25 +-
.../sol_refactored/samples/sample1/manifest.mf     |    7 +
.../sample2/Definitions/sample_cnf_df_simple.yaml  |  131 ++
.../sample2/Files/kubernetes/api-service.yaml      |   11 +
.../samples/sample2/Files/kubernetes/bindings.yaml |   10 +
.../clusterrole_clusterrolebinding_SA.yaml         |   29 +
.../sample2/Files/kubernetes/config-map.yaml       |    8 +
.../Files/kubernetes/controller-revision.yaml      |    8 +
.../sample2/Files/kubernetes/daemon-set.yaml       |   19 +
.../sample2/Files/kubernetes/deployment.yaml       |   24 +
.../kubernetes/horizontal-pod-autoscaler.yaml      |   13 +
.../samples/sample2/Files/kubernetes/job.yaml      |   25 +
.../sample2/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 +
.../sample2/Files/kubernetes/namespace.yaml        |    4 +
.../samples/sample2/Files/kubernetes/node.yaml     |   41 +
.../Files/kubernetes/persistent-volume-0.yaml      |   14 +
.../Files/kubernetes/persistent-volume-1.yaml      |   14 +
.../sample2/Files/kubernetes/pod-template.yaml     |   43 +
.../samples/sample2/Files/kubernetes/pod.yaml      |   12 +
.../kubernetes/replicaset_service_secret.yaml      |   51 +
.../sample2/Files/kubernetes/resource-quota.yaml   |   11 +
.../Files/kubernetes/role_rolebinding_SA.yaml      |   31 +
...access-review_and_self-subject-rule-review.yaml |   14 +
.../sample2/Files/kubernetes/statefulset.yaml      |   36 +
.../sample2/Files/kubernetes/storage-class.yaml    |    6 +
.../Files/kubernetes/storage-class_pv_pvc.yaml     |   37 +
.../Files/kubernetes/subject-access-review.yaml    |    9 +
.../sample2/Files/kubernetes/token-review.yaml     |    9 +
.../Files/kubernetes/volume-attachment.yaml        |   12 +
.../samples/sample2/Scripts/coordinate_old_vnf.py  |   64 +
.../samples/sample2/TOSCA-Metadata/TOSCA.meta      |  154 ++
.../unit/vnfm/infra_drivers/kubernetes/fakes.py    |   42 +-
.../kubernetes/test_kubernetes_driver.py           |  702 +++++-
.../kubernetes/test_kubernetes_driver_helm.py      |   63 +-
.../kubernetes/test_translate_outputs.py           |    1 -
.../vnfm/infra_drivers/openstack/test_openstack.py |    4 +-
.../openstack/test_openstack_driver.py             |   18 +-
.../mgmt_drivers/test_container_update_mgmt.py     |  138 +-
tacker/tosca/utils.py                              |    6 +-
tacker/vnflcm/utils.py                             |    3 +-
tacker/vnflcm/vnflcm_driver.py                     |  184 +-
.../infra_drivers/kubernetes/helm/helm_client.py   |    3 +-
.../kubernetes/k8s/translate_inputs.py             |    4 +-
.../kubernetes/k8s/translate_outputs.py            |  221 +-
.../infra_drivers/kubernetes/kubernetes_driver.py  |  703 +++++-
.../infra_drivers/kubernetes/translate_template.py |    4 +-
tacker/vnfm/infra_drivers/noop.py                  |    2 +-
.../vnfm/infra_drivers/openstack/glance_client.py  |    4 +-
tacker/vnfm/infra_drivers/openstack/openstack.py   |   54 +-
.../infra_drivers/openstack/translate_template.py  |   18 +-
tacker/vnfm/keystone.py                            |   34 +-
tacker/vnfm/lcm_user_data/utils.py                 |   22 +-
tacker/vnfm/mgmt_drivers/constants.py              |    2 +-
tacker/vnfm/monitor_drivers/http_ping/http_ping.py |    2 +-
tacker/vnfm/monitor_drivers/ping/ping.py           |    2 +-
tacker/vnfm/nfvo_client.py                         |   11 +-
tacker/vnfm/plugin.py                              |   10 +-
tacker/vnfm/vim_client.py                          |   13 +-
tacker/wsgi.py                                     |   10 +-
test-requirements.txt                              |    1 +
tools/test-setup-fake-prometheus-server.sh         |   14 +
tools/test-setup-k8s-vim.sh                        |   33 +-
tox.ini                                            |   48 +-
vagrant/devstack/README.md                         |   24 +-
vagrant/devstack/group_vars/all.yml                |    4 +-
vagrant/devstack/hosts                             |    8 +-
vagrant/devstack/lib/machine.rb                    |    2 +-
vagrant/devstack/samples/machines-2nodes.yml       |   18 +-
vagrant/devstack/samples/machines.yml              |    8 +-
870 files changed, 81667 insertions(+), 4806 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 80daa4d2..b3abc896 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+# Requirements lower bounds listed here are our best effort to keep them up to
+# date but we do not test them so no guarantee of having them all correct. If
+# you find any incorrect lower bounds, let us know or propose a fix.
@@ -18,2 +20,0 @@ WebOb>=1.7.1 # MIT
-python-heatclient>=1.10.0 # Apache-2.0
-python-keystoneclient>=3.8.0 # Apache-2.0
@@ -38,0 +40,4 @@ openstacksdk>=0.44.0 # Apache-2.0
+python-barbicanclient>=4.5.2 # Apache-2.0
+python-heatclient>=1.10.0 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
+python-mistralclient>=4.2.0 # Apache-2.0
@@ -40,0 +46 @@ python-novaclient>=9.1.0 # Apache-2.0
+python-tackerclient>=1.11.0 # Apache-2.0
@@ -45,2 +50,0 @@ pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
-python-mistralclient>=4.2.0 # Apache-2.0
-python-barbicanclient>=4.5.2 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 6ae7245b..8cbdd883 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -23,0 +24 @@ PyMySQL>=0.10.1 # MIT
+freezegun>=1.2.2 # Apache-2.0






More information about the Release-announce mailing list