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