[release-announce] tacker 7.0.0 (yoga)

no-reply at openstack.org no-reply at openstack.org
Wed Mar 30 12:12:35 UTC 2022


We are tickled pink to announce the release of:

tacker 7.0.0: OpenStack NFV Orchestration

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

7.0.0
^^^^^


New Features
************

* Add a Sample Ansible Driver as an option for users who want to use
  ansible for configuration of VNFs. This Ansible Driver supports the
  key LCMs such as instantiate_end, scale_start, scale_end, heal_end
  and terminate_start. A Sample VNF package which contains sample
  usage of Ansible Driver is provided. User manual is also provided to
  explain the steps in preparing the environment to use Ansible
  Driver.

* Add Change Current VNF Package API based on ETSI NFV
  specifications. Tacker supports a VNF upgrade using this API.
  Currently, it only supports "RollingUpdate" out of several methods
  for a VNF upgrade.

* Support Container based VNF operation with the following new
  version of RESTful APIs based on ETSI NFV specifications. Version
  "2.0.0" API of Instantiate VNF, Terminate VNF, and Change Current
  VNF Package support Kubernetes vim. Other APIs besides Scale VNF and
  Heal VNF, such as Create VNF, Delete VNF, List VNF, Show VNF, and so
  on have already supported Kubernetes vim because they use common
  processing that does not depend on vim type: OpenStack, Kubernetes.
  Version "2.0.0" API of Scale VNF and Heal VNF with Kubernetes vim
  will be supported in future.

* Support ETSI NFV compliant automated testing by using the Robot
  Framework and ETSI NFV-TST API test codes. This feature uses the
  Robot Framework which utilizes the ETSI NFV-TST API test codes to
  test tacker for ETSI NFV compliance in a Black Box testing level.
  This is an additional quality test measure to ensure that the added
  tacker features comply to the ETSI NFV standards.


Known Issues
************

* Regarding Sample Ansible Driver, currently, deployment flavors
  share only one config.yaml due to a limitation in Management Driver.

* Regarding ETSI NFV compliant automated testing, some of the tests
  are failing due to bugs (1) Tacker Bug and (2) Issues in the ETSI
  NFV-TST API test codes. (1) Tacker Bug such as Bug-#1945387 was
  detected in this compliance test and the corresponding test is
  currently failing. Test will pass once the bug is fixed. (2) Issues
  in the ETSI NFV-TST API test codes such as schema and mock server
  location issues also caused some tests to fail. Tests will pass once
  the issues are resolved. Due to these existing failed items, this
  test is currently non-voting.

Changes in tacker 6.0.0.0rc1..7.0.0
-----------------------------------

c572cfd1 Fix failure of testing privsep
1e21443e Apply Robot Framework for testing
d0bbad7e Support Basic Lifecycle Operations of CNF v2 API
787ea794 Support ChangeCurrentVNFPackage for VNF of v2 API
903d6aee Add a Sample VNF Package for Ansible Driver
bb63e5f1 Add a Sample Ansible Driver
8b7deecb Add missed parameters in auto-generated config
f8a9c86b Test to create VNF instance with 'VNF' name
d80e3467 Setup multi tenants for multi-tenant job only
26781fb8 Add a VNF package sample for practical use cases
2943be9e Update doc of Helm chart for Kubernetes VIM
f37fe6f6 FT of multi tenants for CNF
6ec61064 Add documents for enhance operations in V2
ea92f6e6 Move Sample Kubernetes Driver Directory
cce982ab Update TOX_CONSTRAINTS_FILE for stable/yoga
4a44d345 Update .gitreview for stable/yoga
56b81d62 Add constants and parameters for MgmtDriver
a039fa32 FT for multi tenant policy in LCM
9c9a31e4 Introduce vagrant for devstack
1cb068c7 Remove singleton class in FakeServerManager class
d219c49e Support CNF update with MgmtDriver
16c69803 Fix grant usage in scaling out
81dca798 Support handling large query results by ETSI NFV
21410608 FT of heal/chg_ext_conn v2 APIs
3635aa14 FT of scale/modify v2 APIs
676b0bff Fix links of v2 API resources
55a16877 FT of instantiate/scale's ErrorHandling
98f7150f Fix the definition of associated_vnfc_cp_id
131d222d Add specific tenant to vnf resources
31819356 Heal and scale method support of lcm_user_data
d31be66f Fix subprocess usage
3d6d849f Migrate rootwrap to privsep
f62b87a5 Update release notes of multi tenant policy in LCM
5dcdfa6b Do not set ineffective [alarm_auth] url
15358675 Refactor Fake Grant for Simulate NFVO
4be81964 Fix duplicate entry error in VNF Package upload
8412af6d Fix for subscription with OAuth 2.0 authorization
cba456af Fix usageState of VNF package update
f1fbcbb9 Fix tacker gate job failure in Y release
bd3096bd Clean up at conductor start up
d4233537 Support specifying namespace for deploying CNF
4f565a40 Refactor v1 conductor
a0158edd Increase stack_retries of k8s FT in Zuul
08c234bd support heal VNF task of v2 API
6398fb74 Fix time consuming tests
83e4a8d5 support change_ext_conn v2 API
7e36af6c Change to use Helm cli during scale with helm
382afbab Fix retry operation after LCM failure
8a31f586 Add doc of CIR/PV/kubespray
45ac7ec7 Refactor v1 vnflcm_driver
d07957a4 Correct VIM_ID is showed in "openstack vnf show"
45122003 Add release notes for multi-tenant policy in LCM
75778a2d Suppress Warnings for SQL Alchemy
445a9458 Replace line break from CRLF to LF
7d659b18 Help usage message of heal cli modified
7b45bd19 Refactor constants in conductor
724e679e FT Setup to test multi-tenant policy in LCM
d40de6c7 Fix LCM failure
ef5a7d2b Fix error of missing body
73c00dfa Refactor FT of sol job
8fade412 Change test utils to use absolute path
7aff8262 support modify VNF instance of v2 API
3443bf62 Allow VNF instantiation by VIM of the same tenant
7d9789ca Fix wrong exception name usage
30c13cdb Tiny refactoring for controller
41d7f5ce Add specifying tenant in notification
141a1f46 Refactor vnfm_db
dec7bcc7 Make dirs_exists_ok of copytree not used
158f05e4 Handle invalid attrName in v2 API AttributeFilter
b9981e5a Add free5GC VNF samples
1948ec59 Add free5GC CNF samples
9a489d32 Add free5GC CNF on VM samples
4fa1445d Software image path miss in uploading VNF package
f9547f5e Resolve TODOs in v2 API attribute selector/filter
55040a0e support scale VNF task of v2 API
a69f2f3f Add documents for error handling operations in V2
ccb0dd3d Fix filter data creation
35aaba1a Refactor FT of sol-kubernetes job
15ea1511 Add VIM config generator
ff2e8da4 Revise FT of V2-API
b2b9e243 Fix some bugs related Kubernetes MgmtDriver
94dbcea9 support fail operation task of v2 API
d3b8083d CI: Extend timeout for CNF entire heal in Helm FT
88112654 [Centos Stream8]Devstack install with kubernetes
4b5204b2 support rollback operation task of v2 API
fee4d127 Use LOG.warning instead of deprecated LOG.warn
84224f71 Update python testing classifier
4f25101c Update Pylint config file for development
3b699da0 fix grant request of terminate
fff6cec4 Fix VIM registration error
bf51c2bc support retry operation task of v2 API
e2fa03fb Set default namespace when caling k8s scale API
777c2f06 CI: Use python-aodhclient from git repo in Zuul FT
dc85dc25 Add fenix in k8s local.conf example
8029f4e1 fix contents of grant request
bb7d75da Revert "Skip some FTs failed due to heat bug"
79ad3ec7 Add doc of Helm chart for Kubernetes VIM
975cce62 CI: Create admin endpoint for keystone
6cab16be Exclude db/types.py from sphinx-apidoc target
8c69dda5 drop anyjson requirement
36ef500c Add Location to responses of Create VNF Package
2d9521b2 Fix scaling during the heat cooldown
9c7308ec Update version of doc8 to 0.9.0
db9b91ae Fix create duplicated subscriptions
14e7fb56 Add Python3 yoga unit tests
0e231710 Update master for stable/xena
6929cbc3 Support PVs for k8s cluster with MgmtDriver
34aec336 Update instructions of installing k8s VIM
26910f1c Private registry for deploying Kubernetes cluster
9e9741b1 Add groups under topology_template in vnf_dict
2bd3d567 Sample script for healing k8s with kubespray
c1851140 Sample script for scaling k8s with kubespray
b3bf4ec2 Sample script for deploying k8s with kubespray
f7796901 Sample script of pod-affinity in kubernetes cluster
f24afcf7 Add documents for multi-version API support
9e13a55a Modify processing of _heal_grant and _scale_grant
5f35b695 Multi version API support
49ab5f9a Object definitions of multi version API support
3145e3cc Fix zuul settings to use latest kuryr-kubernetes
08ae05a2 Support Helm chart as interface for Kubernetes VIM
c7d75a3c Modify Placement Processing to Aspect definition
1ce0d934 Fix for Anti Affinity verification Exception
110bba1c Fix occasional multinode-sol job FT error
7add0372 Fix status code for invalid filter conditions
055defd7 Add missing [oslo_reports] options
149d67c6 Fix cnf rollback after instantiation failure
4cdd2fbc Add missing options about periodic tasks
d7a13ce1 Update zuul environment to support helm chart
3bb8791f Fix get information about multiple VNF instances
a49b4457 Support TOSCA route for ChgExternalConnectivity
533b6074 Modify Network Resource Information used by FT


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

