We are pumped to announce the release of: tacker 0.3.0: OpenStack NFV Orchestration This release is part of the mitaka release series. For more details, please see below. Changes in tacker 0.2.0..0.3.0 ------------------------------ 4a8d109 Revert multiple mgmtdriver check for old templates ed61002 Fix monitoring policy in new sample tosca templates 8fe8878 Implements auto image creation 6952afe Add default VIM steps for manual install dbbd257 Implements the Enhanced VNF placement blueprint 0fdd5a4 Implement multisite VIM feature f602ce8 Adding vnf create/delete testcase with VIM id 28136ae Adding testcase for create and delete VIM 5ffbb36 Implements auto flavor creation 957e4eb py3.x: Use six.text_type() instead of unicode() d6b102b Implement tosca-parser/heat-translator integration 3fe3dfe py3: use function next() instead of next() method on iterator objects e87a330 Avoid using built-in function name 3574e23 Removing unused clauses 0663d08 Keep py3.X compatibility for urllib 72a4944 Removing "device" API from external inteface on master branch. 4abe664 Remove sleep timer in monitor respawn 2dd8c26 Updated from global requirements 41eca8d Code cleanup for passing mutable object as default argument 39b152d Introduce environment variable to disable neutron agents 23f4b5e Fix summary line for setup.cfg 2eb8dfd Fix gettext wrong argument error in py34 6459af0 remove version from setup.cfg 2921491 Fix some small doc issues 5a6c75a Updated from global requirements 6a2d04e Update DevStack README 806323b Change the mode of devstack plugin.sh and fix typo cc52a94 Rearrange and cleanup tacker doc index d69b946 Updated from global requirements e22418a Tacker manual installation guide a3c44eb Unify the driver config opts 6d80aba Updated from global requirements fae50fc Updated from global requirements 102831c Fix MANO API devref 128a3ac Updated from global requirements 85d509e Function to upload OpenWRT image during Tacker devstack installation 43660d0 Removing the method re-defined in same class. f44d44c Remove empty tacker.pot bcb6f07 Fix pep8 errors in tacker code c71a696 Updated from global requirements aede165 Code cleanup at multiple places. d68d941 Fixing default mutable argument issue. 8a8956b Updated from global requirements b5d7289 Alter the 'value' column in 'deviceattributes' table 3132ca5 Renamed 'servicevm' 'advsvc' in tacker install file 9616917 Remove argparse from requirements e8cae12 Updated from global requirements 3fe52d5 Updated from global requirements 0b86734 Trival: remove unused logging 72d421a Fix E713 and F811 errors in tacker code a6de489 Updated from global requirements 1edf756 Fix mgmt_url 'NoneType' error can't be decoded f3222f9 Fix Testing.rst f636417 Updated from global requirements 456650d Fix E265 errors in tacker code ff28020 Change LOG.warn to LOG.warning c2791db Display missing key name in error message 216082b Update hacking 06b53f2 Enable pep8 tests in tacker code 4f4a19a Fix E251 errors in tacker code 77cbcb3 remove python 2.6 trove classifier b384f9d Fix H404, H402, H405 errors in tacker code 38d0b4a Updated from global requirements c272c5a Fix help info in tacker/tests/functional/vnfm/base.py 7c24957 Remove RPC server and client related stuff aa8f5d3 Enable H304 pep8 test in tacker code cfec95b Updated from global requirements 4914f42 Fix H307 errors in tacker code 5eaca46 Fix E305 errors in tacker code 6ee94d4 Deprecated tox -downloadcache option removed 5c7d475 Remove Service instance, context resources 0b724f3 Updated from global requirements 277f55b Updated from global requirements e876c5b Increase the heat stack wait time out 543c1ed Make the db migration scripts complete eeeb37a Make tacker-db-manage revision 'xxx' --autogenerate work c56b955 Func test cases for vnf and vnfd param 78a4035 Merge attribute definion 263a93e Add clients module to Tacker 380e45b Use main port_security_enabled port propert instead of value_specs 26bb93d Add Tacker monitor test with new template 0ede3d0 Update VNFD delete message 40253c1 update requirements according to global requirements 0e863d0 Fixup oslo middleware to use new package name 2025bab Tacker test for multi vdu with monitoring enabled baa1584 Add tacker http monitor test 7d867dd Fix ServiceTypeNotFound and MGMTDriverNotSpecified 447ed4a Fix tacker doc reference links 3fff7ac Reduce vdu2 flavor from ml.medium to ml.tiny 351ca2b Add tacker multi vdu tests 28051f0 Add Tacker monitoring tests Diffstat (except docs and test files) ------------------------------------- TESTING.rst | 4 +- devstack/README.rst | 8 +- devstack/lib/tacker | 89 ++-- devstack/plugin.sh | 6 +- devstack/samples/sample-tosca-vnfd-flavor.yaml | 37 ++ .../samples/sample-tosca-vnfd-http-monitor.yaml | 71 +++ devstack/samples/sample-tosca-vnfd-image.yaml | 66 +++ devstack/samples/sample-tosca-vnfd-monitor.yaml | 72 +++ devstack/samples/sample-tosca-vnfd-multi-vdu.yaml | 137 +++++ devstack/samples/sample-tosca-vnfd.yaml | 63 +++ devstack/samples/sample-vnfd-multi-vdu.yaml | 75 +++ .../tosca-config-openwrt-with-firewall.yaml | 97 ++++ devstack/samples/tosca_openwrt.yaml | 71 +++ devstack/samples/vim_config.yaml | 4 + devstack/settings | 12 +- etc/init.d/tacker-server | 2 +- etc/tacker/api-paste.ini | 4 +- etc/tacker/policy.json | 130 +---- etc/tacker/rootwrap.d/servicevm.filters | 10 - etc/tacker/rootwrap.d/tacker.filters | 10 + etc/tacker/tacker.conf | 53 +- requirements.txt | 55 +- setup.cfg | 21 +- setup.py | 3 +- tacker/__init__.py | 6 +- tacker/agent/linux/daemon.py | 2 - tacker/agent/linux/external_process.py | 2 - tacker/agent/linux/interface.py | 10 +- tacker/agent/linux/ip_lib.py | 28 +- tacker/agent/linux/polling.py | 7 +- tacker/agent/linux/utils.py | 2 - tacker/agent/rpc.py | 1 - tacker/api/api_common.py | 20 +- tacker/api/extensions.py | 16 +- tacker/api/v1/attributes.py | 3 +- tacker/api/v1/base.py | 21 +- tacker/api/v1/resource.py | 4 +- tacker/api/v1/resource_helper.py | 1 - tacker/auth.py | 4 +- tacker/cmd/server.py | 6 +- tacker/common/clients.py | 52 ++ tacker/common/driver_manager.py | 1 - tacker/common/exceptions.py | 4 +- tacker/common/log.py | 1 - tacker/common/rpc.py | 27 +- tacker/common/rpc_compat.py | 6 +- tacker/common/utils.py | 95 +++- tacker/context.py | 1 - tacker/db/db_base.py | 6 +- tacker/db/migration/__init__.py | 2 - tacker/db/migration/alembic_migrations/env.py | 2 - .../versions/12a57080b277_add_service_db.py | 108 ++++ .../versions/12a57080b278_alter_devices.py | 51 ++ .../versions/1c6b0d82afcd_servicevm_framework.py | 4 +- ...24bec5f211c7_alter_value_in_deviceattributes.py | 34 ++ .../2774a42c7163_remove_service_related.py | 115 +++++ .../4c31092895b8_remove_service_instance.py | 9 - .../versions/5246a6bd410f_multisite_vim.py | 68 +++ .../5958429bcb3c_modify_datatype_of_value.py | 2 +- .../db/migration/alembic_migrations/versions/HEAD | 2 +- tacker/db/migration/cli.py | 7 +- tacker/db/migration/models/__init__.py | 0 tacker/db/migration/models/head.py | 31 ++ tacker/db/model_base.py | 2 +- tacker/db/nfvo/__init__.py | 0 tacker/db/nfvo/nfvo_db.py | 169 +++++++ tacker/db/vm/proxy_db.py | 2 - tacker/db/vm/vm_db.py | 448 ++--------------- tacker/extensions/nfvo.py | 207 ++++++++ tacker/extensions/vnfm.py | 264 ++-------- tacker/locale/tacker.pot | 18 - tacker/manager.py | 33 +- tacker/nfvo/__init__.py | 0 tacker/nfvo/drivers/__init__.py | 0 tacker/nfvo/drivers/vim/__init__.py | 0 tacker/nfvo/drivers/vim/abstract_vim_driver.py | 84 ++++ tacker/nfvo/drivers/vim/openstack_driver.py | 180 +++++++ tacker/nfvo/nfvo_plugin.py | 91 ++++ tacker/openstack/common/db/exception.py | 4 +- tacker/openstack/common/loopingcall.py | 4 +- tacker/openstack/common/policy.py | 9 +- tacker/oslo_service.py | 205 -------- tacker/plugins/common/constants.py | 2 + tacker/policy.py | 15 +- tacker/service.py | 126 ----- .../samples/sample-tosca-vnfd-http-monitor.yaml | 72 +++ .../etc/samples/sample-tosca-vnfd-monitor.yaml | 73 +++ .../etc/samples/sample-tosca-vnfd-multi-vdu.yaml | 137 +++++ .../samples/sample-vnfd-multi-vdu-monitoring.yaml | 108 ++++ ...le-vnfd-single-vdu-monitoring-new-template.yaml | 46 ++ .../samples/sample-vnfd-single-vdu-monitoring.yaml | 39 ++ .../etc/samples/sample_cirros_http_monitoring.yaml | 54 ++ .../etc/samples/sample_cirros_vnf_values.yaml | 14 + .../functional/vnfm/test_tosca_vnf_multiple_vdu.py | 82 +++ .../unit/services/vm/test_servicevm_extension.py | 24 +- .../vm/infra_drivers/heat/data/config_data.yaml | 12 + .../vm/infra_drivers/heat/data/hot_flavor.yaml | 32 ++ .../heat/data/hot_flavor_and_capabilities.yaml | 26 + .../heat/data/hot_flavor_defaults.yaml | 32 ++ .../heat/data/hot_flavor_no_units.yaml | 33 ++ .../heat/data/hot_image_after_processed_image.yaml | 16 + .../data/hot_image_before_processed_image.yaml | 9 + .../vm/infra_drivers/heat/data/hot_openwrt.yaml | 26 + .../heat/data/hot_openwrt_ipparams.yaml | 41 ++ .../heat/data/hot_openwrt_params.yaml | 34 ++ .../heat/data/hot_tosca_flavor_all_numa_count.yaml | 22 + .../heat/data/hot_tosca_flavor_all_numa_nodes.yaml | 22 + .../data/hot_tosca_flavor_cpu_allocations.yaml | 22 + .../heat/data/hot_tosca_flavor_huge_pages.yaml | 22 + .../heat/data/hot_tosca_flavor_numa_nodes.yaml | 22 + .../data/hot_tosca_flavor_numa_nodes_count.yaml | 22 + .../infra_drivers/heat/data/hot_tosca_image.yaml | 34 ++ .../infra_drivers/heat/data/hot_tosca_openwrt.yaml | 24 + .../unit/vm/infra_drivers/heat/data/openwrt.yaml | 35 ++ .../infra_drivers/heat/data/test_tosca_flavor.yaml | 44 ++ .../data/test_tosca_flavor_and_capabilities.yaml | 44 ++ .../heat/data/test_tosca_flavor_defaults.yaml | 41 ++ .../heat/data/test_tosca_flavor_no_units.yaml | 43 ++ .../infra_drivers/heat/data/test_tosca_image.yaml | 42 ++ .../heat/data/test_tosca_openwrt.yaml | 54 ++ .../heat/data/tosca_flavor_all_numa_count.yaml | 36 ++ .../heat/data/tosca_flavor_all_numa_nodes.yaml | 44 ++ .../heat/data/tosca_flavor_cpu_allocations.yaml | 34 ++ .../heat/data/tosca_flavor_huge_pages.yaml | 29 ++ .../heat/data/tosca_flavor_numa_nodes.yaml | 37 ++ .../heat/data/tosca_flavor_numa_nodes_count.yaml | 38 ++ .../heat/data/vnf_cirros_param_values_ipaddr.yaml | 17 + .../data/vnf_cirros_param_values_user_data.yaml | 16 + .../heat/data/vnf_cirros_template_ipaddr.yaml | 42 ++ .../heat/data/vnf_cirros_template_user_data.yaml | 41 ++ .../vm/monitor_drivers/http_ping/test_http_ping.py | 10 +- .../unit/vm/monitor_drivers/ping/test_ping.py | 10 +- .../vm/nfvo/drivers/vim/test_openstack_driver.py | 117 +++++ tacker/vm/constants.py | 4 +- tacker/vm/drivers/__init__.py | 0 tacker/vm/drivers/abstract_driver.py | 84 ---- tacker/vm/drivers/heat/__init__.py | 0 tacker/vm/drivers/heat/heat.py | 499 ------------------- tacker/vm/drivers/noop.py | 76 --- tacker/vm/drivers/nova/__init__.py | 0 tacker/vm/drivers/nova/nova.py | 299 ----------- tacker/vm/hosting_device_scheduler.py | 5 +- tacker/vm/infra_drivers/__init__.py | 0 tacker/vm/infra_drivers/abstract_driver.py | 82 +++ tacker/vm/infra_drivers/heat/__init__.py | 0 tacker/vm/infra_drivers/heat/heat.py | 554 +++++++++++++++++++++ tacker/vm/infra_drivers/noop.py | 75 +++ tacker/vm/infra_drivers/nova/__init__.py | 0 tacker/vm/infra_drivers/nova/nova.py | 297 +++++++++++ tacker/vm/keystone.py | 86 ++++ tacker/vm/mgmt_drivers/abstract_driver.py | 60 +-- tacker/vm/mgmt_drivers/constants.py | 2 - tacker/vm/mgmt_drivers/noop.py | 13 - tacker/vm/mgmt_drivers/openwrt/openwrt.py | 23 +- tacker/vm/monitor.py | 88 ++-- tacker/vm/monitor_drivers/abstract_driver.py | 29 +- tacker/vm/monitor_drivers/http_ping/http_ping.py | 10 +- tacker/vm/monitor_drivers/ping/ping.py | 8 +- tacker/vm/plugin.py | 421 +++------------- tacker/vm/tosca/__init__.py | 0 tacker/vm/tosca/lib/tacker_defs.yaml | 101 ++++ tacker/vm/tosca/lib/tacker_nfv_defs.yaml | 49 ++ tacker/vm/tosca/utils.py | 307 ++++++++++++ tacker/vm/vim_client.py | 107 ++++ tacker/wsgi.py | 34 +- test-requirements.txt | 29 +- tox.ini | 32 +- 227 files changed, 8319 insertions(+), 3707 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 734e924..f42dede 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,4 @@ -pbr>=0.6,!=0.7,<1.0 +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +pbr>=1.6 # Apache-2.0 @@ -3,19 +6,19 @@ pbr>=0.6,!=0.7,<1.0 -Paste -PasteDeploy>=1.5.0 -Routes>=1.12.3,!=2.0 -anyjson>=0.3.3 -argparse -Babel>=1.3 -eventlet>=0.16.1,!=0.17.0 -greenlet>=0.3.2 -httplib2>=0.7.5 -requests>=2.2.0,!=2.4.0 -iso8601>=0.1.9 -kombu>=2.5.0 -netaddr>=0.7.12 -SQLAlchemy<1.1.0,>=0.9.7 -WebOb>=1.2.3 -python-heatclient>=0.3.0 -python-keystoneclient>=1.1.0 -alembic>=0.7.2 -six>=1.9.0 +Paste # MIT +PasteDeploy>=1.5.0 # MIT +Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT +anyjson>=0.3.3 # BSD +Babel>=1.3 # BSD +eventlet!=0.18.3,>=0.18.2 # MIT +greenlet>=0.3.2 # MIT +httplib2>=0.7.5 # MIT +requests!=2.9.0,>=2.8.1 # Apache-2.0 +iso8601>=0.1.9 # MIT +kombu>=3.0.25 # BSD +netaddr!=0.7.16,>=0.7.12 # BSD +SQLAlchemy<1.1.0,>=1.0.10 # MIT +WebOb>=1.2.3 # MIT +python-heatclient>=0.6.0 # Apache-2.0 +python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +alembic>=0.8.0 # MIT +six>=1.9.0 # MIT @@ -23,2 +26,2 @@ stevedore>=1.5.0 # Apache-2.0 -oslo.config>=1.11.0 # Apache-2.0 -oslo.messaging!=1.17.0,!=1.17.1,>=1.16.0 # Apache-2.0 +oslo.config>=3.7.0 # Apache-2.0 +oslo.messaging>=4.0.0 # Apache-2.0 @@ -26,3 +29,5 @@ oslo.rootwrap>=2.0.0 # Apache-2.0 -oslosphinx>=2.5.0,<2.6.0 # Apache-2.0 -python-novaclient>=2.22.0 -tosca-parser>=0.1.0 +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 +tosca-parser>=0.4.0 # Apache-2.0 +heat-translator>=0.4.0 # Apache-2.0 +cryptography>=1.0 # BSD/Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index c322b4c..27c3121 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8,3 +8,3 @@ -cliff>=1.10.0,<1.11.0 # Apache-2.0 -coverage>=3.6 -discover +cliff!=1.16.0,!=1.17.0,>=1.15.0 # Apache-2.0 +coverage>=3.6 # Apache-2.0 +discover # BSD @@ -12,11 +12,12 @@ doc8 # Apache-2.0 -fixtures>=0.3.14 -hacking>=0.9.2,<0.10 -mock>=1.0 -python-subunit>=0.0.18 -ordereddict -sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 -oslotest>=1.10.0 -tempest-lib>=0.6.1 -testrepository>=0.0.18 -testtools>=0.9.36,!=1.2.0 -WebTest>=2.0 +fixtures>=1.3.1 # Apache-2.0/BSD +hacking<0.11,>=0.10.2 +mock>=1.2 # BSD +python-subunit>=0.0.18 # Apache-2.0/BSD +ordereddict # MIT +six>=1.9.0 # MIT +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +oslotest>=1.10.0 # Apache-2.0 +tempest-lib>=0.14.0 # Apache-2.0 +testrepository>=0.0.18 # Apache-2.0/BSD +testtools>=1.4.0 # MIT +WebTest>=2.0 # MIT