We are tickled pink to announce the release of: heat 6.0.0.0b2: OpenStack Orchestration This release is part of the mitaka release series. With package available at: https://pypi.python.org/pypi/heat For more details, please see below. Changes in heat 6.0.0.0b1..6.0.0.0b2 ------------------------------------ c435133 Updated from global requirements b3a5665 Provide software deployment id on create 89dc06e Replace the word "printf'd" with "formatted" a0b93fe Support neutron address scope ed33ec5 deprecate module heat.api.middleware.ssl bf20657 Unify workers options for API services 6ffc503 Imported Translations from Zanata 82687a6 Use correct user_domain_id when create trust auth plugin 434295e Support unicode in parameter values 2d29793 Incorrect grammar with dot f7b7e55 Use wrapped message in error log bb9d34c use stderr for error echo message b445f42 Updated from global requirements eaca2f4 Update links for CLI Reference 34b49ce Convert from mox to mock in test_signal 1636b3b Handle invalid stack names which are non-string 89abb70 Raise with traceback 6a9fa9d Remove extra whitespace cae55d8 Remove unconditional return of user_id 6d4c95a Fixup ceilometerclient tests cfe9b25 Add release notes for event-transport c5aec2b Make volume type is_public property updatable 4200b2c Use client_plugin as a function b797457 Don't wait for undefined actions in SoftwareComponent 6b07d55 Create zaqar queues with the proper token 397acd7 Enable commented software component test adb2121 Make minimum default num_engine_workers>=4 4808c93 Fix OS::Neutron:Net handle_update 3fc7dee Fix provider_net resource update ce46629 Populate context roles when using stored context db52df4 Updated from global requirements 48257a0 Add tests for heat template apis c8818c8 Add resolve_outputs parameter to stacks API b84417b Convergence: Pick resource from dead engine worker 0e9f78d Fix race condition in tests with swift key 054f680 Fix validation of server personality property 794a39c Improve gateway_ip updation for subnet 100f915 Remove stray debug from context.py 4f3246d Event transport 994b1e4 Replace deprecated LOG.warn with LOG.warning b36b535 Use user_domain for password auth_plugin a9d7623 Revert "Disable CeilometerAlarmTest.test_alarm" e64c194 Fix grammatical mistake, Changed character from "an" to "a" in below files: 5eec4c0 Pass domain id to ceilometer client 378bcde Init local request context with user/project domain infos 2ca6914 Replace logging lib 0976a20 Replace assertTrue(isinstance()) with assertIsInstance() a5bcc33 Updated from global requirements dd3bc77 Add basic get_live_state implementation 509790c Add join to workflow (mistral resource) dcac282 Add OS::Senlin::Profile resource 18a3d93 Add release note for bp/api-call-output 208d2de Using LOG.warning replace LOG.warn bf8f99e Fix some inconsistency in docstrings 32ddfbf Use flavors.get when finding with id c9abb47 Wrong usage of "an" 3b37f10 Make sure update access mode for volume in available 4235bd3 Wrong usage of "a" bb79efe Trivial: Remove unused logging import a0ab6ef Fix using mock return_value in unittests 6294168 Add descriptions to all openstack resources (Part 1) 7ae4b32 Disable CeilometerAlarmTest.test_alarm 90ea972 Remove defaults for handle_update parameters f98943f Use create_with_template for RG create 9d864e8 Remove meaningless default value in __get__() afb7b73 Add OS::Senlin::Cluster resource d954d06 Add release note for bp/support-host-aggregate 3a5abef Add release note for bp/support-neutron-qos cb07090 replace deprecated oslo_messaging _impl_messaging cbd48bd Add neutron vpnaas configuration in integration tests. 58624d4 Support RackConnect V3 LB in Rackspace AutoScaleGroup Resource aa3d01e Remove duplicate keys from dictionary 8e5fe96 Added ResourceChain plugin f2dcc46 Neutron port allow switching between network_id and network c3a8cc4 Use flavors.find interface to find flavors eb68e1f remove the mutable default arguments "[]" or "{}" f9de87f Don't call neutron when there is no prop_diff c1a3af1 Updated from global requirements 4dc9155 Add note for subnet pool support 599311d Enable simple json format in workflow signal 6cece5b Fix database purge query 3a82e0c Neutron port, tolerate switching network name/id efa46fa Flag to observe live state for resources de61800 Add neutron provider constraints 6ef46af heat-manage resource_data_list 4e39eb0 Make value_specs updatable for firewall resource 8d2672d Fixes the error logic in resource_data_get_all() ea0d926 Remove check for managed cloud role 087bbe9 Make SoftwareDeployment name updateable 0e66dd9 Provide the QoS capability for port 385aa7d Correct errors of HostAggregate handling bed7e1f Use specified client service name for client usage d915471 Stop ignore skipped crypt_operation option a77739b Remove unused argument 'current_version' 390cdb9 Refactor neutron constraints f5e083e Fix _show_resource in Designate::Record ef224da Fix property TTL in Designate::Domain 44c958b Provide QoS capability for neutron network 8b19e85 Make root_stack_id determination more robust 357c790 Updated from global requirements e1d0b6c Call _persist_state for UPDATE in 'state_set' c87eddf Fix min value in ttl range of Designate::Record 7264fc5 Use EntityNotFound instead of NotFound from Manila c265494 Add validate_with_client in BaseCustomConstraint b8c5199 Fix time mocking on wait condition timeout tests e343725 Support neutron QoSBandwidthLimitRule resource plugin b646c6b Fix mocking in several tests causing excessive run-times 1e75301 Remove unused LOG variable with logging import 5626364 Fix event filtering in event-show a23e6a6 Don't remove user from groups if groups don't change bd83d85 Updated from global requirements 7034a27 Support neutron QoSPolicy resource plugin d66d57f Eliminate unnecessary sleeps during no-op update 67f12e5 Add trustee config group to sample config f663909 Add tests for api calls show and list outputs 31537ee Use user id instead of user name in notification body 53e1665 Re-enable ceilometer test 6b88bd7 Skip CeilometerAlarmTest.test_alarm 242b066 Improve log messages from scheduler db7ab8d Get rid of bogus debug logging in parameter groups 2fe6dee Make sure update successful if there is encrypt param 63141b2 Correct reset_state_on_error() handling 8cc95ba Updated from global requirements 9f66112 Improve output when output resolve raises error 411360f Fix to send only one notification when update completes 4fdba06 Remove version from setup.cfg 0500ac6 Don't remove role assignment if no change ef2a841 Update OS::Magnum::BayModel to not require network_driver b5576d4 Add subnetpool property to subnet resource c716c8b Add SubnetPool neutron Resource 3d75cc8 Add neutron address_scope constraint 02a0025 Allow many-to-one glob mapping in registry af495fe Move update_policy parsing to Resource 6e0a9f9 Add profile constraint to senlin_plugin 734c63c Use constants for URL schemes in template_resource e0db248 Refactor template_resource.generate_class() 9a3c3c0 Get rid of the Resource.resource_class() method 06a713c Add a separate get_class_to_instantiate() method to Environment 9935c38 Raise EntityNotFound in get_resource_info() 0af8a5d Use EntityNotFound as super class for exceptions. Diffstat (except docs and test files) ------------------------------------- bin/heat-db-setup | 12 +- bin/heat-keystone-setup | 6 +- bin/heat-keystone-setup-domain | 2 +- config-generator.conf | 1 + .../heat_docker/resources/docker_container.py | 3 +- contrib/rackspace/heat_keystoneclient_v2/client.py | 4 +- contrib/rackspace/rackspace/clients.py | 2 +- .../rackspace/rackspace/resources/auto_scale.py | 33 +- .../rackspace/rackspace/resources/cloud_server.py | 34 +- .../rackspace/rackspace/resources/cloudnetworks.py | 6 +- contrib/rackspace/requirements.txt | 2 +- devstack/upgrade/upgrade.sh | 2 +- etc/heat/api-paste.ini | 9 +- heat/api/cfn/v1/stacks.py | 2 +- heat/api/cfn/versions.py | 2 +- heat/api/cloudwatch/watch.py | 2 +- heat/api/middleware/ssl.py | 5 + heat/api/openstack/__init__.py | 3 + heat/api/openstack/v1/events.py | 2 +- heat/api/openstack/v1/stacks.py | 11 +- heat/api/openstack/versions.py | 2 +- heat/cmd/engine.py | 8 +- heat/cmd/manage.py | 26 +- heat/common/auth_password.py | 3 +- heat/common/cache.py | 3 +- heat/common/config.py | 18 +- heat/common/context.py | 75 +- heat/common/custom_backend_auth.py | 2 +- heat/common/environment_format.py | 6 +- heat/common/exception.py | 10 +- heat/common/heat_keystoneclient.py | 8 +- heat/common/netutils.py | 26 + heat/common/wsgi.py | 32 +- heat/db/api.py | 6 +- heat/db/sqlalchemy/api.py | 112 +- heat/db/sqlalchemy/models.py | 2 +- heat/db/sqlalchemy/utils.py | 9 +- heat/engine/api.py | 21 +- heat/engine/attributes.py | 35 +- heat/engine/clients/__init__.py | 2 +- heat/engine/clients/client_plugin.py | 2 +- heat/engine/clients/os/barbican.py | 4 +- heat/engine/clients/os/ceilometer.py | 14 +- heat/engine/clients/os/cinder.py | 42 +- heat/engine/clients/os/designate.py | 15 +- heat/engine/clients/os/glance.py | 20 +- heat/engine/clients/os/heat_plugin.py | 19 +- heat/engine/clients/os/keystone.py | 49 +- heat/engine/clients/os/magnum.py | 10 +- heat/engine/clients/os/manila.py | 24 +- heat/engine/clients/os/mistral.py | 4 +- heat/engine/clients/os/monasca.py | 10 +- heat/engine/clients/os/neutron/__init__.py | 16 +- .../engine/clients/os/neutron/lbaas_constraints.py | 42 +- .../clients/os/neutron/neutron_constraints.py | 95 +- heat/engine/clients/os/nova.py | 111 +- heat/engine/clients/os/sahara.py | 27 +- heat/engine/clients/os/senlin.py | 13 + heat/engine/clients/os/swift.py | 8 +- heat/engine/clients/os/trove.py | 37 +- heat/engine/clients/os/zaqar.py | 24 +- heat/engine/clients/progress.py | 6 + heat/engine/constraints.py | 13 +- heat/engine/environment.py | 103 +- heat/engine/event.py | 21 + heat/engine/hot/functions.py | 2 +- heat/engine/parameter_groups.py | 6 +- heat/engine/resource.py | 97 +- heat/engine/resources/__init__.py | 8 + .../resources/aws/autoscaling/scaling_policy.py | 3 - heat/engine/resources/aws/ec2/eip.py | 3 +- heat/engine/resources/aws/ec2/instance.py | 26 +- heat/engine/resources/openstack/barbican/order.py | 7 + heat/engine/resources/openstack/barbican/secret.py | 7 + .../engine/resources/openstack/ceilometer/alarm.py | 15 + .../openstack/ceilometer/gnocchi/alarm.py | 16 + .../openstack/cinder/encrypted_volume_type.py | 3 + heat/engine/resources/openstack/cinder/volume.py | 123 +- .../resources/openstack/cinder/volume_type.py | 13 +- .../engine/resources/openstack/designate/domain.py | 19 +- .../engine/resources/openstack/designate/record.py | 17 +- heat/engine/resources/openstack/glance/image.py | 6 +- .../resources/openstack/heat/autoscaling_group.py | 9 +- .../resources/openstack/heat/instance_group.py | 17 +- .../resources/openstack/heat/random_string.py | 10 +- .../resources/openstack/heat/remote_stack.py | 5 +- .../resources/openstack/heat/resource_chain.py | 212 ++ .../resources/openstack/heat/resource_group.py | 22 +- .../resources/openstack/heat/software_config.py | 3 - .../openstack/heat/software_deployment.py | 16 +- .../resources/openstack/heat/test_resource.py | 2 +- .../resources/openstack/keystone/endpoint.py | 7 +- heat/engine/resources/openstack/keystone/group.py | 9 +- .../engine/resources/openstack/keystone/project.py | 9 +- heat/engine/resources/openstack/keystone/role.py | 7 +- .../openstack/keystone/role_assignments.py | 50 +- .../engine/resources/openstack/keystone/service.py | 5 +- heat/engine/resources/openstack/keystone/user.py | 36 +- heat/engine/resources/openstack/magnum/baymodel.py | 28 +- .../resources/openstack/manila/share_type.py | 2 +- .../resources/openstack/mistral/cron_trigger.py | 8 + .../engine/resources/openstack/mistral/workflow.py | 118 +- .../openstack/monasca/alarm_definition.py | 7 +- .../resources/openstack/monasca/notification.py | 7 +- .../resources/openstack/neutron/address_scope.py | 104 + .../engine/resources/openstack/neutron/firewall.py | 10 +- .../resources/openstack/neutron/loadbalancer.py | 3 + heat/engine/resources/openstack/neutron/net.py | 60 +- heat/engine/resources/openstack/neutron/neutron.py | 20 +- heat/engine/resources/openstack/neutron/port.py | 56 +- .../resources/openstack/neutron/provider_net.py | 36 +- heat/engine/resources/openstack/neutron/qos.py | 221 ++ heat/engine/resources/openstack/neutron/router.py | 5 + heat/engine/resources/openstack/neutron/subnet.py | 82 +- .../resources/openstack/neutron/subnetpool.py | 212 ++ .../resources/openstack/nova/host_aggregate.py | 31 +- heat/engine/resources/openstack/nova/server.py | 18 +- .../engine/resources/openstack/sahara/templates.py | 2 +- heat/engine/resources/openstack/senlin/__init__.py | 0 heat/engine/resources/openstack/senlin/cluster.py | 214 ++ heat/engine/resources/openstack/senlin/profile.py | 108 + heat/engine/resources/openstack/swift/swift.py | 2 +- heat/engine/resources/openstack/trove/cluster.py | 14 +- .../resources/openstack/trove/os_database.py | 14 +- heat/engine/resources/openstack/zaqar/queue.py | 2 +- heat/engine/resources/signal_responder.py | 4 +- heat/engine/resources/stack_resource.py | 4 +- heat/engine/resources/stack_user.py | 11 +- heat/engine/resources/template_resource.py | 45 +- heat/engine/resources/wait_condition.py | 4 +- heat/engine/scheduler.py | 25 +- heat/engine/service.py | 51 +- heat/engine/service_software_config.py | 33 +- heat/engine/service_stack_watch.py | 5 +- heat/engine/stack.py | 111 +- heat/engine/stack_lock.py | 4 +- heat/engine/sync_point.py | 2 +- heat/engine/template.py | 3 - heat/engine/update.py | 3 +- heat/engine/watchrule.py | 15 +- heat/engine/worker.py | 6 + heat/locale/cs/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/de/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/de/LC_MESSAGES/heat.po | 135 +- heat/locale/es/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/fr/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/fr/LC_MESSAGES/heat-log-error.po | 14 +- heat/locale/heat-log-error.pot | 112 +- heat/locale/heat-log-info.pot | 254 +- heat/locale/heat-log-warning.pot | 154 +- heat/locale/heat.pot | 3152 +++++++++++--------- heat/locale/it/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/ja/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/ko_KR/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/pt/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/pt_BR/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/tr_TR/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/zh_CN/LC_MESSAGES/heat-log-critical.po | 14 +- heat/locale/zh_TW/LC_MESSAGES/heat-log-critical.po | 14 +- heat/objects/raw_template.py | 3 +- heat/objects/resource_data.py | 5 +- heat/objects/stack.py | 9 +- heat/rpc/api.py | 8 +- heat/rpc/client.py | 15 +- .../heat/test_instance_group_update_policy.py | 15 +- .../openstack/heat/test_software_component.py | 25 +- .../openstack/heat/test_software_deployment.py | 82 +- .../openstack/keystone/test_role_assignments.py | 14 + .../openstack/neutron/test_neutron_firewall.py | 43 +- .../openstack/neutron/test_neutron_floating_ip.py | 33 +- .../openstack/neutron/test_neutron_loadbalancer.py | 34 +- .../neutron/test_neutron_network_gateway.py | 27 +- .../openstack/neutron/test_neutron_provider_net.py | 22 +- .../openstack/neutron/test_neutron_subnetpool.py | 271 ++ .../openstack/neutron/test_neutron_vpnservice.py | 12 +- .../functional/test_autoscaling.py | 10 +- .../test_create_update_neutron_subnet.py | 60 +- .../functional/test_resource_chain.py | 148 + .../scenario/test_ceilometer_alarm.py | 4 +- .../notes/api-outputs-6d09ebf5044f51c3.yaml | 11 + ...bp-support-host-aggregate-fbc4097f4e6332b8.yaml | 6 + .../bp-support-neutron-qos-3feb38eb2abdcc87.yaml | 10 + .../notes/event-transport-302d1db6c5a5daa9.yaml | 5 + .../legacy-stack-user-id-cebbad8b0f2ed490.yaml | 7 + .../neutron-address-scope-ce234763e22c7449.yaml | 10 + .../subnet-pool-resource-c32ff97d4f956b73.yaml | 9 + requirements.txt | 91 +- setup.cfg | 14 +- test-requirements.txt | 28 +- uninstall.sh | 4 +- 276 files changed, 9266 insertions(+), 3794 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index dfb8258..c53cfc7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,2 +5,2 @@ -pbr>=1.6 -Babel>=1.3 +pbr>=1.6 # Apache-2.0 +Babel>=1.3 # BSD @@ -8,6 +8,7 @@ croniter>=0.3.4 # MIT License -cryptography>=1.0 # Apache-2.0 -eventlet>=0.17.4 -greenlet>=0.3.2 -keystonemiddleware!=2.4.0,>=2.0.0 -lxml>=2.3 -netaddr!=0.7.16,>=0.7.12 +cryptography>=1.0 # BSD/Apache-2.0 +debtcollector>=0.3.0 # Apache-2.0 +eventlet>=0.17.4 # MIT +greenlet>=0.3.2 # MIT +keystonemiddleware>=4.0.0 # Apache-2.0 +lxml>=2.3 # BSD +netaddr!=0.7.16,>=0.7.12 # BSD @@ -15 +16 @@ oslo.cache>=0.8.0 # Apache-2.0 -oslo.config>=2.7.0 # Apache-2.0 +oslo.config>=3.2.0 # Apache-2.0 @@ -18 +19 @@ oslo.context>=0.2.0 # Apache-2.0 -oslo.db>=3.2.0 # Apache-2.0 +oslo.db>=4.1.0 # Apache-2.0 @@ -20,2 +21,2 @@ oslo.i18n>=1.5.0 # Apache-2.0 -oslo.log>=1.12.0 # Apache-2.0 -oslo.messaging!=2.8.0,>2.6.1 # Apache-2.0 +oslo.log>=1.14.0 # Apache-2.0 +oslo.messaging!=2.8.0,!=3.1.0,>2.6.1 # Apache-2.0 @@ -26,32 +27,32 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.service>=0.12.0 # Apache-2.0 -oslo.utils>=2.8.0 # Apache-2.0 -osprofiler>=0.3.1 # Apache-2.0 -oslo.versionedobjects>=0.13.0 -PasteDeploy>=1.5.0 -pycrypto>=2.6 -python-barbicanclient>=3.3.0 -python-ceilometerclient>=2.0.0 -python-cinderclient>=1.3.1 -python-designateclient>=1.5.0 -python-glanceclient>=0.18.0 -python-heatclient>=0.6.0 -python-keystoneclient!=1.8.0,>=1.6.0 -python-magnumclient>=0.2.1 -python-manilaclient>=1.3.0 -python-mistralclient>=1.0.0 -python-neutronclient>=2.6.0 -python-novaclient!=2.33.0,>=2.29.0 -python-openstackclient>=1.5.0 -python-saharaclient>=0.10.0 -python-senlinclient>=0.1.7 -python-swiftclient>=2.2.0 -python-troveclient>=1.2.0 -python-zaqarclient>=0.3.0 -pytz>=2013.6 -PyYAML>=3.1.0 -requests>=2.8.1 -Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' -Routes!=2.0,>=1.12.3;python_version!='2.7' -six>=1.9.0 -SQLAlchemy<1.1.0,>=0.9.9 -sqlalchemy-migrate>=0.9.6 +oslo.service>=1.0.0 # Apache-2.0 +oslo.utils>=3.4.0 # Apache-2.0 +osprofiler>=0.4.0 # Apache-2.0 +oslo.versionedobjects>=0.13.0 # Apache-2.0 +PasteDeploy>=1.5.0 # MIT +pycrypto>=2.6 # Public Domain +python-barbicanclient>=3.3.0 # Apache-2.0 +python-ceilometerclient>=2.2.1 # Apache-2.0 +python-cinderclient>=1.3.1 # Apache-2.0 +python-designateclient>=1.5.0 # Apache-2.0 +python-glanceclient>=1.2.0 # Apache-2.0 +python-heatclient>=0.6.0 # Apache-2.0 +python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +python-magnumclient>=0.2.1 # Apache-2.0 +python-manilaclient>=1.3.0 # Apache-2.0 +python-mistralclient>=1.0.0 # Apache-2.0 +python-neutronclient>=2.6.0 # Apache-2.0 +python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 +python-openstackclient>=2.0.0 # Apache-2.0 +python-saharaclient>=0.10.0 # Apache-2.0 +python-senlinclient>=0.1.7 # Apache-2.0 +python-swiftclient>=2.2.0 # Apache-2.0 +python-troveclient>=1.2.0 # Apache-2.0 +python-zaqarclient>=0.3.0 # Apache-2.0 +pytz>=2013.6 # MIT +PyYAML>=3.1.0 # MIT +requests!=2.9.0,>=2.8.1 # Apache-2.0 +Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT +six>=1.9.0 # MIT +SQLAlchemy<1.1.0,>=1.0.10 # MIT +sqlalchemy-migrate>=0.9.6 # Apache-2.0 @@ -59 +60 @@ stevedore>=1.5.0 # Apache-2.0 -WebOb>=1.2.3 +WebOb>=1.2.3 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index a6e0bba..a32e422 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,5 +7,5 @@ hacking<0.11,>=0.10.0 -bandit>=0.13.2 -coverage>=3.6 -kombu>=3.0.7 -mock>=1.2 -mox3>=0.7.0 +bandit>=0.13.2 # Apache-2.0 +coverage>=3.6 # Apache-2.0 +kombu>=3.0.7 # BSD +mock>=1.2 # BSD +mox3>=0.7.0 # Apache-2.0 @@ -15,9 +15,9 @@ oslotest>=1.10.0 # Apache-2.0 -paramiko>=1.13.0 -qpid-python;python_version=='2.7' -psycopg2>=2.5 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 -testrepository>=0.0.18 -testscenarios>=0.4 -testtools>=1.4.0 -testresources>=0.2.4 -reno>=0.1.1 # Apache2 +paramiko>=1.13.0 # LGPL +qpid-python;python_version=='2.7' # Apache-2.0 +psycopg2>=2.5 # LGPL/ZPL +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +testrepository>=0.0.18 # Apache-2.0/BSD +testscenarios>=0.4 # Apache-2.0/BSD +testtools>=1.4.0 # MIT +testresources>=0.2.4 # Apache-2.0/BSD +reno>=0.1.1 # Apache2