.gitreview                                         |    1 +
.pylintrc                                          |   20 +-
.zuul.yaml                                         |   96 +-
HACKING.rst                                        |    1 +
api-ref/source/index.rst                           |   17 +-
api-ref/source/v1/{index.rst => legacy.rst}        |    8 +-
api-ref/source/v1/parameters_vnflcm.yaml           |    2 +-
api-ref/source/v1/parameters_vnflcm_versions.yaml  |   44 +
.../vnf_packages/vnf-packages-create-request.json  |   10 +-
.../vnf_packages/vnf-packages-create-response.json |   40 +-
.../vnf_packages/vnf-packages-list-response.json   |  138 +-
.../vnf_packages/vnf-packages-patch-request.json   |   12 +-
.../vnf_packages/vnf-packages-patch-response.json  |   10 +-
.../vnf_packages/vnf-packages-show-response.json   |  130 +-
.../samples/vnflcm/list-subscription-response.json |   70 +-
.../list-vnflcm-version-response.json              |   13 +
.../show-vnflcm-version-response.json              |    9 +
api-ref/source/v1/status.yaml                      |    2 +-
api-ref/source/v1/vnflcm.rst                       |    9 +
api-ref/source/v1/vnflcm_versions.inc              |   97 +
api-ref/source/v1/vnflcm_versions.rst              |    9 +
api-ref/source/v1/vnfpkgm.rst                      |    9 +
api-ref/source/v2/parameters_vnflcm.yaml           | 1695 +++++++++++
.../v2/samples/vnflcm/change-ext-conn-request.json |  195 ++
.../vnflcm/create-subscription-request.json        |    3 +
.../vnflcm/create-subscription-response.json       |   10 +
.../vnflcm/create-vnf-instance-request.json        |    5 +
.../vnflcm/create-vnf-instance-response.json       |   22 +
.../fail-vnflcm-operation-occurrence-response.json |  248 ++
.../samples/vnflcm/heal-vnf-instance-request.json  |    7 +
.../vnflcm/instantiate-vnf-instance-request.json   |  128 +
.../samples/vnflcm/list-subscription-response.json |   12 +
.../samples/vnflcm/list-vnf-instance-response.json |  482 +++
.../list-vnflcm-operation-occurrence-response.json |  406 +++
.../samples/vnflcm/scale-vnf-instance-request.json |    8 +
.../samples/vnflcm/show-subscription-response.json |   10 +
.../samples/vnflcm/show-vnf-instance-response.json |  480 +++
.../show-vnflcm-operation-occurrence-response.json |  243 ++
.../vnflcm/terminate-vnf-instance-request.json     |    4 +
.../vnflcm/update-vnf-instance-request.json        |   48 +
api-ref/source/v2/status.yaml                      |   88 +
api-ref/source/v2/vnflcm.inc                       | 1472 +++++++++
api-ref/source/v2/vnflcm.rst                       |    9 +
devstack/lib/tacker                                |   21 +-
devstack/local.conf.kubernetes                     |    3 +
devstack/plugin.sh                                 |    1 +
.../mgmt_driver_deploy_k8s_and_cnf_with_helm.rst   |  582 ++++
.../mgmt_driver_deploy_k8s_cir_usage_guide.rst     |  725 +++++
...gmt_driver_deploy_k8s_kubespary_usage_guide.rst | 1680 +++++++++++
.../user/mgmt_driver_deploy_k8s_pv_usage_guide.rst |  678 +++++
.../user/mgmt_driver_deploy_k8s_usage_guide.rst    |  765 ++++-
.../mgmt_driver_for_ansible_driver_usage_guide.rst |  640 ++++
.../user/practical_sample_package_usage_guide.rst  | 1196 ++++++++
etc/config-generator.conf                          |   42 +-
etc/tacker/api-paste.ini                           |   18 +
etc/tacker/rootwrap.d/tacker.filters               |    4 +
lower-constraints.txt                              |   10 +-
playbooks/devstack/pre.yaml                        |    4 +
...multi-version-api-support-0653df1edb67162e.yaml |   24 +
...add-sample-ansible-driver-f204be6350c8a546.yaml |   13 +
.../add-v2-change-vnfpkg-api-7f993cf283a53aab.yaml |    8 +
...dd-v2-change_ext_conn-api-1fe3ca0e889eea93.yaml |    6 +
.../notes/add-v2-cnf-api-a938c17b5c57fb67.yaml     |   12 +
.../notes/add-v2-fail-api-b35b605f262210b2.yaml    |    5 +
.../notes/add-v2-heal-api-1ffd18dea3904966.yaml    |    5 +
.../notes/add-v2-modify-api-cf7bce9e9d5bca31.yaml  |    5 +
.../notes/add-v2-retry-api-34667d944db1f54c.yaml   |    5 +
.../add-v2-rollback-api-1b53e7b9c89d5281.yaml      |    5 +
.../notes/add-v2-scale-api-b60e8fe329f6038b.yaml   |    5 +
...bot-framework-for-testing-d04256887fd9bee7.yaml |   21 +
...er_data_during-heal-scale-5e71bf572e86bbfc.yaml |    6 +
.../support-cir-k8s-cluster-d2596de8fed78f6c.yaml  |   27 +
...support-helmchart-k8s-vim-3604f0070cca6b63.yaml |   10 +
...mchart-scale-with-helmcli-4595b262801b24a7.yaml |    9 +
...-k8s-mgmtdriver-kubespray-b0ecbaaefb755b11.yaml |   24 +
.../support-k8s-namespace-9e861c87e4aa1aaa.yaml    |    7 +
...pport-multi-tenant-in-lcm-87c5d017c37c916f.yaml |   13 +
...pport-paging-query-result-9267729be1456b0d.yaml |   13 +
.../support-pv-k8s-cluster-2893a5619ea9e91c.yaml   |   12 +
...dify-for-container-update-3e73c53352558dec.yaml |    9 +
releasenotes/source/index.rst                      |    1 +
releasenotes/source/xena.rst                       |    6 +
requirements.txt                                   |    6 +-
.../files}/create_admin_token.yaml                 |    0
roles/setup-default-vim/tasks/main.yaml            |   91 +
roles/setup-helm/defaults/main.yaml                |    4 +
roles/setup-helm/files/50_helm_sh                  |    1 +
roles/setup-helm/tasks/main.yaml                   |  106 +
roles/setup-multi-tenant-vim/defaults/main.yaml    |   21 +
roles/setup-multi-tenant-vim/tasks/main.yaml       |  216 ++
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1465 +++++++++
.../Definitions/free5gc_df_simple.yaml             |  200 ++
.../Definitions/free5gc_top.vnfd.yaml              |   27 +
.../Definitions/free5gc_types.yaml                 |   65 +
.../Files/kubernetes/free5gc-amf.yaml              |   93 +
.../Files/kubernetes/free5gc-ausf.yaml             |   65 +
.../Files/kubernetes/free5gc-configmap.yaml        |  785 +++++
.../Files/kubernetes/free5gc-mongodb.yaml          |   64 +
.../Files/kubernetes/free5gc-nrf.yaml              |   65 +
.../Files/kubernetes/free5gc-nssf.yaml             |   65 +
.../Files/kubernetes/free5gc-pcf.yaml              |   65 +
.../Files/kubernetes/free5gc-smf.yaml              |   66 +
.../Files/kubernetes/free5gc-udm.yaml              |   65 +
.../Files/kubernetes/free5gc-udr.yaml              |   65 +
.../Files/kubernetes/free5gc-upf.yaml              |  105 +
.../Files/kubernetes/free5gc-webui.yaml            |   84 +
.../Files/kubernetes/unix-daemonset.yaml           |   48 +
.../Scripts/free5gc_mgmt_cnf.py                    |  785 +++++
.../TOSCA-Metadata/TOSCA.meta                      |   74 +
.../cnf/sample_free5gc_cnf_package/inst_param.yaml |   32 +
.../BaseHOT/simple/base_hot_top.yaml               |   54 +
.../simple/nested/base_hot_nested_master.yaml      |   26 +
.../simple/nested/base_hot_nested_worker.yaml      |   53 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1465 +++++++++
.../sample_free5gc_cnf_on_vm_df_simple.yaml        |  236 ++
.../sample_free5gc_cnf_on_vm_top.vnfd.yaml         |   31 +
.../sample_free5gc_cnf_on_vm_types.yaml            |   63 +
.../Scripts/install_k8s_cluster.sh                 |  827 +++++
.../Scripts/kubernetes_mgmt_free5gc.py}            |  320 +-
.../TOSCA-Metadata/TOSCA.meta                      |   14 +
.../UserData/__init__.py                           |    0
.../UserData/k8s_cluster_user_data.py              |    0
.../simple_kubernetes_param_file.json              |   82 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1465 +++++++++
.../Definitions/free5gc_df_simple.yaml             |  200 ++
.../Definitions/free5gc_top.vnfd.yaml              |   27 +
.../Definitions/free5gc_types.yaml                 |   65 +
.../Files/kubernetes/free5gc-amf.yaml              |   93 +
.../Files/kubernetes/free5gc-ausf.yaml             |   65 +
.../Files/kubernetes/free5gc-configmap.yaml        |  785 +++++
.../Files/kubernetes/free5gc-mongodb.yaml          |   64 +
.../Files/kubernetes/free5gc-nrf.yaml              |   65 +
.../Files/kubernetes/free5gc-nssf.yaml             |   65 +
.../Files/kubernetes/free5gc-pcf.yaml              |   65 +
.../Files/kubernetes/free5gc-smf.yaml              |   66 +
.../Files/kubernetes/free5gc-udm.yaml              |   65 +
.../Files/kubernetes/free5gc-udr.yaml              |   65 +
.../Files/kubernetes/free5gc-upf.yaml              |  105 +
.../Files/kubernetes/free5gc-webui.yaml            |   84 +
.../Files/kubernetes/unix-daemonset.yaml           |   48 +
.../Scripts/free5gc_mgmt_cnf.py                    |  785 +++++
.../TOSCA-Metadata/TOSCA.meta                      |   74 +
.../sample_free5gc_cnf_package/inst_param.yaml     |   32 +
.../BaseHOT/simple/base_hot_top.yaml               |   44 +
.../simple/nested/base_hot_nested_free5gc.yaml     |   47 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  282 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1560 ++++++++++
.../Definitions/sample_free5gc_df_simple.yaml      |  179 ++
.../Definitions/sample_free5gc_top.vnfd.yaml       |   31 +
.../Definitions/sample_free5gc_types.yaml          |   63 +
.../Scripts/free5gc_mgmt.py                        |  722 +++++
.../Scripts/modify_config.sh                       |  123 +
.../TOSCA-Metadata/TOSCA.meta                      |   14 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data.py                      |   35 +
.../sample_free5gc_body_scope_nfvi_node.json       |   41 +
.../BaseHOT/simple/base_hot_top.yaml               |   54 +
.../simple/nested/base_hot_nested_free5gc.yaml     |   43 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  282 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1560 ++++++++++
.../Definitions/sample_free5gc_df_simple.yaml      |  221 ++
.../Definitions/sample_free5gc_top.vnfd.yaml       |   31 +
.../Definitions/sample_free5gc_types.yaml          |   63 +
.../Scripts/free5gc_mgmt.py                        |  722 +++++
.../Scripts/modify_config.sh                       |  123 +
.../TOSCA-Metadata/TOSCA.meta                      |   14 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data.py                      |   35 +
.../BaseHOT/simple/base_hot_top.yaml               |   54 +
.../simple/nested/base_hot_nested_free5gc.yaml     |   43 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  282 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1560 ++++++++++
.../Definitions/sample_free5gc_df_simple.yaml      |  226 ++
.../Definitions/sample_free5gc_top.vnfd.yaml       |   31 +
.../Definitions/sample_free5gc_types.yaml          |   63 +
.../Scripts/free5gc_mgmt.py                        |  722 +++++
.../Scripts/modify_config.sh                       |  123 +
.../TOSCA-Metadata/TOSCA.meta                      |   14 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data.py                      |   35 +
.../sample_free5gc_body_scope_zone.json            |   50 +
.../BaseHOT/simple/base_hot_top.yaml               |   41 +
.../simple/nested/base_hot_nested_free5gc.yaml     |   50 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  282 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1560 ++++++++++
.../Definitions/sample_free5gc_df_simple.yaml      |  177 ++
.../Definitions/sample_free5gc_top.vnfd.yaml       |   31 +
.../Definitions/sample_free5gc_types.yaml          |   63 +
.../vnf/change_ext_conn/Scripts/free5gc_mgmt.py    |  901 ++++++
.../vnf/change_ext_conn/Scripts/modify_config.sh   |  123 +
.../vnf/change_ext_conn/TOSCA-Metadata/TOSCA.meta  |   14 +
.../vnf/change_ext_conn/UserData/__init__.py       |    0
.../vnf/change_ext_conn/UserData/lcm_user_data.py  |   35 +
.../changeExtVnfConnectivityRequest.json           |   41 +
.../vnf/change_ext_conn/instantiateVnfRequest.json |   52 +
.../BaseHOT/simple/base_hot_top.yaml               |   39 +
.../simple/nested/base_hot_nested_free5gc.yaml     |   43 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  282 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1560 ++++++++++
.../Definitions/sample_free5gc_df_simple.yaml      |  173 ++
.../Definitions/sample_free5gc_top.vnfd.yaml       |   31 +
.../Definitions/sample_free5gc_types.yaml          |   63 +
.../Scripts/free5gc_mgmt.py                        |  722 +++++
.../Scripts/modify_config.sh                       |  123 +
.../TOSCA-Metadata/TOSCA.meta                      |   14 +
.../UserData/__init__.py                           |    0
.../UserData/lcm_user_data.py                      |   35 +
.../sample_free5gc_body.json                       |   41 +
samples/mgmt_driver/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      |  290 ++
.../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      |  399 +++
.../mgmt_driver/kubernetes/create_admin_token.yaml |   23 +
samples/mgmt_driver/kubernetes/install_helm.sh     |   49 +
.../{ => kubernetes}/install_k8s_cluster.sh        |   15 +-
samples/mgmt_driver/kubernetes/kubernetes_mgmt.py  | 3142 +++++++++++++++++++
.../BaseHOT/complex/complex_hot_top.yaml           |   14 +-
.../complex/nested/complex_nested_master.yaml      |    0
.../complex/nested/complex_nested_worker.yaml      |    0
.../nested/podaffinity_nested_master.yaml          |   34 +
.../nested/podaffinity_nested_worker.yaml          |   30 +
.../BaseHOT/podaffinity/podaffinity_hot_top.yaml   |   95 +
.../simple/nested/simple_nested_master.yaml        |    0
.../simple/nested/simple_nested_worker.yaml        |    0
.../BaseHOT/simple/simple_hot_top.yaml             |   14 +-
.../Definitions/sample_kubernetes_df_complex.yaml  |    0
.../sample_kubernetes_df_podaffinity.yaml          |  254 ++
.../Definitions/sample_kubernetes_df_simple.yaml   |    0
.../Definitions/sample_kubernetes_top.vnfd.yaml    |   33 +
.../Definitions/sample_kubernetes_types.yaml       |   63 +
.../TOSCA-Metadata/TOSCA.meta                      |    9 +-
.../kubernetes_vnf_package/UserData/__init__.py    |    0
.../UserData/k8s_cluster_user_data.py              |   35 +
.../cnf_nodeport_setting/cnf_nodeport_mgmt.py      |  363 +++
.../Definitions/helloworld3_df_simple.yaml         |  124 +
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   53 +
.../Files/kubernetes/deployment.yaml               |   28 +
.../Files/kubernetes/service_with_nodeport.yaml    |   16 +
.../Files/kubernetes/service_without_nodeport.yaml |   11 +
.../TOSCA-Metadata/TOSCA.meta                      |   29 +
.../kubespray/cnf_nodeport_setting/configure_lb.sh |  128 +
.../kubernetes/kubespray/install_external_lb.sh    |  278 ++
.../kubernetes/kubespray/kubespray_mgmt.py         | 1541 ++++++++++
.../BaseHOT/simple/base_hot_top.yaml               |   87 +
.../simple/nested/base_hot_nested_master.yaml      |   33 +
.../simple/nested/base_hot_nested_worker.yaml      |   33 +
.../Definitions/sample_kubernetes_df_simple.yaml   |  288 ++
.../Definitions/sample_kubernetes_top.vnfd.yaml    |    1 -
.../Definitions/sample_kubernetes_types.yaml       |    2 +-
.../TOSCA-Metadata/TOSCA.meta                      |   14 +
.../kubespray_vnf_package/UserData/__init__.py     |    0
.../UserData/lcm_user_data.py                      |   35 +
.../kubernetes/private_registry_mgmt.py            |  480 +++
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1465 +++++++++
.../Definitions/sample_vnfd_df_simple.yaml         |  101 +
.../Definitions/sample_vnfd_top.yaml               |   31 +
.../Definitions/sample_vnfd_types.yaml             |   63 +
.../TOSCA-Metadata/TOSCA.meta                      |   12 +
.../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                                          |   33 +-
tacker/api/api_common.py                           |   25 +
tacker/api/common/_filters.py                      |   22 +-
tacker/api/schemas/vnf_lcm.py                      |   22 +-
tacker/api/validation/parameter_types.py           |    8 +-
tacker/api/validation/validators.py                |   12 +
tacker/api/views/vnf_packages.py                   |    6 +-
tacker/api/vnflcm/v1/controller.py                 |  418 ++-
tacker/api/vnflcm/v1/router.py                     |   10 +
tacker/api/vnfpkgm/v1/controller.py                |   15 +-
tacker/auth.py                                     |   20 +-
tacker/cmd/eventlet/tacker_server.py               |    2 +
tacker/common/csar_utils.py                        |    2 +
tacker/common/exceptions.py                        |   14 +
tacker/common/rpc.py                               |    5 +-
tacker/conductor/conductor_server.py               |  686 +++--
tacker/conf/vnf_lcm.py                             |   26 +-
tacker/context.py                                  |    9 +
tacker/db/db_base.py                               |    3 +
tacker/db/db_sqlalchemy/models.py                  |    5 +-
.../3ff50553e9d3_add_grant_and_grant_request.py    |   78 +
.../6dc60a5760e5_add_extra_field_to_vims_db.py     |   36 +
...8f71ba2_alter_vnfd_ids_vnf_instance_ids_vnf_.py |   51 +
...4b7_rename_field_subscription_authentication.py |   40 +
...3e0d0_add_vnfc_info_to_instantiated_vnf_info.py |   78 +-
.../db/migration/alembic_migrations/versions/HEAD  |    2 +-
...a23ebee909a8_introduce_sol_refactored_models.py |   97 +
...b0d6_add_tenant_id_to_lcm_subscriptions_and_.py |   43 +
tacker/db/migration/models/head.py                 |    7 +-
tacker/db/nfvo/nfvo_db.py                          |    1 +
tacker/db/nfvo/nfvo_db_plugin.py                   |    5 +-
tacker/db/types.py                                 |    7 +
tacker/db/vnfm/vnfm_db.py                          |   82 +-
tacker/extensions/vnfm.py                          |   16 +
tacker/glance_store/store.py                       |   12 +-
tacker/hacking/checks.py                           |   13 +
tacker/nfvo/drivers/vim/openstack_driver.py        |    6 +-
tacker/objects/__init__.py                         |    1 +
tacker/objects/cancel_mode.py                      |   41 +
tacker/objects/fields.py                           |   12 +
tacker/objects/heal_vnf_request.py                 |    6 +-
tacker/objects/scale_vnf_request.py                |    2 +-
tacker/objects/terminate_vnf_req.py                |    2 +-
tacker/objects/vim_connection.py                   |    9 +-
tacker/objects/vnf_instance.py                     |   17 +-
tacker/objects/vnf_instantiated_info.py            |    4 +-
tacker/objects/vnf_lcm_op_occs.py                  |   10 +-
tacker/objects/vnf_lcm_subscriptions.py            |   96 +-
tacker/objects/vnf_package.py                      |    4 +-
tacker/objects/vnf_resources.py                    |    3 +-
tacker/objects/vnf_software_image.py               |    2 +-
tacker/objects/vnfd_attribute.py                   |    2 +-
tacker/plugins/common/constants.py                 |   18 +-
tacker/policies/__init__.py                        |    2 +
tacker/policies/vnf_lcm.py                         |   22 +
tacker/privileged/__init__.py                      |   31 +
tacker/privileged/linux_cmd.py                     |   33 +
tacker/sol_refactored/api/api_version.py           |  115 +
tacker/sol_refactored/api/policies/vnflcm_v2.py    |  240 ++
tacker/sol_refactored/api/router.py                |   59 +
tacker/sol_refactored/api/schemas/__init__.py      |    0
tacker/sol_refactored/api/schemas/common_types.py  |  255 ++
tacker/sol_refactored/api/schemas/vnflcm_v2.py     |  357 +++
tacker/sol_refactored/api/validator.py             |   51 +
tacker/sol_refactored/api/wsgi.py                  |  180 ++
tacker/sol_refactored/common/cinder_utils.py       |   45 +
.../sol_refactored/common/common_script_utils.py   |  279 ++
tacker/sol_refactored/common/config.py             |   87 +
tacker/sol_refactored/common/coordinate.py         |   69 +
tacker/sol_refactored/common/exceptions.py         |  330 ++
tacker/sol_refactored/common/http_client.py        |  237 ++
tacker/sol_refactored/common/lcm_op_occ_utils.py   |  544 ++++
tacker/sol_refactored/common/subscription_utils.py |  269 ++
tacker/sol_refactored/common/vim_utils.py          |  101 +
tacker/sol_refactored/common/vnf_instance_utils.py |   79 +
tacker/sol_refactored/common/vnfd_utils.py         |  456 +++
tacker/sol_refactored/conductor/__init__.py        |    0
.../sol_refactored/conductor/conductor_rpc_v2.py   |   52 +
tacker/sol_refactored/conductor/conductor_v2.py    |  332 +++
tacker/sol_refactored/conductor/v2_hook.py         |   29 +
.../sol_refactored/conductor/vnflcm_driver_v2.py   | 1147 +++++++
tacker/sol_refactored/controller/__init__.py       |    0
tacker/sol_refactored/controller/vnflcm_v2.py      |  654 ++++
.../sol_refactored/controller/vnflcm_versions.py   |   27 +
tacker/sol_refactored/controller/vnflcm_view.py    |  402 +++
tacker/sol_refactored/db/__init__.py               |    0
tacker/sol_refactored/db/sqlalchemy/__init__.py    |    0
tacker/sol_refactored/db/sqlalchemy/models.py      |  154 +
.../infra_drivers/kubernetes/kubernetes.py         |  353 +++
.../infra_drivers/kubernetes/kubernetes_utils.py   |  726 +++++
.../infra_drivers/openstack/heat_utils.py          |  244 ++
.../infra_drivers/openstack/openstack.py           | 1585 ++++++++++
.../infra_drivers/openstack/userdata_default.py    |  251 ++
.../infra_drivers/openstack/userdata_main.py       |   56 +
.../infra_drivers/openstack/userdata_utils.py      |   55 +
.../sol_refactored/mgmt_drivers/sample_script.py   |   67 +
tacker/sol_refactored/nfvo/glance_utils.py         |   58 +
tacker/sol_refactored/nfvo/local_nfvo.py           |  387 +++
tacker/sol_refactored/nfvo/nfvo_client.py          |  143 +
tacker/sol_refactored/objects/__init__.py          |  122 +
tacker/sol_refactored/objects/base.py              |  455 +++
.../objects/common/cp_protocol_data.py             |   33 +
.../objects/common/ext_link_port_data.py           |   32 +
.../common/ext_managed_virtual_link_data.py        |   40 +
.../objects/common/ext_virtual_link_data.py        |   37 +
tacker/sol_refactored/objects/common/fields.py     |  111 +
.../common/ip_over_ethernet_address_data.py        |   67 +
tacker/sol_refactored/objects/common/link.py       |   30 +
.../objects/common/notification_link.py            |   30 +
.../objects/common/problem_details.py              |   34 +
.../objects/common/resource_handle.py              |   33 +
.../objects/common/subscription_authentication.py  |   72 +
.../objects/common/vim_connection_info.py          |   34 +
.../objects/common/vnf_ext_cp_config.py            |   33 +
.../objects/common/vnf_ext_cp_data.py              |   32 +
.../common/vnf_instance_subscription_filter.py     |   80 +
.../objects/v1/constraint_resource_ref.py          |   37 +
tacker/sol_refactored/objects/v1/fields.py         |   43 +
tacker/sol_refactored/objects/v1/grant.py          |   85 +
tacker/sol_refactored/objects/v1/grant_info.py     |   38 +
tacker/sol_refactored/objects/v1/grant_request.py  |   65 +
.../objects/v1/placement_constraint.py             |   51 +
.../objects/v1/resource_definition.py              |   46 +
.../objects/v1/snapshot_resource_definition.py     |   35 +
.../objects/v1/vim_compute_resource_flavour.py     |   37 +
tacker/sol_refactored/objects/v1/vim_constraint.py |   35 +
.../objects/v1/vim_snapshot_resource.py            |   35 +
.../objects/v1/vim_software_image.py               |   36 +
.../sol_refactored/objects/v1/zone_group_info.py   |   33 +
tacker/sol_refactored/objects/v1/zone_info.py      |   36 +
.../objects/v2/affected_ext_link_port.py           |   41 +
.../objects/v2/affected_virtual_link.py            |   49 +
.../objects/v2/affected_virtual_storage.py         |   46 +
tacker/sol_refactored/objects/v2/affected_vnfc.py  |   49 +
tacker/sol_refactored/objects/v2/cancel_mode.py    |   30 +
.../objects/v2/change_current_vnf_pkg_request.py   |   50 +
.../v2/change_ext_vnf_connectivity_request.py      |   35 +
.../objects/v2/change_vnf_flavour_request.py       |   40 +
.../sol_refactored/objects/v2/cp_protocol_info.py  |   34 +
.../objects/v2/create_vnf_pkg_info_request.py      |   31 +
.../objects/v2/create_vnf_request.py               |   33 +
.../objects/v2/create_vnf_snapshot_info_request.py |   32 +
.../objects/v2/create_vnf_snapshot_request.py      |   35 +
.../objects/v2/ext_link_port_info.py               |   33 +
.../objects/v2/ext_managed_virtual_link_info.py    |   39 +
.../objects/v2/ext_virtual_link_info.py            |   36 +
.../objects/v2/external_artifacts_access_config.py |   73 +
tacker/sol_refactored/objects/v2/fields.py         |  175 ++
.../sol_refactored/objects/v2/heal_vnf_request.py  |   36 +
.../objects/v2/instantiate_vnf_request.py          |   41 +
.../objects/v2/ip_over_ethernet_address_info.py    |   66 +
tacker/sol_refactored/objects/v2/lccn_links.py     |   35 +
.../sol_refactored/objects/v2/lccn_subscription.py |   55 +
.../objects/v2/lccn_subscription_request.py        |   38 +
.../v2/lifecycle_change_notifications_filter.py    |   45 +
.../modifications_triggered_by_vnf_pkg_change.py   |   39 +
.../objects/v2/monitoring_parameter.py             |   34 +
.../objects/v2/operate_vnf_request.py              |   36 +
tacker/sol_refactored/objects/v2/pkgm_links.py     |   33 +
.../objects/v2/pkgm_notification_filter.py         |   91 +
.../objects/v2/pkgm_subscription_request.py        |   35 +
.../objects/v2/revert_to_vnf_snapshot_request.py   |   35 +
tacker/sol_refactored/objects/v2/scale_info.py     |   32 +
.../sol_refactored/objects/v2/scale_vnf_request.py |   34 +
.../objects/v2/scale_vnf_to_level_request.py       |   32 +
.../objects/v2/terminate_vnf_request.py            |   33 +
.../v2/upload_vnf_package_from_uri_request.py      |   58 +
.../objects/v2/virtual_storage_resource_info.py    |   38 +
.../sol_refactored/objects/v2/vnf_ext_cp_info.py   |   39 +
.../v2/vnf_identifier_creation_notification.py     |   36 +
.../v2/vnf_identifier_deletion_notification.py     |   36 +
.../objects/v2/vnf_info_modification_request.py    |   44 +
.../objects/v2/vnf_info_modifications.py           |   45 +
tacker/sol_refactored/objects/v2/vnf_instance.py   |  109 +
tacker/sol_refactored/objects/v2/vnf_lcm_op_occ.py |  136 +
.../vnf_lcm_operation_occurrence_notification.py   |   61 +
.../objects/v2/vnf_link_port_data.py               |   32 +
.../objects/v2/vnf_link_port_info.py               |   36 +
.../objects/v2/vnf_package_artifact_info.py        |   43 +
.../objects/v2/vnf_package_change_notification.py  |   41 +
.../v2/vnf_package_onboarding_notification.py      |   39 +
.../objects/v2/vnf_package_software_image_info.py  |   70 +
tacker/sol_refactored/objects/v2/vnf_pkg_info.py   |   74 +
.../objects/v2/vnf_pkg_info_modifications.py       |   34 +
tacker/sol_refactored/objects/v2/vnf_snapshot.py   |   54 +
.../sol_refactored/objects/v2/vnf_snapshot_info.py |   47 +
.../v2/vnf_snapshot_info_modification_request.py   |   33 +
.../objects/v2/vnf_snapshot_info_modifications.py  |   33 +
.../objects/v2/vnf_state_snapshot_info.py          |   32 +
.../objects/v2/vnf_virtual_link_resource_info.py   |   40 +
tacker/sol_refactored/objects/v2/vnfc_info.py      |   35 +
.../objects/v2/vnfc_info_modifications.py          |   32 +
.../objects/v2/vnfc_resource_info.py               |   59 +
.../objects/v2/vnfc_snapshot_info.py               |   52 +
tacker/sol_refactored/test-tools/cli.py            |  250 ++
.../test-tools/notif_endpoint_app.py               |  111 +
.../functional5/BaseHOT/simple/helloworld3.yaml    |   30 +-
.../functional6/BaseHOT/simple/helloworld3.yaml    |   21 +-
.../Definitions/helloworld3_df_simple.yaml         |   16 +-
.../functional7/BaseHOT/simple/helloworld3.yaml    |  100 +
.../functional7/BaseHOT/simple/nested/VDU1.yaml    |   65 +
.../functional7/BaseHOT/simple/nested/VDU2.yaml    |   65 +
.../Definitions/helloworld3_df_simple.yaml         |  415 +++
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../functional7/Definitions/helloworld3_types.yaml |   55 +
.../etsi/nfv/functional7/TOSCA-Metadata/TOSCA.meta |    4 +
.../etsi/nfv/functional7/UserData/__init__.py      |    0
.../etsi/nfv/functional7/UserData/lcm_user_data.py |   35 +
.../mt_functional1/BaseHOT/simple/helloworld3.yaml |   99 +
.../mt_functional1/BaseHOT/simple/nested/VDU1.yaml |   72 +
.../mt_functional1/BaseHOT/simple/nested/VDU2.yaml |   61 +
.../Definitions/helloworld3_df_simple.yaml         |  403 +++
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   55 +
.../nfv/mt_functional1/TOSCA-Metadata/TOSCA.meta   |    4 +
.../etsi/nfv/mt_functional1/UserData/__init__.py   |    0
.../nfv/mt_functional1/UserData/lcm_user_data.py   |   35 +
.../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 +
.../BaseHOT/simple/helloworld3.yaml                |   98 +
.../BaseHOT/simple/nested/VDU1.yaml                |   72 +
.../BaseHOT/simple/nested/VDU2.yaml                |   61 +
.../Definitions/helloworld3_df_simple.yaml         |  403 +++
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   55 +
.../stack_update_in_heal/TOSCA-Metadata/TOSCA.meta |    4 +
.../UserData/BaseHOT/simple/helloworld3.yaml       |   98 +
.../UserData/BaseHOT/simple/nested/VDU1.yaml       |   72 +
.../UserData/BaseHOT/simple/nested/VDU2.yaml       |   61 +
.../Definitions/helloworld3_df_simple.yaml         |  403 +++
.../UserData/Definitions/helloworld3_top.vnfd.yaml |   31 +
.../UserData/Definitions/helloworld3_types.yaml    |   55 +
.../UserData/TOSCA-Metadata/TOSCA.meta             |    4 +
.../nfv/stack_update_in_heal/UserData/__init__.py  |    0
.../stack_update_in_heal/UserData/lcm_user_data.py |  100 +
.../BaseHOT/simple/helloworld3.yaml                |  105 +
.../BaseHOT/simple/nested/VDU1.yaml                |   76 +
.../BaseHOT/simple/nested/VDU2.yaml                |   68 +
.../Definitions/helloworld3_df_simple.yaml         |  403 +++
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   55 +
.../TOSCA-Metadata/TOSCA.meta                      |    4 +
.../UserData/BaseHOT/simple/helloworld3.yaml       |  105 +
.../UserData/BaseHOT/simple/nested/VDU1.yaml       |   76 +
.../UserData/BaseHOT/simple/nested/VDU2.yaml       |   68 +
.../Definitions/helloworld3_df_simple.yaml         |  403 +++
.../UserData/Definitions/helloworld3_top.vnfd.yaml |   31 +
.../UserData/Definitions/helloworld3_types.yaml    |   55 +
.../UserData/TOSCA-Metadata/TOSCA.meta             |    4 +
.../nfv/stack_update_in_scale/UserData/__init__.py |    0
.../UserData/lcm_user_data.py                      |  100 +
.../Definitions/helloworld3_df_simple.yaml         |    0
.../test_cnf/Definitions/helloworld3_top.vnfd.yaml |   31 +
.../test_cnf/Definitions/helloworld3_types.yaml    |   53 +
.../Files/kubernetes/bindings.yaml                 |    0
.../clusterrole_clusterrolebinding_SA.yaml         |    0
.../Files/kubernetes/config-map.yaml               |    0
.../Files/kubernetes/controller-revision.yaml      |    0
.../Files/kubernetes/daemon-set.yaml               |    0
.../Files/kubernetes/deployment.yaml               |    0
.../kubernetes/horizontal-pod-autoscaler.yaml      |    0
.../Files/kubernetes/job.yaml                      |    0
.../Files/kubernetes/limit-range.yaml              |    0
.../kubernetes/local-subject-access-review.yaml    |    0
.../Files/kubernetes/multiple_yaml_lease.yaml      |    0
.../kubernetes/multiple_yaml_network-policy.yaml   |    0
.../kubernetes/multiple_yaml_priority-class.yaml   |    0
.../Files/kubernetes/namespace.yaml                |    0
.../Files/kubernetes/persistent-volume-0.yaml      |    0
.../Files/kubernetes/persistent-volume-1.yaml      |    0
.../Files/kubernetes/pod-template.yaml             |    0
.../Files/kubernetes/pod.yaml                      |    0
.../kubernetes/replicaset_service_secret.yaml      |    0
.../Files/kubernetes/resource-quota.yaml           |    0
.../Files/kubernetes/role_rolebinding_SA.yaml      |    0
...access-review_and_self-subject-rule-review.yaml |    0
.../Files/kubernetes/statefulset.yaml              |    0
.../Files/kubernetes/statefulset_fail.yaml         |   36 +
.../Files/kubernetes/storage-class.yaml            |    0
.../Files/kubernetes/storage-class_pv_pvc.yaml     |    0
.../Files/kubernetes/subject-access-review.yaml    |    0
.../Files/kubernetes/token-review.yaml             |    0
.../TOSCA-Metadata/TOSCA.meta                      |    7 +-
.../Definitions/sample_df_simple.yaml              |  178 ++
.../Definitions/sample_top.vnfd.yaml               |   31 +
.../Definitions/sample_types.yaml                  |   53 +
.../Files/kubernetes/configmap_2.yaml              |    9 +
.../Files/kubernetes/deployment.yaml               |   39 +
.../Files/kubernetes/pod_env.yaml                  |   26 +
.../Files/kubernetes/pod_volume.yaml               |    8 +
.../Files/kubernetes/replicaset.yaml               |   41 +
.../Files/kubernetes/secret_2.yaml                 |    9 +
.../TOSCA-Metadata/TOSCA.meta                      |   39 +
.../Definitions/sample_df_simple.yaml              |  178 ++
.../Definitions/sample_top.vnfd.yaml               |   31 +
.../Definitions/sample_types.yaml                  |   53 +
.../Files/kubernetes/configmap_1.yaml              |    9 +
.../Files/kubernetes/deployment.yaml               |   39 +
.../Files/kubernetes/pod_env.yaml                  |   26 +
.../Files/kubernetes/pod_volume.yaml               |   28 +
.../Files/kubernetes/replicaset.yaml               |   41 +
.../Files/kubernetes/secret_1.yaml                 |    9 +
.../TOSCA-Metadata/TOSCA.meta                      |   39 +
.../Definitions/helloworld3_df_simple.yaml         |   42 +
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   53 +
.../Files/kubernetes/storage-class-url.yaml        |    0
.../TOSCA-Metadata/TOSCA.meta                      |    0
.../Definitions/sample_vnfd_df_helmchart.yaml      |  151 +
.../Definitions/sample_vnfd_top.yaml               |   31 +
.../Definitions/sample_vnfd_types.yaml             |   53 +
.../Files/kubernetes/localhelm-0.1.0.tgz           |  Bin 0 -> 3603 bytes
.../test_cnf_helmchart/TOSCA-Metadata/TOSCA.meta   |    9 +
.../Definitions/helloworld3_df_simple.yaml         |  150 +
.../Definitions/helloworld3_top.vnfd.yaml          |   31 +
.../Definitions/helloworld3_types.yaml             |   53 +
.../Files/kubernetes/deployment_has_namespace.yaml |   22 +
.../Files/kubernetes/deployment_no_namespace.yaml  |   21 +
.../Files/kubernetes/namespace01.yaml              |    4 +
.../Files/kubernetes/namespace02.yaml              |    4 +
.../test_cnf_multi_ns/TOSCA-Metadata/TOSCA.meta    |   24 +
.../test_heal_grant_unit/helloworld3_types.yaml    |   59 +
.../etsi/nfv/test_heal_grant_unit/sample_vnfd.yaml |  144 +
.../Scripts/vnflcm_noop.py                         |   10 +
.../TOSCA-Metadata/TOSCA.meta                      |    2 +-
.../functional/legacy/vnfm/test_tosca_vnf_alarm.py |    3 +
.../legacy/vnfm/test_vnf_placement_policy.py       |    7 -
.../functional/sol/vnflcm/test_vnf_instance.py     |  308 +-
.../sol/vnflcm/test_vnf_instance_with_user_data.py |  387 ++-
.../functional/sol/vnflcm/test_vnflcm_noop.py      |   26 +-
.../functional/sol/vnfpkgm/test_vnf_package.py     |   11 +
.../sol_kubernetes/vnflcm/test_kubernetes.py       | 1128 ++-----
.../vnflcm/test_kubernetes_container_update.py     |  102 +
.../sol_kubernetes/vnflcm/test_kubernetes_heal.py  |  310 +-
.../sol_kubernetes/vnflcm/test_kubernetes_helm.py  |  139 +
.../vnflcm/test_kubernetes_multi_ns.py             |  140 +
.../sol_kubernetes/vnflcm/test_kubernetes_scale.py |  500 +---
.../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                          |  109 +
.../vnflcm/test_kubernetes_multi_tenant.py         |  375 +++
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1463 +++++++++
.../contents/Definitions/sample_cnf_df_simple.yaml |  169 ++
.../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     |   28 +
.../Files/new_kubernetes/new_deployment.yaml       |   24 +
.../contents/Scripts/coordinate_new_vnf.py         |   66 +
.../contents/Scripts/coordinate_old_vnf.py         |   63 +
.../contents/TOSCA-Metadata/TOSCA.meta             |   25 +
.../test_change_vnf_pkg_with_deployment/pkggen.py  |   47 +
.../contents/Definitions/sample_cnf_df_simple.yaml |  304 ++
.../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/coordinate_old_vnf.py         |   63 +
.../contents/TOSCA-Metadata/TOSCA.meta             |  144 +
.../test_instantiate_cnf_resources/pkggen.py       |   74 +
.../sol_kubernetes_v2/test_change_vnfpkg.py        |  330 ++
.../sol_kubernetes_v2/test_vnflcm_basic.py         |  266 ++
.../sol_kubernetes_v2/test_vnflcm_error_handing.py |  471 +++
.../functional/sol_multi_tenant/vnflcm/__init__.py |    0
.../functional/sol_multi_tenant/vnflcm/base.py     |  118 +
.../sol_multi_tenant/vnflcm/fake_vnflcm.py         |  252 ++
.../vnflcm/test_vnf_lcm_with_multi_tenant.py       |  455 +++
.../sol_separated_nfvo/vnflcm/fake_grant.py        |  268 +-
.../sol_separated_nfvo/vnflcm/fake_grant_server.py |  159 +
...st_vnf_instance_with_user_data_nfvo_separate.py |  229 +-
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   91 +
.../contents/BaseHOT/simple/sample1.yaml           |  120 +
.../contents/Definitions/v2_sample1_df_simple.yaml |  428 +++
.../contents/Definitions/v2_sample1_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample1_types.yaml     |   55 +
.../contents/Scripts/sample_script.py              |   67 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../basic_lcms_max/contents/UserData/userdata.py   |  125 +
.../sol_v2/samples/basic_lcms_max/pkggen.py        |  125 +
.../sol_v2/samples/basic_lcms_max/post.py          |   21 +
.../sol_v2/samples/basic_lcms_max/pre.py           |   24 +
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   30 +
.../contents/BaseHOT/simple/sample2.yaml           |   61 +
.../contents/Definitions/v2_sample2_df_simple.yaml |  262 ++
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample2_types.yaml     |   55 +
.../contents/Scripts/sample_script.py              |   77 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../sol_v2/samples/basic_lcms_min/pkggen.py        |   81 +
.../Definitions/etsi_nfv_sol001_common_types.yaml  |  202 ++
.../Definitions/etsi_nfv_sol001_vnfd_types.yaml    | 1463 +++++++++
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   30 +
.../contents/BaseHOT/simple/sample2.yaml           |   61 +
.../contents/Definitions/v2_sample2_df_simple.yaml |  258 ++
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample2_types.yaml     |   55 +
.../contents/Scripts/sample_script.py              |   67 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../sol_v2/samples/error_network/pkggen.py         |   50 +
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   91 +
.../scale_ng/contents/BaseHOT/simple/sample1.yaml  |  120 +
.../contents/Definitions/v2_sample1_df_simple.yaml |  428 +++
.../contents/Definitions/v2_sample1_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample1_types.yaml     |   55 +
.../scale_ng/contents/Scripts/sample_script.py     |   67 +
.../scale_ng/contents/TOSCA-Metadata/TOSCA.meta    |    4 +
.../samples/scale_ng/contents/UserData/userdata.py |  125 +
.../functional/sol_v2/samples/scale_ng/pkggen.py   |   77 +
.../functional/sol_v2/samples/scale_ng/post.py     |   20 +
.../functional/sol_v2/samples/scale_ng/pre.py      |   21 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   54 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   27 +
.../contents/BaseHOT/volume/base_hot_top.yaml      |   53 +
.../volume/nested/base_hot_nested_VDU1.yaml        |   39 +
.../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         |  145 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../test_change_vnf_pkg_with_new_image/pkggen.py   |   51 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   65 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   27 +
.../contents/BaseHOT/volume/base_hot_top.yaml      |   65 +
.../volume/nested/base_hot_nested_VDU1.yaml        |   39 +
.../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         |  145 +
.../contents/Scripts/error_coordinate_new_vnf.py   |   67 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../test_change_vnf_pkg_with_new_volume/pkggen.py  |   54 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   53 +
.../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         |  145 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../pkggen.py                                      |   46 +
.../contents/BaseHOT/simple/base_hot_top.yaml      |   53 +
.../simple/nested/base_hot_nested_VDU1.yaml        |   27 +
.../contents/BaseHOT/volume/base_hot_top.yaml      |   65 +
.../volume/nested/base_hot_nested_VDU1.yaml        |   39 +
.../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         |  145 +
.../contents/TOSCA-Metadata/TOSCA.meta             |    4 +
.../pkggen.py                                      |   85 +
.../contents/BaseHOT/simple/nested/VDU1.yaml       |   30 +
.../contents/BaseHOT/simple/sample2.yaml           |   61 +
.../contents/Definitions/v2_sample2_df_simple.yaml |  258 ++
.../contents/Definitions/v2_sample2_top.vnfd.yaml  |   31 +
.../contents/Definitions/v2_sample2_types.yaml     |   55 +
.../update_vnf/contents/Scripts/sample_script.py   |   67 +
.../update_vnf/contents/TOSCA-Metadata/TOSCA.meta  |    4 +
.../functional/sol_v2/samples/update_vnf/pkggen.py |   49 +
.../sol_v2/test_vnflcm_error_handling.py           | 1128 +++++++
.../unit/objects/test_vnf_lcm_subscriptions.py     |   93 +-
.../unit/sol_refactored/api/test_api_version.py    |   62 +
.../unit/sol_refactored/api/test_validator.py      |   80 +
.../common/test_common_script_utils.py             |  309 ++
.../unit/sol_refactored/common/test_coordinate.py  |   80 +
.../sol_refactored/common/test_lcm_op_occ_utils.py | 2426 +++++++++++++++
.../common/test_vnf_instance_utils.py              |   67 +
.../unit/sol_refactored/common/test_vnfd_utils.py  |  181 ++
.../unit/sol_refactored/conductor/__init__.py      |    0
.../sol_refactored/conductor/test_conductor_v2.py  |  532 ++++
.../conductor/test_vnflcm_driver_v2.py             | 2188 ++++++++++++++
.../unit/sol_refactored/controller/__init__.py     |    0
.../sol_refactored/controller/test_vnflcm_v2.py    |  673 +++++
.../sol_refactored/controller/test_vnflcm_view.py  |  186 ++
.../unit/sol_refactored/infra_drivers/__init__.py  |    0
.../infra_drivers/kubernetes/__init__.py           |    0
.../infra_drivers/kubernetes/fakes.py              |  546 ++++
.../infra_drivers/kubernetes/test_kubernetes.py    | 1361 +++++++++
.../infra_drivers/openstack/__init__.py            |    0
.../infra_drivers/openstack/test_openstack.py      | 3145 ++++++++++++++++++++
.../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 +
.../sample1/BaseHOT/simple/nested/VDU1.yaml        |   87 +
.../samples/sample1/BaseHOT/simple/ut_sample1.yaml |  119 +
.../sample1/Definitions/ut_sample1_df_simple.yaml  |  426 +++
.../samples/sample1/Scripts/sample_script.py       |   67 +
.../samples/sample1/TOSCA-Metadata/TOSCA.meta      |    4 +
.../samples/sample1/UserData/userdata_default.py   |  120 +
.../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    |  157 +-
.../kubernetes/test_kubernetes_driver.py           |  327 +-
.../kubernetes/test_kubernetes_driver_helm.py      |  680 +++++
.../kubernetes/test_translate_outputs.py           |   70 +-
.../vnfm/infra_drivers/kubernetes/test_utils.py    |   70 +
.../etsi_nfv/etsi_nfv_sol001_common_types.yaml     |  404 +--
.../data/etsi_nfv/etsi_nfv_sol001_vnfd_types.yaml  | 2704 ++++++++---------
.../etsi_nfv/hot/hot_generate_hot_from_tosca.yaml  |  130 +-
.../hot_generate_hot_from_tosca_with_scaling.yaml  |  122 +-
.../etsi_nfv/hot/scaling/worker_instance.hot.yaml  |   82 +-
.../etsi_nfv/tosca_generate_hot_from_tosca.yaml    |  230 +-
...tosca_generate_hot_from_tosca_parser_error.yaml |   32 +-
...a_generate_hot_from_tosca_translator_error.yaml |   96 +-
..._generate_hot_from_tosca_with_params_error.yaml |  394 +--
...tosca_generate_hot_from_tosca_with_scaling.yaml |  366 +--
...t_from_tosca_with_scaling_invalid_inst_req.yaml |  210 +-
...rom_tosca_with_substitution_mappings_error.yaml |  394 +--
.../data/etsi_nfv/tosca_params_error.yaml          |    6 +-
.../openstack/data/etsi_nfv/tosca_vnfd.yaml        |  196 +-
.../data/etsi_nfv/tosca_vnfd_group_member.yaml     |  103 +
.../openstack/data/hot_scale_grant.yaml            |    4 +-
.../openstack/data/test_tosca_parser_failure.yaml  |   54 +-
.../openstack/fixture_data/fixture_data_utils.py   |  179 +-
.../openstack/test_etsi_translate_template.py      |    6 +-
.../openstack/test_openstack_driver.py             | 1273 ++++++--
.../openstack/test_update_template.py              |  227 ++
.../unit/vnfm/infra_drivers/openstack/test_vdu.py  |    2 +-
.../unit/vnfm/lcm_user_data/utils/test_utils.py    |   23 +
.../mgmt_drivers/test_container_update_mgmt.py     |  156 +
.../vdu_autoheal/test_vdu_autoheal.py              |    2 +-
tacker/vnflcm/utils.py                             |   34 +-
tacker/vnflcm/vnflcm_driver.py                     |  280 +-
.../vnfm/infra_drivers/kubernetes/helm/__init__.py |    0
.../infra_drivers/kubernetes/helm/helm_client.py   |  189 ++
.../kubernetes/k8s/translate_outputs.py            |   80 +-
.../infra_drivers/kubernetes/kubernetes_driver.py  |  551 +++-
tacker/vnfm/infra_drivers/kubernetes/utils.py      |   83 +
tacker/vnfm/infra_drivers/openstack/heat_client.py |   10 +
tacker/vnfm/infra_drivers/openstack/openstack.py   |  650 +++-
.../infra_drivers/openstack/translate_template.py  |    4 +
.../infra_drivers/openstack/update_template.py     |   98 +
tacker/vnfm/infra_drivers/openstack/vdu.py         |    3 +-
tacker/vnfm/infra_drivers/scale_driver.py          |    9 +-
tacker/vnfm/keystone.py                            |    9 +-
tacker/vnfm/lcm_user_data/utils.py                 |   85 +-
tacker/vnfm/mgmt_drivers/constants.py              |    2 +
tacker/vnfm/mgmt_drivers/vnflcm_abstract_driver.py |   10 +
tacker/vnfm/mgmt_drivers/vnflcm_noop.py            |   10 +
tacker/vnfm/nfvo_client.py                         |    5 +
.../policy_actions/vdu_autoheal/vdu_autoheal.py    |    3 +-
tacker/vnfm/vim_client.py                          |    3 +-
test-requirements.txt                              |    2 +-
tools/gen_vim_config.sh                            |  388 +++
tools/test-setup-k8s-vim.sh                        |    2 +-
tools/test-setup-mgmt.sh                           |   29 +
tox.ini                                            |   43 +-
vagrant/devstack/.gitignore                        |    9 +
vagrant/devstack/README.md                         |   83 +
vagrant/devstack/Vagrantfile                       |  119 +
vagrant/devstack/ansible.cfg                       |    5 +
vagrant/devstack/group_vars/all.yml                |   28 +
.../helper/install_vagrant_libvirt_pkgs.sh         |    7 +
vagrant/devstack/hosts                             |    9 +
vagrant/devstack/lib/machine.rb                    |   38 +
vagrant/devstack/lib/vagrant_boxes.yml             |   13 +
vagrant/devstack/lib/vd_utils.rb                   |   79 +
.../roles/centos-stream8/compute/tasks/main.yml    |    6 +
.../centos-stream8/compute/templates/local.conf.j2 |   22 +
.../centos-stream8/controller/tasks/basic_pkgs.yml |   14 +
.../centos-stream8/controller/tasks/devstack.yml   |   22 +
.../controller/tasks/extra_tools.yml               |    6 +
.../centos-stream8/controller/tasks/git_config.yml |    4 +
.../centos-stream8/controller/tasks/kubernetes.yml |   10 +
.../roles/centos-stream8/controller/tasks/main.yml |   21 +
.../roles/centos-stream8/controller/tasks/ovn.yml  |   24 +
.../controller/tasks/python3_specific_vers.yml     |    9 +
.../controller/tasks/set_path_env.yml              |    5 +
.../controller/tasks/setup_tacker.yml              |   65 +
.../controller/tasks/vim_extra_plugins.yml         |   35 +
.../controller/templates/kubernetes.repo.j2        |    7 +
.../centos-stream8/controller/templates/vimrc.j2   |  159 +
.../ubuntu-focal/compute/tasks/basic_pkgs.yml      |    6 +
.../roles/ubuntu-focal/compute/tasks/devstack.yml  |   15 +
.../roles/ubuntu-focal/compute/tasks/main.yml      |    6 +
.../ubuntu-focal/compute/templates/local.conf.j2   |   22 +
.../ubuntu-focal/controller/tasks/basic_pkgs.yml   |   16 +
.../ubuntu-focal/controller/tasks/devstack.yml     |   20 +
.../ubuntu-focal/controller/tasks/extra_tools.yml  |    8 +
.../ubuntu-focal/controller/tasks/git_config.yml   |    4 +
.../roles/ubuntu-focal/controller/tasks/main.yml   |   23 +
.../controller/tasks/python3_specific_vers.yml     |    9 +
.../controller/tasks/remove_useless_pkgs.yml       |   11 +
.../ubuntu-focal/controller/tasks/set_path_env.yml |    5 +
.../ubuntu-focal/controller/tasks/setup_tacker.yml |   65 +
.../controller/tasks/vim_extra_plugins.yml         |   29 +
.../ubuntu-focal/controller/tasks/vim_latest.yml   |    8 +
.../ubuntu-focal/controller/templates/vimrc.j2     |  159 +
vagrant/devstack/samples/machines-2nodes.yml       |   35 +
vagrant/devstack/samples/machines.yml              |   21 +
vagrant/devstack/site.yaml                         |   18 +
1040 files changed, 137137 insertions(+), 7641 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 8352eaaa..80daa4d2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,2 +10 @@ amqp>=2.4.0
-anyjson>=0.3.3 # BSD
-eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+eventlet>=0.30.1 # MIT
@@ -30,0 +30 @@ oslo.policy>=3.6.0 # Apache-2.0
+oslo.privsep>=2.4.0 # Apache-2.0
@@ -34 +34 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
-oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
+oslo.service>=2.5.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 5ef1d3dc..6ae7245b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9 +9 @@ ddt>=1.0.1 # MIT
-doc8>=0.8.1 # Apache-2.0
+doc8>=0.9.0 # Apache-2.0






More information about the Release-announce mailing list