We are amped to announce the release of: heat 7.0.0: OpenStack Orchestration This release is part of the newton release series. For more details, please see below. 7.0.0 ^^^^^ Previously 'parameters' and 'parameter_defaults' specified in an environment file used to overwrite their existing values. Previously the event list REST API call only returned events for the specified stack even when that stack contained nested stack resources. This meant that fetching all nested events required an inefficient recursive client-side implementation. Support external resource reference in template. New Features ************ * Add *template_dir* to config. Normally heat has template directory */etc/heat/templates*. This change makes it more official. In the future, it is possible to implement features like access templates directly from global template environment. * Adds optional section "conditions" for hot template ( heat_template_version.2016-10-14) and "Conditions" for cfn template (AWSTemplateFormatVersion.2010-09-09). * Adds some condition functions, like "equals", "not", "and" and "or", these condition functions can be used in "conditions" section to define one or more conditions which are evaluated based on input parameter values provided when a user creates or updates a stack. * Adds optional section "condition" for resource and output definitions. Condition name defined in "conditions" and condition functions can be referenced in this section, in order to conditionally create resources or conditionally give outputs of a stack. * Adds function "if" to return corresponding value based on condition evaluation. This function can be used to conditionally set the value of resource properties and outputs. * OS::Cinder::QoSSpecs resource plugin added to support cinder QoS Specs, which is provided by cinder "qos-specs" API extension. * cinder.qos_specs constraint added to support to validate QoS Specs attribute. * New resource "OS::Cinder::Quota" is added to manage cinder quotas. Cinder quotas are operational limits to projects on cinder block storage resources. These include gigabytes, snapshots, and volumes. * Adds new 'max_server_name_length' configuration option which defaults to the prior upper bound (53) and can be lowered by users (if they need to, for example due to ldap or other internal name limit restrictions). * Supports internal DNS resolution and integration with external DNS services for neutron resources. Template authors can use the "dns_name" and "dns_domain" properties of neutron resource plugins for this functionality. * A new 'parameter_merge_strategies' section can be added to the environment file, where 'default' and/or parameter specific merge strategies can be specified. * Parameters and parameter defaults specified in the environment file would be merged as per their specified strategies. * The event list GET REST API call now has a different behaviour when the 'nested_depth' parameter is set to an integer greater than zero. The response will contain all events down to the requested nested depth. * When 'nested_depth' is set the response also includes an extra entry in the 'links' list with 'rel' set to 'root_stack'. This can be used by client side implementations to detect whether it is necessary to fall back to client-side recurisive event fetching. * Add *external_id* attribute for resource to reference on an exists external resource. The resource (with *external_id* attribute) will not able to be updated. This will keep management rights stay externally. * This feature only supports templates with version over *2016-10-14*. * OS::Glance::Image resource plug-in is updated to support tagging when image is created or updated as part of stack. * Add "map_replace" function, that takes 2 arguments an input map and a map containing a "keys" and/or "values" map. key/value substitutions on the input map are performed based on the mappings passed in "keys" and "values". * Add optional 'period' property for Monasca Notification resource. The new added property will now allow the user to tell Monasca the interval in seconds to periodically invoke a webhook until the ALARM state transitions back to an OK state or vice versa. This is useful when the user wants to create a stack which will automatically scale up or scale down more than once if the alarm state continues to be in the same state. To conform to the existing Heat autoscaling behaviour, we manually create the monasca notification resource in Heat with a default interval value of 60. * OS::Monasca::AlarmDefinition and OS::Monasca::Notification resource plug-ins are now supported by heat community as monasca became offcial OpenStack project. * Add "yaql" function, that takes 2 arguments "expression" of type string and "data" of type map and evaluates "expression" on a given "data". Upgrade Notes ************* * New config section "volumes" with new config option "[volumes]backups_enabled" (defaults to "True"). Operators that do not have Cinder backup service deployed in their cloud are encouraged to set this option to "False". Bug Fixes ********* * Allow to configure Heat service to forbid creation of stacks containing Volume resources with "deletion_policy" set to "Snapshot" when there is no Cinder backup service available. Changes in heat 6.0.0.0rc1..7.0.0 --------------------------------- e59f927 Get rid of circular reference in Event class ee86435 Increase the timeout for the stop_stack message fb26ec9 Do not attempt deletion of a DELETE_COMPLETE stack in service api a96d89b Don't use cast() to do StackResource delete 9ece778 Fix cancel update for nova server with defined port c6bc3fe Re-trigger on update-replace 2dd44db Legacy delete attempt thread cancel before stop 9ea43ed Updated from global requirements 25fbedc Cancel traversal of nested stack d26c903 Correct the response info of template-version-list c7fe0ba Fix sync point delete 14a90d6 Use correct schema for SoftwareDeploymentGroup rolling_update 80081db Update UPPER_CONSTRAINTS_FILE for stable/newton 4695f47 Don't acquire the lock when cancelling a stack 5443453 Allow update inplace for allowed_address_pairs 4a57772 Don't log locked resource at ERROR level 8938a26 Update .gitreview for stable/newton fbc0021 Make get_attr consistent across template versions 90d8ab6 Avoid circular references in Macro class 97483d5 Do str_replace in a single pass 0b5b21c Skip resource counting during validation c7e3b8b Add releasenote for conditions function 6d0e8e9 Always use context manager for DB transactions 4a92678 Allows condition name using boolean or function b67605d Refactor resource definition parsing in HOT/cfn 50bc53a Create ResourceDefinitions directly in ResourceGroup/Chain bca8b8e Allow referencing conditions by name 4090dfe Refactor boolean condition functions 8262265 Make cfn functions inherit from HOT 0327c33 Ensure cached conditions match stack 7b129f6 Copy correct definition to the backup stack b76f5b6 Add functional test for SDG rolling_update 6d61a7a Create a public Conditions class API d98d821 Raise StackValidationFailed instead of InvalidCondition* f18e57e Revert "Improve validation for some functions" 24bc69f Add way to use custom paths in translation 9b302b8 Add test for SoftwareDeploymentGroup resource 6dc3ab9 Deletion of in-progress stack 0f48b1d Convergence: Run scenario tests synchronously 873a408 Convergence: basic framework for cancelling workers 503108a Non-destructive upgrade for structured deployments 4d7257a Override the default Template.outputs() implementation 7de1c14 Handle outputs with an OutputDefinition class d792364 Updated from global requirements 0d3bed1 Update plugin-guide documentation page 27aea71 Add releasenotes for OS::Cinder::QoSSpecs 8167a21 standardize release note page ordering e417fc3 Revert "Allow reference conditions by name" f655726 Restore timezone information in API response 29734db [api-ref] Remove temporary block in conf.py 8563762 Allow hyphens in OS::Trove::Instance database names 9ce052f Lazy-load outputs cdae301 Trivial: remove unused LOG attribute 7ea3586 Migrate to keystoneauth 1fb6859 Use keystone session in endpoint_utils 4a8ad39 Allow reference conditions by name c99165d Pre-validate cinder quotas with the real fact cc94806 Correcting parameter type c650b38 Cinder::Volume observe reality implementation 1744d67 Get rid of Template.validate_condition_definitions() 9bd13ad Evaluate resource conditions in-place 576d092 Use physical name in event if resource_id is None edea948 Get rid of extra_rsrc_defn in templates e3a2432 Modify use of assertTrue(A in B) 3aeaefc Non-destructive upgrade for deprecated resources 9f9cb4b Deprecate Template.validate_resource_definitions() 795041c Deprecate Template.validate_resource_key_type() bc1adff Add unit tests for invalid keys in resources fdcba53 Prevent direct access to conditions in templates b26d28b Don't add new abstract methods to Template class 17c61da Provide default implementation of _parser_condition_functions 09042cc Call base __init__ from FakeHTTPClient 9982fd8 Remove _get_client_args() from client_plugin 567e93a Use heat functions from plugin for upgrade 14616c1 raw_template_files_get always use context session 094a146 Allow any data to be passed to yaql function 0641625 Updated from global requirements d8260b7 Correct link reference in heat/doc a3df3f8 [api-ref] Rewrite the Heat API version 7afb32b Don't run neutron tests before upgrade 860b927 Updated from global requirements 2c5fdb4 Unify getting properties for method of Server res c898c77 Properly evaluate yaql expressions c19c71a Config logABug feature for heat api-ref 3fbc60e Add cinder qos specs constraint 6522de8 Minor fix for hot_spec.rst 831e23d Add OS::Cinder::QoSSpecs bfd8d7b Provide 'or' function 3f64680 Add doc and reno note for environment merging 6aa4967 Aodh::Gnocchi resources observe reality implementation b22cd9d Change type of X-Openstack-Request-Id 93bbf92 Updated from global requirements c00e776 Fix senlin profile/policy type constraint check 2656e35 Delete mox.stubs in heat 97ceec2 Updated from global requirements d446b2f Improve efficiency of SoftwareDeployment updates 3552246 Fix incorrect behaviour of repeat function 80bc4fb Convert props form delimited params to lists f95a805 Validate that python3 is ready for loguserdata e3cc29c Improve validation in OS::Monasca::Notification 9c79ee4 Add interrupt points for convergence check-resource operations b5a7d14 Add new resource l7rule 3e6edb2 Clean imports in code 1e03e62 Minor fix for senlin cluster update 73a1eed Check action status instead of cluster status for cluster creation 3ba521e Updated from global requirements 8fcebfa Fix building derived inputs from a derived config 6fa325e Provide 'and' function 8d390d6 Stop using mox.stubs in heat 2726c95 Refactor senlin node update logic 3ca7493 Add 'resources' to error msg path if res' condition invalid 20ccad0 Updated from global requirements aeb15bf Provides 'not' condition function 4c4d790 Provides 'if' intrinsic function 4af3247 Add a Macro class to heat.engine.function 4552e08 Support condition for output bbb1dfb Fix SoftwareDeployment when dealing with deleted configs af62cba Add functional test coverage for files API d41452f Use correct args to resolve senlin node attributes 59476f6 Support condition for resource 0ff37ff Don't raise error in custom guidelines on IOError af09656 Check action status instead of node status for node creation 25fa722 Add action check function to senlin plugin a9a45e5 Updated from global requirements e154961 Include heat_integrationtests in setup.py install 084d0eb Convergence cancel update implementation 654b334 Fix problems left in api-ref 78d56b1 Convergence: fix input to check_stack_complete 1bb21c5 Delete RoleAssignment if user/group does not exist 68c015a Refactor validate_resource_definitions() 4c8294d Use param_schema and merge strategy for merging 35a2dd9 Refactor to use param_schemata with env merge 5b0fe81 Improve deep merge for parameters 59b2a55 Move merge_environment to environment_util module 36a0ad2 Add valid merge strategies 68944d2 Migrate stacks from legacy to convergence engine cd04e9e api-ref - software config status codes 772c897 api-ref - template version and functions 623c5a5 api-ref - stack actions 50f3841 api-ref - events 2286eae api-ref - stack snapshots 81d92be api-ref - stack resources 14a7304 api-ref - services/stack-outputs doc 5a43527 api-ref - stack identity usage in find calls 84b1d89 api-ref - build/resource-type/versions c3fd83a Updated from global requirements f3103c6 Add OS::Heat::Value resource 3202da7 Get ready for os-api-ref sphinx theme change 959b569 api-ref doc for stack (5) b65b38d Add new environment section for merge strategies 9a768ce Correct mistaken parameters of test_hacking.py in tests 5210589 Move NoActionRequired exception back where it belongs c5ebe66 Begin move of UpdateReplace back to its rightful location 285802b Add a replace_on_change option to the SW Config input schema 60e90c0 Add reno note on volumes.backups_enabled option cba1098 Override client() for RoleAssignment resources 77a1011 EncryptedVolumeType observe reality implement 6cbfdb9 Cinder::VolumeType observe reality implementation 772ef5e api-ref doc for stack (4) 652a1a8 Add v2 glance image props a2a028b api-ref doc for stack (3) d130a72 api-ref doc for stack (2) fa39e4b api-ref doc for stack (1) 7792776 Split stack api-ref doc into three files e7e13ca Handle case where the Nova AZ extension is disabled 7954bcf Add OS::Cinder::Quota resource c283f8b Don't use config option sqlite_db eb8b9b8 Parse JSON as JSON when converting to YAML bd1ea9e Log missing clients as WARNING instead of ERROR 9811510 Nova::HostAggregate observe reality implement 1f88c67 Remove tenant_safe flag from rpc and db api e8f6c36 Clean imports in code bc3b84f A context cache for Resource objects 3ab0ede Always eager load the raw_template for a stack d072f6e Add validating of section 'conditions' fab4fe7 Load resources from DB for resource list fff6518 Run heat_integrationtests as a tempest plugin 2af6c6f Do not use env var conf defaults 6d8f296 Use a variable for which conf file to write to 6b576ff Use tempest.conf when running under tempest 80b8ce1 Don't manipulate config for admin creds 00a1814 Register heat tempest plugin d21be7d Depend on tempest in test-requirements.txt a2f5b5c Perform str_replace trying to match longest string first 9fc7b1d Support maps as argument for repeat/for_each b1da94e Add validate for external resources. c385388 Add support for a resource level external_id 6f3b9b7 Updated from global requirements 168a779 Use is_admin_project from context d019947 Updated from global requirements 3cf288b no need to run integration tests in upgrade ed08e4f Put common implementation of HOT/CFN into new class d66ea4c Move 'validate_section' to hot/template.py dd9ede9 Validate the input/output configs in Software Config e79727d Single definition of top-level SoftwareConfig keys d12161c Catch NotSupported when cancelling a nested stack c801b22 Update HOT template guide preface b1617c8 Set properties to before_props before calling handle_update 96e9ff0 Fix devstack plugin 49bc52e Updated from global requirements 6c2e0c9 Fix resouce group resource removal policy name inconsistency with DB 8ee3e58 Fix api-ref doc for software deployment. 1243dc3 Fix software config api-ref doc 025c4fe Don't change properties in regenerate_info_schema 05007cf Unit tests: Use Properties objects instead of dicts 52a3e06 Don't load stack when getting files 372a237 Fix path_in_stack for scheduler hints 56fad61 Adds some infos for stack notification ec26be4 Fix null param for _create_arguments() for volume resource 1872a1d Rename swift.py to container.py for swift container resource 432e240 Fix iteration in floatingip's add dependencies method 4787c32 Updated from global requirements e9030c7 Add scenario test_server_signal 9af4a0a Release note, api-ref for event list nested_depth 8bd5847 Make the removed resources in resource group visible on REST db90ea2 Network validation in Manila e2704de Remove additional purge test aa2f3d2 Check policy of resource type again 395cfbd Adopt tempest plugin config namespace 70c4ab3 Support 'conditions' section for templates d87c8be Fix two typos 0dabb9f Remove deprecated v1 cinder api support 73f0b0b Updated from global requirements d2ba2b0 Fix str_split function when string is None 70422e6 New common constraint 'Expiration' 1faf5cf Updated from global requirements 998d47a Updated from global requirements 61bda3a modify the home-page info with the developer documentation 587d0b4 Explicitly set heat.conf logging_exception_prefix 1266323 Cancel nested stack creation when sibling fails 1075d7e Allow stack create operations to be cancelled 97a3670 Use handle_update_cancel() to cancel nested stack updates 2245aa1 Don't pass value_specs when creating internal port d0f72ac Add Python 3.5 classifier and venv e61542f Add an integration for server using neutron f4a2d8d Fix get_endpoint() call in is_using_neutron abde6bf Increase default sighup_timeout 2e6ce70 Always use upper-constraints 75f46e9 Don't log ERROR for remote stack exceptions 299d1f5 Silence swiftclient logging 002f815 Retry neutron resource deletion if the physical resource exists 904bed0 Allow for retries after certain resource delete failures 74815da Fix is_using_neutron 2d61ac7 Move cinder api version tests f6cf44c Supplement:use assertEqual() instead of assertDictEqual() cd125f3 Use keystone session from context in client plugin 10030be Fallback to db for resource show f38be35 Use assertEqual() instead of assertDictEqual() c5a4dea Add reno note for DNS functionality 4cfc9a2 Add dns properties and attributes 5797d34 Add dns constraints 9a248ad Check for empty sections in environment fe4f250 Don't check alarm state when signaled f019fb0 Fix some map_replace issues bf8031a Updated from global requirements f1868d0 Unskip AutoscalingLoadBalancerv2Test 61836db Purge deleted stacks for specific project ee4515e Replace while with if in resolve function 897177b Add new resource l7policy ab57f54 Add reno for map_replace and fix docs nit acbcb6e Use exception_filter from oslo_utils b862945 Implement map_replace intrinsic function 6926f3c Updated from global requirements a23928c Implement the correct total ordering for scheduler.Timeout 7b1f4e6 Use TaskRunner.as_task() for the create retry delay bcd6542 Allow a grace period when cancelling a stack update b12ec30 Use a queue instead of an event to send messages 796cea6 Raise the last exception thrown into DependencyTaskGroup 991d41f Scheduler: Add a progress callback to TaskRunner 1de87a9 Always call TaskRunner._sleep() 0951799 Unit tests: add a test resource that takes multiple steps ecdaa8e Scheduler: Allow TaskRunner to be used as a task cac2bf7 Allow individual resources to control the cancellation grace period 8e2c1db Updated from global requirements a9a645a Add direct_use=False flag to constructor of novaclient cac0dea Skip AutoscalingLoadBalancerv2Test 891298e Add version keyword argument to RAX glanceclient f629fb5 Do not show HIDDEN props in res type template 9ce43a9 Add reno for yaql function db51ae1 Fix validate method definitions 456fe5f Add __ne__ built-in function 483c505 Do not raise NotFound for resource_get_all_* queries 236ee7e Add new resource Security Group Rule 1163e46 Scheduler: Allow a per-task customisable grace period 2ffbd91 Catch exceptions when cancelling tasks in DependencyTaskGroup 40036af Add a Resource plugin API for cancelling actions d01b4dc Don't persist_state of IN_PROGRESS stack again b125b81 Remove remaining methods from db objects 8450750 Remove the db object delete method b8a529a Only call session.refresh from within db_api functions 38db9f4 Remove unnecessary checks 59fc53a Use Fedora 24 base image 5289454 Use to_policy_values from context for policy ebe5179 Fix doc of OS::Heat::AutoScalingGroup outputs and outputs_list 221c928 Only use client_plugin() if default_client_name is set 316b5b6 Add stack files retrieval API 706cc04 Propage errors in post test hook ab71c79 Correct reraising of exception 7a1a65b Create an admin context to refresh template files 26b0dd2 Do not populate unused stack and watch rule objects cf4acdf Remove unused LOG to keep code clean 6c601f3 Updated from global requirements 5c3bb70 Updated from global requirements 7f2f6fe HAProxy uses milliseconds for its timeout values. 36bf170 Improve validation for some functions 7f8e3ff Aodh::Alarm observe reality implementation e95d912 Hidden StructuredDeployments and SoftwareDeployments 2d194eb Add networking-sfc port-pair resource plug-in 7cb7432 Allow admins to create public image by default bc78253 To delete the keypair preparing for update replacement 150a013 Fail the test run if image download fails d6e36c2 Improve validation during template.parse fa33a1d Do not show HIDDEN props in res type show d995aeb Fix empty values validation in nova server 25639d8 Correct doc about os-collect-config metadata polling 479cf14 sqlalchemy tests don't assume same session 459086f Convergence: Cancel message 906a0ed Convergence: Fix concurrent update resource delete 5465579 Add rolling update for SDG 8a4df57 Change namespace 'ceilometer' to 'aodh' 26bab91 Deprecate combination alarm 42fb929 Migrate to aodh for gnocchi alarms beb86a2 Correct parameter when raise NotSupported exception 4f012ab Updated from global requirements b47c002 Keep encrypted_param_names environment internal to heat 50e638b Fix another test race in test_update_restricted fd1e9f7 Fix Broken Link in Contributing > Blueprints Doc 2c31974 Add key/value support for orchestrating images dd093f1 Use oslo.context's from_environ for creating context 8479545 Use openstack commands for prepare_test_network.sh 0d33c45 Use latest HOT version in Resource.build_template_dict 68fa82c Move _RESOURCE_KEYS down to class level dd45786 Add information about Resolve rule to docs 4a79f7c Migrate to aodh for OS::Ceilometer::Alarm ebbff16 Use openstack command for prepare_test_env.sh 152b03b Add default release names for template versions cefd3d0 Add a sleep after delete before purging ce78ba1 Correct the usage of properties.get() with default value ffda522 Config: no need to set default=None 6c4cd9e Use default client name for cinder resources add4dc3 Replace raw_input with input to make PY3 compatible dbf27c3 Revert "Skip AutoScalingSignalTest.test_signal_during_suspend" ad2b579 Use LOG.exception() properly 6e4da4e Make sure to update image tags successful 558a8cd Correct message when extension is not available 491937c Add keystone_session property to context 0e5bae8 Updated from global requirements 668ceb6 Careful with OS::Nova::Server dependencies on subnets 9749835 Install Guide: Set bug project 1424a76 Wait for stack status instead of group status faec3a0 Decouple hot and cfn for outputs ea6a743 Remove duplicate code of software deployment resource 690b1a4 Add aodh client plugin 5c7bd7f Updated from global requirements 7ea3e68 Skip AutoScalingSignalTest.test_signal_during_suspend 920f661 Updated from global requirements 7c389dd Fix some spelling mistakes in heat as follows: a3860b1 Wait for 404 on floatingip delete 744527f Deal with cinder-backup service absent a5cda7a Added refs_map attribute to AutoScalingGroup fb76364 Add constraint for Security Group 9d239cc Don't use stored context to reset stacks 4bf062c Fix non-uniqueness error message for image e6ef39a Updated from global requirements 750d4e4 Minor reorg of sqlalchemy encrypt test functions 9e007ac Add context to stack lock function arguments a65bd2b Replace model_query with direct query call 419c9ab del _session(), use context.session directly 4ed4367 Be consistent about context first argument in db api e14fafc Fix service type for Magnum resources 1359887 Check immutable and update_allowed conflict in schema validation 82f3817 Use Zaqar signed URLs in software deployment 9d0878c Commented config for unit test sql logging f5c32ad Added heat.resource_type custom constraint 4fdf72b Make template available to parameter constraint checking 4e0d1e0 Add in missing log translation hints ccdb9c9 Show 'deletion_time' for stack-list/stack-show apis 9ed1288 Add launch-instance to install-guide fefb0b1 Updated from global requirements 145a683 Deprecate lbaas v1 resources 2b41589 [api-ref] Correct stack-list api-ref 0c6236d Add period property to Monasca Notification resource 5676298 Remove deprecated auth_plugin config 87a37f5 Sync context with oslo.context 6196907 Fix typo in LBaaS support 6769253 Improve unit tests for stack-update-cancel f1ea02f Improve translation properties 992e3b2 Use the correct action for failure reason 9101cd4 Add wait_sec for test_stack_update_from_failed 5d99936 Pass input_values when creating SoftwareDeployment resources c85cae5 Fix test_update_restricted timeouts due to timestamp resolution 43b83b8 Remove heat.openstack.common.notifier supports 3b0f8ad Add integration tests for admin actions ac86702 Authorize super admin actions on all projects 353178b Run orig jobs without convergence engine 54caa85 Set nested_depth when creating Stack from db 32ade7a Implement event list nested-depth ed8a086 on-delete cascade rule for resource_data 406dd7f Fix env passed to test_replace 2a04ea4 Do a single query to fetch all event_list stacks 7bfbace Use Event versioned object for event_list formatting 1783de3 Updated from global requirements dd272a2 Adds monasca client plugin config support in heat.conf d9855df Fix tests on Neutron port behavior 2195998 Monasca: Don't pass keyword arguments of value None 13c338f Clean up tests setup 39cb8ef Updated from global requirements 9d9fd60 Fix broken links in developing_guides index ac4df48 Fix comment/doc for 1.28 RPC version dfbd237 Remove _show_resource in mistral f1c7b6d Updated from global requirements 50b1182 Fix creating SDGroup with no properties 4c54183 Don't hard code subnet 8cc5b0c Enable convergence by default 94d6f34 Ignore notfound error when delete image tags e57a293 Make sure glance image create success with tags 3a93b12 Add install-guide for heat edfc99a Pass filters to iter_resources for nested d9459c4 Fix syntax error in yaql hot spec example 59713c5 Pass keystone session to clients 34b372d Use generic auth plugins 5566e6f Get rid of gratuitous use of six.iterkeys() 37b3d1d Don't use default None for params in handle_update 490702f Downgrade some exception logs to INFO level 9a73e0b Network resolving in Manila when only subnet passed 3bdd2cb Convergence: Catch exceptions in restore_prev_rsrc 4866280 Convergence: Fix unit tests f448693 Fix building query key for ceilometer alarm a07dcce Migrate to nova api version 2.1 bfa7f85 Get rid of Parameters._validate_template_parameters() 2b24b1c Updated from global requirements de99472 DB query to get all resources by the root stack 2347fd7 Updated from global requirements 1a224a3 Allow deletion_policy to be lowercase in HOT 0e30ace Reformat HOT version history 091ed70 Fix the definition of has_nested() 01cc407 Add refs attribute to AutoScalingGroup 02c7439 Imported Translations from Zanata 13f8527 [api-ref] Correct service-list api-ref 8a36f99 Updated from global requirements e0e92b9 Move heat_keystoneclient to clients package 4f3bdcc Use get_auth_ref() rather than auth_ref property ef4cf62 Move some functions to service_utils c9ebf50 Updated from global requirements e4fe6d2 Allow deletion policies to be versioned in HOT cb565e3 Correct the docs on deletion_policy in the HOT spec 9cf021a Convergence: DB api to get all active resources of stack f5e7a31 Convergence: Throttle to sync point updates d898623 Improve validation of cinder volume resource 0b9d2cb Updated from global requirements 8a2f821 Updated from global requirements 74d3131 Keep Trace Back in Exception 90faf89 Fix nested identifier when not created 06a4ad7 Updated from global requirements 83966b7 Add `template_dir` to config c3a83a8 [api-ref] Added template-function-list d6be252 Correct the validation of server 'networks' 3b10ddc Deprecate Stack.resource_restart() c789a98 Ignore NotFound exception in metadata_set 5b2bcd8 Updated from global requirements fb7f838 Correct redundancies in Scheduler Hints docs de96d03 Fix resource loading in resource filtering 60d9fb9 Correct type of HeatTemplate20161014 to cfn c2208f1 Declare and use keyword args for Stack.get_all fef94d0 De-duplicate raw_template.files c67e601 Adds clarity to the default value of num_engine_workers f5b64b3 Add to resource_schema returning description 42bfc8a Add to resource-type-list returning description 1d6cc2d Provides 'equals' intrinsic function 534dfe4 Don't support floating ip if only specify 'network' 5da09ea Allow creation of cache classes associated with a context c62e1b3 Use a weakref for the data object context 0ef5d60 Don't load nested stack to build the identifier 56b95a0 Lazy-load stack tags e416943 Avoid full stack load for identify_stack b3c228d Stack list does direct stack object query 0f6d61e Simplify url_for in client_plugin 44862d9 Use keystoneauth1 instead of keystoneclient.auth e585676 Fix GetAttThenSelect for convergence 5f1d3bb Apply ResourceGroup blacklist at create time ea6ae8b string parameter type mismatch 4c4301f Add wait_secs to test_stack_update_from_failed_patch 222f0fc Updated from global requirements af7f317 Revert "Don't use stored context to reset stacks" ad97123 resource list filtering api-ref update 4635f66 template validate ignore errors api-ref update 516a543 Fixes resource filter to handle physical_resource_id properly 2ec5d94 Convergence: Set traversal to empty string on failure 4ebc89b Refactor resource update function to reduce complexity 697a33a Updated from global requirements 7267a36 Fixed variable shadowing in test_software_deployment 1d8a6a9 Let setup.py compile_catalog process all language files 43dde8b Convergence: show parameters while deleting stack 7fc8527 Mark monasca resources supported in release notes 4d6e3a9 Glance image tag support release notes 22d2149 Updated from global requirements 05ea885 Added refs_map attribute to resource groups d4b096a Remove html_static_path from api-ref d8fefed Fix Cloud Server image/flavor combination validation 832f15b doc: fix issue in template_guide/software_deployment 026cc94 Don't use stored context to reset stacks c9751d4 migrate to upstream os-api-ref 022eaf8 Fix small nits for tests introduced in bug/1571975 75b13f7 Don't translate when resource_validate=False b3de0a9 Updated from global requirements a52b821 Adds default policy rule for resources limited to administrator 7b73474 Clarified servers property description for SoftwareDeploymentGroup 27dd19d Allow resources to delay polling 8f83305 Allow scheduler tasks to request longer wait periods c92e5a2 Add devstack plugin 14b7600 Copy devstack code to heat tree 95ad071 Fix the documentation for HIDDEN support status 7c17582 Remove unnecessary usage of stack_name 66b6490 Set security_groups when create internal ports for nova server 0321d86 Correct filters for resource search 61b7606 RDO-Manager name change 3d17383 Migrate nova_instance to physical_resource_id 4181eda Revert "Add timeout for software deployments" 149447c Updated from global requirements bcadd55 Lazy-load context information requiring Keystone calls e7a3b38 Use original request context for logging 2cbcd6f Improve logging of unexpected exceptions 2c3def1 Fix api-ref generation errors a3a0cec Add timeout for software deployments 2786593 Avoid passing templates/files over RPC 9a650a5 RPC API: Add a template_id parameter to stack_create/update fdbb08c Make cinder resources available based on extensions 45d79cb Convergence: Un-skip functional test 6b8f1ae Fix heat-keystone-setup-domain 080ace0 Fixes cooldown logic throws ValueError a9b5cc4 Makes monasca plugin as supported ad52b42 Updated from global requirements c64b2cd Break reference cycle in KeystoneClient plugins f46c3b4 Add check for server existence on software deployment delete afeee48 Remove usages of :linenos: in docs b9a61b8 Add yaql function 6f361f7 Fix DBDeadlock error in stack update 530544b Add deployment ID to deploy signal events 8ac7fa0 Allow the server name limit to be configurable a7b8378 Adds tag support for glance image resource plugin 9ccb094 Adding two parameters into Software configuration cf49093 Eager fetch stack tags with a subqueryload 50f5142 Remove stack ObjectField from resource ef47b4c Updated from global requirements 4200c6c Refactor confusing code in custom_guidelines.py e78c287 Support neutron QoSDscpMarkingRule resource plugin 00d3677 Enable client plugin to support dynamic api version a9f38e1 Cleanup magnum client test case c310070 Use '--visibility' instead of '--is-public' 6e2d1a4 Exclude plugins from custom_guidelines.py 6f13be8 Update log levels 94480d4 Revert "Replace SD RPC polling by long RPC call" 4170566 Migrate API documentations into the Heat tree 8cb315a Check for missing param schema in encryption utility 59084fa Add --verbose-update-params option to heat-manage 0fb2e0f Make parameter decryption more robust d7b1246 Reset env.encrypted_param_names on stack update 4b46151 Delete snaphots on deleting stack 23cc156 Unit tests: Don't use ResourceDefinition as cfn snippet 52925a9 Use ResourceDefinition API in resource_facade f1751ae Don't treat ResourceDefinition as cfn template in resources b3e5932 Deprecate the Resource.parsed_template() method 0496c3c Unit tests: Eliminate deprecated use of ResourceDefinition.Diff e59c30a Don't use two different names for the same flag 8f98d34 Add --insecure in CURL if set True in client option 74db0b6 Updated from global requirements 9561c54 Removes duplicate code autoscale_complete 5e7d1e0 Make physical_network property optional 51d913a Check for worker_service initialization 829e80d Convergence: Refactor worker d19c624 Make RPC call to abandon nested stack 633e745 Revert "Enable abandon option to nested resource" bc7e503 use thread safe fnmatch fe8f0cd Updated from global requirements 9f046cb Clarify the help text for error_wait_time 7f801df Break reference cycle between ResourceRegistry and ResourceInfo ec5e5c5 Break reference cycle between Environment and ResourceRegistry a78303b Don't access `_stored_properties_data` 85896cf Remove redundant properties construction 19d1c9a Add RESOLVE translation for some sahara resources ade1772 Updated from global requirements d815a06 Fix properties usage in ResourceChain update fa253bb Added unit tests for get_template c2c5301 Imported Translations from Zanata b0ca694 Add environment retrieval API 4bd0f63 Remove tests for show attribute in cinder 9c1f87b Add senlin to README.rst (github main page) fa67f34 Use to_dict() instead for cinder resources 84da9e5 Remove conditional import 7f07e97 Fix stack deleting problem in magnum stacks 7977f9f Add command to reset one stack status b7b7102 Magnum::Bay observe reality implementation afbbe07 Use messaging notifications transport instead of default ee9ce1d Updated from global requirements f89cfcc Use the ResourceDefinition.Diff API in resources 75b5678 Implement diffs of ResourceDefinitions d76e825 Unit tests: use frozen_definition() in update tests 6d786e6 Reinstate deprecation warnings dc28090 Remove _show_resource from barbican resources a450444 Designate::Record observe reality implementation 36eeff1 Designate::Domain observe reality implementation dfad3ad Change type of raised exception in translation 025f155 Updated from global requirements 5646811 Fix doc build if git is absent 3ed5948 Set enforce_type=True on config overrides in tests 4ee0e8d Updated from global requirements e64283f Add attribute for extra specs to Nova::Flavor 8c0efbf Squash database patches 5d32fae Rename source_path in translation 45cf8b9 Remove some redundant resolve_* functions 2d18dc0 Use RESOLVE translation for lbaasv2 resources 905839a Use RESOLVE translation rules for vpnservice e1091f7 Use RESOLVE rule for lbaasv1 resources 6d6bab7 Use RESOLVE translation for more neutron resources eff0ce0 Use RESOLVE translation for more sahara resources b0f97c3 Imported Translations from Zanata 8f630a8 Add fixtures into test-requirements d0f0998 Wording fix to list index error message 10ba949 Update the Administrator Guide links with new ones 1df6d2a Support string index for list in get_param a709637 Replace SD RPC polling by long RPC call 0d0ea75 Updated from global requirements 681f2e9 Updated from global requirements e79f28d Fix unfortunate spelling error 802f42f Keystone::User: do not update if no changes 120a1e7 Added new property 'image' for bdm_v2 in Nova Server f185892 Add information about ResourceGroup attributes 8fde8e7 Fix typo `after_porps` in resource 5fa84f2 Updated from global requirements 2009e57 Check for missing/unexpected data in encryption utility 2f46d24 Don't scale when action is not complete 480271d Don't try scaling when no change in size 7a0709a Nova::Flavor get_live_state implementation be03185 Convergence: Ignore not found when releasing lock 2aed488 Remove the unused parameter in method _build_properties() 7933a8b Don't validate template resource parameter defaults in parent 72d3599 Refactor unit tests for encryption utility and add assertions 2897634 Avoid reference loops in DependencyTaskGroup bea576f Sync integration tests requirements d263687 Warn against API calls in plugin guide 950505d Revert "Check RBAC policy for nested stacks" 354f1bc Revert "Check RBAC policy for nested stacks" 184b09a Imported Translations from Zanata ed47b50 Add volume_driver in OS::Magnum::BayModel 0c407b8 Add translation rule to delete ssh auth key from Magnum baymodel e6c9076 Use a context manager to re-raise local exceptions in StackResource db06ee4 Increase timeout of WaitCondition due to ConcurrentTransactions 8f370d6 Increase timeout of WaitCondition due to ConcurrentTransactions 145be13 Imported Translations from Zanata 0ab68f8 Add translation rule to delete ssh auth key from Magnum baymodel a2a6fa7 Fix update issues with autoscaling group ab8e7a2 Avoid cooldown when group size does not change e767eb4 Raise explicit exception when deleting config which has been referenced 1ecf93c Mark resources UPDATE_COMPLETE when they request replacement f1da4f0 Updated from global requirements 99a14f5 Add update_replace_value property to test resource 28184c8 Fix handle_delete of HostAggregate resource 537fdee Add validate for babican secret 678fa7d Imported Translations from Zanata 6bd7352 Fix update issues with autoscaling group 77a4a6d Improve guidelines of using devstack of heat f0497e0 Add id and name properties for flavor resource f9e3c97 Introduce 'immutable' of parameters 4307f87 Make encryption script log exception and continue 151e8b8 Stop engine service correctly dd50ac6 Create integration tests requirements on the fly c82b752 Remove property "ssh_authorized_key" from OS::Magnum::BayModel 07847b6 Removing some redundant words 7479630 Imported Translations from Zanata 45a7d1d Set OS_PROJECT_NAME in grenade script 7adce61 Add lbaas v2 scenario test c13c944 Reset stack status after resources ec0d321 oslo config clients_xxx enabled for all supported services 443f867 Fix race condition for WaitCondition with several signals 06d58ff Refactor BaseWaitConditionHandle._metadata_format_ok() 2494a20 Downgrade WaitCondition logs 71861f4 Handling concurrent transactions in metadata_set method a0aee7e Imported Translations from Zanata 0e84651 Make sure to delete the credentials when stack deletion 018bbd6 Add a new HOT template version for Newton 4446b86 Don't create an "update task" inside a try block f8861a0 Add validation check for barbican order 4ed57d8 Remove property "ssh_authorized_key" from OS::Magnum::BayModel 8554d06 Tidy up BarbicanClientPlugin 55713b9 Use domain env variables as defaults 6cae574 Add validation for mistral cron trigger cbed623 Use region from config in functional tests 2d95f8c Restrict use of iteritems, iterkeys and itervalues c4c33c2 Added constraint for mistral workflow cb3183d Fix race condition for WaitCondition with several signals 82b7440 Handling concurrent transactions in metadata_set method 368491c Add retries to avoid dberror for user_creds_delete 8a6566d Imported Translations from Zanata 9597110 Added constraint for barbican order 23eb545 Imported Translations from Zanata e00fce9 Made workflow name required in crontrigger 419da65 Remove unknown parameters in patched update 9b9584d Imported Translations from Zanata 8f3d827 Make sure to delete the credentials when stack deletion 6c25e83 Avoid cooldown when group size does not change 2ef91a7 hacking log warn b828eae Imported Translations from Zanata 45722e6 Add retries to avoid dberror for user_creds_delete 90fc4fe Remove unknown parameters in patched update a7403a9 Explicitly naming resources in "unsupported" warnings 42b165b Add length constraint for workflow tasks 38c7d18 Imported Translations from Zanata c4fde70 Convergence: Fix rollback considered as failed concurrent update dfff614 Fixes the sequence of release notes e033549 Added missing dot 8399481 Update reno for stable/mitaka ddbe642 Update .gitreview for stable/mitaka 7ccf4d0 Explicitly naming resources in "unsupported" warnings 0c8d914 Use EntityNotFound instead of SyncPointNotFound f2bf265 Pass environment variables of proxy to tox a12a0fc Use ClientPlugin.ignore_not_found as a context manager Diffstat (except docs and test files) ------------------------------------- .gitignore | 4 +- .gitreview | 1 + HACKING.rst | 9 + README.rst | 2 + api-ref/source/conf.py | 238 + api-ref/source/index.rst | 24 + api-ref/source/v1/build-info.inc | 45 + api-ref/source/v1/events.inc | 214 + api-ref/source/v1/general-info.inc | 13 + api-ref/source/v1/index.rst | 35 + api-ref/source/v1/parameters.yaml | 1618 ++++ api-ref/source/v1/resource-types.inc | 201 + api-ref/source/v1/resources.inc | 298 + api-ref/source/v1/samples/build-info-response.json | 8 + .../source/v1/samples/config-create-request.json | 28 + .../source/v1/samples/config-create-response.json | 32 + .../source/v1/samples/config-show-response.json | 32 + .../source/v1/samples/configs-list-response.json | 8 + .../v1/samples/deployment-create-request.json | 8 + .../v1/samples/deployment-create-response.json | 14 + .../v1/samples/deployment-metadata-response.json | 130 + .../v1/samples/deployment-show-response.json | 14 + .../v1/samples/deployment-update-request.json | 10 + .../v1/samples/deployment-update-response.json | 19 + .../v1/samples/deployments-list-response.json | 21 + api-ref/source/v1/samples/event-show-response.json | 33 + .../source/v1/samples/events-find-response.json | 5 + .../source/v1/samples/events-list-response.json | 50 + .../v1/samples/resource-metadata-response.json | 6 + .../v1/samples/resource-schema-response.json | 30 + .../source/v1/samples/resource-show-response.json | 27 + .../resource-type-template-hot-response.json | 57 + .../samples/resource-type-template-response.json | 57 + .../resource-types-list-advanced-response.json | 24 + .../v1/samples/resource-types-list-response.json | 7 + .../source/v1/samples/resources-list-response.json | 25 + .../source/v1/samples/services-list-response.json | 30 + .../source/v1/samples/stack-abandon-response.json | 73 + .../stack-action-cancel-update-request.json | 3 + .../v1/samples/stack-action-check-request.json | 3 + .../v1/samples/stack-action-resume-request.json | 3 + .../v1/samples/stack-action-suspend-request.json | 3 + api-ref/source/v1/samples/stack-adopt-request.json | 33 + .../source/v1/samples/stack-create-request.json | 32 + .../source/v1/samples/stack-create-response.json | 11 + .../samples/stack-environment-show-response.json | 9 + .../source/v1/samples/stack-export-response.json | 60 + .../v1/samples/stack-files-show-response.json | 3 + .../v1/samples/stack-find-delete-response.json | 5 + api-ref/source/v1/samples/stack-find-response.json | 5 + .../v1/samples/stack-output-show-response.json | 8 + .../v1/samples/stack-outputs-list-response.json | 8 + .../source/v1/samples/stack-preview-response.json | 171 + api-ref/source/v1/samples/stack-show-response.json | 33 + .../source/v1/samples/stack-snapshot-request.json | 3 + .../source/v1/samples/stack-snapshot-response.json | 8 + .../samples/stack-snapshot-restore-response.json | 5 + .../v1/samples/stack-snapshot-show-response.json | 47 + .../v1/samples/stack-snapshots-list-response.json | 12 + .../v1/samples/stack-update-preview-response.json | 67 + .../source/v1/samples/stack-update-request.json | 28 + .../source/v1/samples/stack-update-response.json | 5 + .../source/v1/samples/stacks-list-response.json | 24 + .../samples/template-functions-list-response.json | 44 + .../source/v1/samples/template-show-response.json | 28 + .../v1/samples/template-validate-request.json | 3 + .../v1/samples/template-validate-response.json | 41 + .../v1/samples/template-versions-response.json | 44 + .../source/v1/samples/versions-list-response.json | 14 + api-ref/source/v1/services.inc | 65 + api-ref/source/v1/software-config.inc | 513 ++ api-ref/source/v1/stack-actions.inc | 203 + api-ref/source/v1/stack-outputs.inc | 99 + api-ref/source/v1/stack-snapshots.inc | 253 + api-ref/source/v1/stack-templates.inc | 153 + api-ref/source/v1/stacks.inc | 1015 +++ api-ref/source/v1/status.yaml | 62 + api-ref/source/v1/versions.inc | 41 + bin/heat-keystone-setup-domain | 18 +- config-generator.conf | 2 +- contrib/heat_docker/setup.cfg | 2 +- contrib/rackspace/heat_keystoneclient_v2/client.py | 14 +- contrib/rackspace/rackspace/clients.py | 2 +- .../rackspace/rackspace/resources/auto_scale.py | 7 +- .../rackspace/resources/cloud_loadbalancer.py | 11 +- .../rackspace/rackspace/resources/cloud_server.py | 27 +- contrib/rackspace/setup.cfg | 2 +- devstack/README.rst | 15 + devstack/files/apache-heat-api-cfn.template | 27 + devstack/files/apache-heat-api-cloudwatch.template | 27 + devstack/files/apache-heat-api.template | 27 + devstack/files/apache-heat-pip-repo.template | 15 + devstack/files/debs/heat | 1 + devstack/lib/heat | 503 ++ devstack/plugin.sh | 54 + devstack/settings | 10 + devstack/upgrade/resources.sh | 13 +- devstack/upgrade/upgrade.sh | 22 +- etc/heat/environment.d/default.yaml | 7 +- etc/heat/policy.json | 15 +- etc/heat/templates/AWS_CloudWatch_Alarm.yaml | 26 +- etc/heat/templates/AWS_RDS_DBInstance.yaml | 6 +- heat/api/aws/ec2token.py | 3 - heat/api/aws/exception.py | 1 - heat/api/cfn/v1/stacks.py | 4 - heat/api/cloudwatch/watch.py | 6 +- heat/api/middleware/fault.py | 1 - heat/api/openstack/v1/__init__.py | 15 +- heat/api/openstack/v1/events.py | 32 +- heat/api/openstack/v1/software_configs.py | 13 +- heat/api/openstack/v1/stacks.py | 81 +- heat/api/openstack/v1/util.py | 2 +- heat/api/openstack/v1/views/stacks_view.py | 8 +- heat/cloudinit/loguserdata.py | 14 +- heat/cmd/manage.py | 59 +- heat/common/auth_password.py | 19 +- heat/common/config.py | 63 +- heat/common/context.py | 275 +- heat/common/endpoint_utils.py | 11 +- heat/common/environment_format.py | 15 +- heat/common/environment_util.py | 168 + heat/common/exception.py | 34 +- heat/common/heat_keystoneclient.py | 569 -- heat/common/i18n.py | 4 +- heat/common/messaging.py | 54 +- heat/common/netutils.py | 36 + heat/common/param_utils.py | 10 + heat/common/pluginutils.py | 24 + heat/common/policy.py | 10 +- heat/common/service_utils.py | 13 + heat/common/template_format.py | 70 +- heat/common/timeutils.py | 10 + heat/db/api.py | 102 +- heat/db/sqlalchemy/api.py | 708 +- .../sqlalchemy/migrate_repo/versions/028_havana.py | 184 - .../migrate_repo/versions/029_event_id_to_uuid.py | 24 - .../migrate_repo/versions/030_remove_uuidutils.py | 32 - .../migrate_repo/versions/031_stack_lock.py | 34 - .../migrate_repo/versions/032_decrypt_method.py | 26 - .../migrate_repo/versions/033_software_config.py | 69 - .../versions/034_raw_template_files.py | 25 - .../migrate_repo/versions/035_event_uuid_to_id.py | 147 - .../versions/036_stack_domain_project.py | 24 - .../versions/037_migrate_hot_template.py | 59 - .../versions/038_software_config_json_config.py | 23 - .../versions/039_user_creds_nullable.py | 22 - .../040_software_deployment_no_signal_id.py | 21 - .../versions/041_migrate_hot_template_resources.py | 70 - .../042_software_deployment_domain_project.py | 24 - .../versions/043_migrate_template_versions.py | 57 - .../migrate_repo/versions/044_snapshots.py | 45 - .../migrate_repo/versions/045_stack_backup.py | 35 - .../migrate_repo/versions/046_properties_data.py | 25 - .../versions/047_stack_nested_depth.py | 45 - .../048_resource_id_server_default_none_psql.py | 24 - .../versions/049_user_creds_region_name.py | 24 - .../migrate_repo/versions/050_stack_tags.py | 24 - .../migrate_repo/versions/051_service.py | 42 - .../migrate_repo/versions/052_convergence_flag.py | 23 - .../versions/053_stack_name_tenant_indexes.py | 27 - .../migrate_repo/versions/054_stack_tags_table.py | 39 - .../migrate_repo/versions/055_stack_convg_data.py | 90 - .../versions/056_convergence_parameter_storage.py | 113 - .../versions/057_resource_uuid_to_id.py | 262 - .../versions/058_resource_engine_id.py | 23 - .../migrate_repo/versions/059_sync_point.py | 47 - .../versions/060_resource_convg_data.py | 42 - .../versions/061_status_reason_longtext.py | 36 - .../sqlalchemy/migrate_repo/versions/062_kilo.py | 362 + .../migrate_repo/versions/062_parent_resource.py | 23 - .../versions/072_raw_template_files.py | 40 + .../073_resource_data_fk_ondelete_cascade.py | 44 + heat/db/sqlalchemy/migration.py | 2 +- heat/db/sqlalchemy/models.py | 78 +- heat/db/sqlalchemy/utils.py | 10 + heat/db/utils.py | 14 +- heat/engine/api.py | 144 +- heat/engine/attributes.py | 14 +- heat/engine/cfn/functions.py | 278 +- heat/engine/cfn/template.py | 214 +- heat/engine/check_resource.py | 392 + heat/engine/clients/__init__.py | 19 +- heat/engine/clients/client_plugin.py | 202 +- heat/engine/clients/os/aodh.py | 48 + heat/engine/clients/os/barbican.py | 42 +- heat/engine/clients/os/ceilometer.py | 19 +- heat/engine/clients/os/cinder.py | 93 +- heat/engine/clients/os/designate.py | 13 +- heat/engine/clients/os/glance.py | 35 +- heat/engine/clients/os/heat_plugin.py | 20 +- heat/engine/clients/os/keystone.py | 194 - heat/engine/clients/os/keystone/__init__.py | 132 + .../clients/os/keystone/heat_keystoneclient.py | 569 ++ .../clients/os/keystone/keystone_constraints.py | 77 + heat/engine/clients/os/magnum.py | 14 +- heat/engine/clients/os/manila.py | 9 +- heat/engine/clients/os/mistral.py | 22 +- heat/engine/clients/os/monasca.py | 35 +- heat/engine/clients/os/neutron/__init__.py | 64 +- .../clients/os/neutron/neutron_constraints.py | 4 + heat/engine/clients/os/nova.py | 28 +- heat/engine/clients/os/sahara.py | 10 +- heat/engine/clients/os/senlin.py | 18 +- heat/engine/clients/os/swift.py | 10 +- heat/engine/clients/os/trove.py | 14 +- heat/engine/clients/os/zaqar.py | 23 +- heat/engine/conditions.py | 79 + heat/engine/constraint/common_constraints.py | 86 +- heat/engine/constraint/heat_constraints.py | 45 + heat/engine/constraints.py | 40 +- heat/engine/dependencies.py | 6 +- heat/engine/environment.py | 100 +- heat/engine/event.py | 29 +- heat/engine/function.py | 90 +- heat/engine/hot/functions.py | 697 +- heat/engine/hot/template.py | 378 +- heat/engine/output.py | 51 + heat/engine/parameters.py | 61 +- heat/engine/properties.py | 54 +- heat/engine/resource.py | 580 +- heat/engine/resources/__init__.py | 4 +- heat/engine/resources/alarm_base.py | 211 + .../resources/aws/autoscaling/autoscaling_group.py | 124 +- .../resources/aws/autoscaling/launch_config.py | 2 +- heat/engine/resources/aws/ec2/instance.py | 18 +- heat/engine/resources/aws/s3/s3.py | 4 +- heat/engine/resources/openstack/aodh/__init__.py | 0 heat/engine/resources/openstack/aodh/alarm.py | 312 + .../resources/openstack/aodh/gnocchi/__init__.py | 0 .../resources/openstack/aodh/gnocchi/alarm.py | 225 + .../resources/openstack/barbican/container.py | 6 - heat/engine/resources/openstack/barbican/order.py | 17 +- heat/engine/resources/openstack/barbican/secret.py | 50 +- .../resources/openstack/ceilometer/__init__.py | 0 .../engine/resources/openstack/ceilometer/alarm.py | 474 -- .../openstack/ceilometer/gnocchi/__init__.py | 0 .../openstack/ceilometer/gnocchi/alarm.py | 191 - .../openstack/cinder/encrypted_volume_type.py | 29 +- .../engine/resources/openstack/cinder/qos_specs.py | 95 + heat/engine/resources/openstack/cinder/quota.py | 175 + heat/engine/resources/openstack/cinder/volume.py | 112 +- .../resources/openstack/cinder/volume_type.py | 50 +- .../engine/resources/openstack/designate/domain.py | 8 + .../engine/resources/openstack/designate/record.py | 9 + heat/engine/resources/openstack/glance/image.py | 126 +- .../resources/openstack/heat/autoscaling_group.py | 73 +- .../resources/openstack/heat/cloud_config.py | 6 +- .../engine/resources/openstack/heat/cloud_watch.py | 6 +- .../resources/openstack/heat/ha_restarter.py | 5 +- .../resources/openstack/heat/instance_group.py | 10 +- heat/engine/resources/openstack/heat/multi_part.py | 6 +- .../resources/openstack/heat/remote_stack.py | 17 +- .../resources/openstack/heat/resource_chain.py | 19 +- .../resources/openstack/heat/resource_group.py | 92 +- .../resources/openstack/heat/scaling_policy.py | 84 +- .../resources/openstack/heat/software_component.py | 19 +- .../resources/openstack/heat/software_config.py | 70 +- .../openstack/heat/software_deployment.py | 410 +- .../resources/openstack/heat/structured_config.py | 18 +- .../resources/openstack/heat/test_resource.py | 23 +- heat/engine/resources/openstack/heat/value.py | 110 + .../openstack/heat/wait_condition_handle.py | 21 +- heat/engine/resources/openstack/keystone/group.py | 2 +- .../engine/resources/openstack/keystone/project.py | 2 +- .../openstack/keystone/role_assignments.py | 33 +- heat/engine/resources/openstack/keystone/user.py | 16 +- heat/engine/resources/openstack/magnum/bay.py | 14 +- heat/engine/resources/openstack/magnum/baymodel.py | 57 +- .../resources/openstack/manila/share_network.py | 44 +- .../resources/openstack/mistral/cron_trigger.py | 21 +- .../engine/resources/openstack/mistral/workflow.py | 21 +- .../openstack/monasca/alarm_definition.py | 32 +- .../resources/openstack/monasca/notification.py | 103 +- .../resources/openstack/neutron/extraroute.py | 3 +- .../resources/openstack/neutron/floatingip.py | 27 +- .../openstack/neutron/lbaas/health_monitor.py | 6 +- .../resources/openstack/neutron/lbaas/l7policy.py | 271 + .../resources/openstack/neutron/lbaas/l7rule.py | 216 + .../resources/openstack/neutron/lbaas/listener.py | 29 +- .../openstack/neutron/lbaas/loadbalancer.py | 18 +- .../resources/openstack/neutron/lbaas/pool.py | 23 +- .../openstack/neutron/lbaas/pool_member.py | 17 +- .../resources/openstack/neutron/loadbalancer.py | 61 +- heat/engine/resources/openstack/neutron/net.py | 11 + .../resources/openstack/neutron/network_gateway.py | 36 +- heat/engine/resources/openstack/neutron/neutron.py | 19 +- heat/engine/resources/openstack/neutron/port.py | 31 +- .../resources/openstack/neutron/provider_net.py | 3 +- heat/engine/resources/openstack/neutron/qos.py | 70 +- .../resources/openstack/neutron/security_group.py | 9 +- .../openstack/neutron/security_group_rule.py | 200 + .../resources/openstack/neutron/sfc/__init__.py | 0 .../resources/openstack/neutron/sfc/port_pair.py | 127 + .../resources/openstack/neutron/vpnservice.py | 25 +- heat/engine/resources/openstack/nova/flavor.py | 52 +- .../resources/openstack/nova/host_aggregate.py | 15 +- heat/engine/resources/openstack/nova/keypair.py | 7 + heat/engine/resources/openstack/nova/server.py | 112 +- .../openstack/nova/server_network_mixin.py | 164 +- heat/engine/resources/openstack/sahara/cluster.py | 48 +- heat/engine/resources/openstack/sahara/image.py | 20 +- .../engine/resources/openstack/sahara/templates.py | 127 +- heat/engine/resources/openstack/senlin/cluster.py | 42 +- heat/engine/resources/openstack/senlin/node.py | 78 +- heat/engine/resources/openstack/senlin/policy.py | 2 +- heat/engine/resources/openstack/swift/container.py | 297 + heat/engine/resources/openstack/swift/swift.py | 297 - .../resources/openstack/trove/os_database.py | 8 +- heat/engine/resources/scheduler_hints.py | 16 +- heat/engine/resources/signal_responder.py | 8 + heat/engine/resources/stack_resource.py | 189 +- heat/engine/resources/stack_user.py | 2 +- heat/engine/resources/template_resource.py | 20 +- heat/engine/resources/volume_base.py | 34 +- heat/engine/resources/wait_condition.py | 66 +- heat/engine/rsrc_defn.py | 173 +- heat/engine/scheduler.py | 148 +- heat/engine/service.py | 725 +- heat/engine/service_software_config.py | 92 +- heat/engine/service_stack_watch.py | 7 +- heat/engine/software_config_io.py | 175 + heat/engine/stack.py | 522 +- heat/engine/stack_lock.py | 35 +- heat/engine/support.py | 12 +- heat/engine/sync_point.py | 23 +- heat/engine/template.py | 184 +- heat/engine/template_common.py | 205 + heat/engine/template_files.py | 136 + heat/engine/translation.py | 361 +- heat/engine/update.py | 51 +- heat/engine/watchrule.py | 3 +- heat/engine/worker.py | 429 +- heat/hacking/__init__.py | 0 heat/hacking/checks.py | 70 + heat/locale/cs/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/de/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/de/LC_MESSAGES/heat.po | 2856 ++++++- heat/locale/es/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/es/LC_MESSAGES/heat.po | 7995 ++++++++++++++++++ heat/locale/fr/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/fr/LC_MESSAGES/heat-log-error.po | 15 +- heat/locale/fr/LC_MESSAGES/heat.po | 7965 ++++++++++++++++++ heat/locale/heat-log-critical.pot | 24 - heat/locale/heat-log-error.pot | 302 - heat/locale/heat-log-info.pot | 583 -- heat/locale/heat-log-warning.pot | 378 - heat/locale/heat.pot | 8891 -------------------- heat/locale/it/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/it/LC_MESSAGES/heat.po | 7946 +++++++++++++++++ heat/locale/ja/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/ja/LC_MESSAGES/heat.po | 7629 +++++++++++++++++ heat/locale/ko_KR/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/ko_KR/LC_MESSAGES/heat-log-error.po | 243 + heat/locale/ko_KR/LC_MESSAGES/heat-log-warning.po | 336 + heat/locale/ko_KR/LC_MESSAGES/heat.po | 7428 ++++++++++++++++ heat/locale/pt/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/pt_BR/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/pt_BR/LC_MESSAGES/heat.po | 7836 +++++++++++++++++ heat/locale/ru/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/ru/LC_MESSAGES/heat.po | 976 ++- heat/locale/tr_TR/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/zh_CN/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/zh_CN/LC_MESSAGES/heat.po | 838 +- heat/locale/zh_TW/LC_MESSAGES/heat-log-critical.po | 8 +- heat/locale/zh_TW/LC_MESSAGES/heat.po | 7140 ++++++++++++++++ heat/objects/base.py | 21 + heat/objects/event.py | 9 + heat/objects/raw_template.py | 41 +- heat/objects/raw_template_files.py | 51 + heat/objects/resource.py | 103 +- heat/objects/resource_data.py | 7 +- heat/objects/stack.py | 56 +- heat/objects/stack_lock.py | 16 +- heat/objects/user_creds.py | 4 +- heat/objects/watch_data.py | 10 +- heat/objects/watch_rule.py | 7 +- heat/openstack/common/crypto/utils.py | 9 +- heat/rpc/api.py | 14 +- heat/rpc/client.py | 144 +- heat/rpc/worker_client.py | 17 + heat/scaling/cooldown.py | 59 +- .../api/openstack_v1/test_views_stacks_view.py | 8 +- .../openstack/ceilometer/test_ceilometer_alarm.py | 773 -- .../openstack/ceilometer/test_gnocchi_alarm.py | 365 - .../cinder/test_volume_type_encryption.py | 44 +- .../heat/test_instance_group_update_policy.py | 23 +- .../openstack/heat/test_software_deployment.py | 414 +- .../openstack/keystone/test_role_assignments.py | 127 +- .../openstack/manila/test_security_service.py | 9 +- .../openstack/monasca/test_alarm_definition.py | 25 +- .../openstack/neutron/lbaas/test_health_monitor.py | 3 - .../openstack/neutron/lbaas/test_loadbalancer.py | 7 +- .../openstack/neutron/lbaas/test_pool_member.py | 1 + .../openstack/neutron/test_neutron_firewall.py | 32 +- .../openstack/neutron/test_neutron_floating_ip.py | 98 +- .../openstack/neutron/test_neutron_loadbalancer.py | 40 +- .../neutron/test_neutron_network_gateway.py | 84 +- .../neutron/test_neutron_security_group.py | 28 + .../neutron/test_neutron_security_group_rule.py | 98 + .../openstack/neutron/test_neutron_subnetpool.py | 2 +- .../openstack/neutron/test_neutron_vpnservice.py | 14 +- .../openstack/neutron/test_sfc/test_port_pair.py | 169 + .../functional/functional_base.py | 1 - .../functional/test_admin_actions.py | 101 + .../functional/test_autoscaling.py | 5 +- .../functional/test_cancel_update.py | 63 + .../functional/test_conditional_exposure.py | 89 +- .../functional/test_conditions.py | 622 ++ .../functional/test_create_update.py | 3 +- .../functional/test_create_update_neutron_port.py | 12 +- .../functional/test_encryption_vol_type.py | 11 +- .../functional/test_external_ref.py | 83 + .../functional/test_nova_server_networks.py | 70 +- .../functional/test_os_wait_condition.py | 107 + .../functional/test_remote_stack.py | 10 +- .../functional/test_replace_deprecated.py | 92 + .../functional/test_resource_chain.py | 19 + .../functional/test_resource_group.py | 4 +- .../functional/test_resources_list.py | 43 + .../functional/test_software_deployment_group.py | 142 + .../functional/test_template_resource.py | 66 + .../functional/test_update_restricted.py | 13 +- .../templates/app_server_lbv2_neutron.yaml | 69 + .../scenario/templates/test_aodh_alarm.yaml | 33 + .../templates/test_autoscaling_lbv2_neutron.yaml | 116 + .../scenario/templates/test_ceilometer_alarm.yaml | 33 - .../scenario/templates/test_server_signal.yaml | 104 + .../scenario/test_autoscaling_lb.py | 10 +- .../scenario/test_autoscaling_lbv2.py | 65 +- .../scenario/test_ceilometer_alarm.py | 57 - .../scenario/test_server_cfn_init.py | 7 +- .../scenario/test_server_signal.py | 74 + .../scenario/test_server_software_config.py | 4 - install-guide/source/conf.py | 299 + install-guide/source/get_started.rst | 37 + install-guide/source/index.rst | 20 + install-guide/source/install-debian.rst | 46 + install-guide/source/install-obs.rst | 430 + install-guide/source/install-rdo.rst | 440 + install-guide/source/install-ubuntu.rst | 436 + install-guide/source/install.rst | 21 + install-guide/source/launch-instance.rst | 138 + install-guide/source/next-steps.rst | 12 + install-guide/source/verify.rst | 36 + .../add-template-dir-config-b96392a9e116a2d3.yaml | 6 + .../bp-support-conditions-1a9f89748a08cd4f.yaml | 17 + .../notes/cinder-backup-cb72e775681fb5a5.yaml | 10 + ...cinder-qos-specs-resource-ca5a237ebc114729.yaml | 6 + .../cinder-quota-resource-f13211c04020cd0c.yaml | 5 + ...gurable-server-name-limit-947d9152fe9b43ee.yaml | 6 + .../notes/dns-resolution-5afc1c57dfd05aff.yaml | 7 + .../environment-merging-d623362fac1279f7.yaml | 11 + .../event-list-nested-depth-80081a2a8eefee1a.yaml | 14 + .../notes/external-resources-965d01d690d32bd2.yaml | 10 + .../notes/glance-image-tag-6fa123ca30be01aa.yaml | 4 + .../map-replace-function-26bf247c620f64bf.yaml | 7 + .../notes/monasca-period-f150cdb134f1e036.yaml | 10 + .../notes/monasca-supported-71c5373282c3b338.yaml | 5 + .../notes/yaql-function-4895e39555c2841d.yaml | 5 + releasenotes/source/index.rst | 3 +- releasenotes/source/mitaka.rst | 6 + requirements.txt | 66 +- setup.cfg | 47 +- test-requirements.txt | 18 +- tools/custom_guidelines.py | 23 +- tox.ini | 54 +- 699 files changed, 98766 insertions(+), 24858 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 80f689e..11ac45d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +6 @@ pbr>=1.6 # Apache-2.0 -Babel>=1.3 # BSD +Babel>=2.3.4 # BSD @@ -8 +8 @@ croniter>=0.3.4 # MIT License -cryptography>=1.0 # BSD/Apache-2.0 +cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0 @@ -12 +12,2 @@ greenlet>=0.3.2 # MIT -keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 +keystoneauth1>=2.10.0 # Apache-2.0 +keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 @@ -14 +15 @@ lxml>=2.3 # BSD -netaddr!=0.7.16,>=0.7.12 # BSD +netaddr!=0.7.16,>=0.7.13 # BSD @@ -16,4 +17,4 @@ oslo.cache>=1.5.0 # Apache-2.0 -oslo.config>=3.7.0 # Apache-2.0 -oslo.concurrency>=3.5.0 # Apache-2.0 -oslo.context>=0.2.0 # Apache-2.0 -oslo.db>=4.1.0 # Apache-2.0 +oslo.config>=3.14.0 # Apache-2.0 +oslo.concurrency>=3.8.0 # Apache-2.0 +oslo.context>=2.9.0 # Apache-2.0 +oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 @@ -22 +23 @@ oslo.log>=1.14.0 # Apache-2.0 -oslo.messaging>=4.0.0 # Apache-2.0 +oslo.messaging>=5.2.0 # Apache-2.0 @@ -24 +25 @@ oslo.middleware>=3.0.0 # Apache-2.0 -oslo.policy>=0.5.0 # Apache-2.0 +oslo.policy>=1.9.0 # Apache-2.0 @@ -27,4 +28,4 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.service>=1.0.0 # Apache-2.0 -oslo.utils>=3.5.0 # Apache-2.0 -osprofiler>=1.1.0 # Apache-2.0 -oslo.versionedobjects>=1.5.0 # Apache-2.0 +oslo.service>=1.10.0 # Apache-2.0 +oslo.utils>=3.16.0 # Apache-2.0 +osprofiler>=1.4.0 # Apache-2.0 +oslo.versionedobjects>=1.13.0 # Apache-2.0 @@ -33,3 +34,4 @@ 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 +aodhclient>=0.5.0 # Apache-2.0 +python-barbicanclient>=4.0.0 # Apache-2.0 +python-ceilometerclient>=2.5.0 # Apache-2.0 +python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0 @@ -37,7 +39,8 @@ python-designateclient>=1.5.0 # Apache-2.0 -python-glanceclient>=2.0.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!=4.1.0,>=2.6.0 # Apache-2.0 +python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0 +python-heatclient>=1.4.0 # Apache-2.0 +python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 +python-magnumclient>=2.0.0 # Apache-2.0 +python-manilaclient>=1.10.0 # Apache-2.0 +python-mistralclient>=2.0.0 # Apache-2.0 +python-monascaclient>=1.1.0 # Apache-2.0 +python-neutronclient>=5.1.0 # Apache-2.0 @@ -46 +49 @@ python-openstackclient>=2.1.0 # Apache-2.0 -python-saharaclient>=0.13.0 # Apache-2.0 +python-saharaclient>=0.18.0 # Apache-2.0 @@ -49,2 +52,2 @@ python-swiftclient>=2.2.0 # Apache-2.0 -python-troveclient!=2.1.0,>=1.2.0 # Apache-2.0 -python-zaqarclient>=0.3.0 # Apache-2.0 +python-troveclient>=2.2.0 # Apache-2.0 +python-zaqarclient>=1.0.0 # Apache-2.0 @@ -53 +56 @@ PyYAML>=3.1.0 # MIT -requests!=2.9.0,>=2.8.1 # Apache-2.0 +requests>=2.10.0 # Apache-2.0 @@ -55,2 +58,2 @@ retrying!=1.3.0,>=1.2.3 # 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 +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT @@ -60 +63 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0 -stevedore>=1.5.0 # Apache-2.0 +stevedore>=1.16.0 # Apache-2.0 @@ -61,0 +65 @@ WebOb>=1.2.3 # MIT +yaql>=1.1.0 # Apache 2.0 License diff --git a/test-requirements.txt b/test-requirements.txt index a20adba..d4e6029 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +7 @@ hacking<0.11,>=0.10.0 -bandit>=0.17.3 # Apache-2.0 +bandit>=1.1.0 # Apache-2.0 @@ -8,0 +9 @@ coverage>=3.6 # Apache-2.0 +fixtures>=3.0.0 # Apache-2.0/BSD @@ -10 +11 @@ kombu>=3.0.25 # BSD -mock>=1.2 # BSD +mock>=2.0 # BSD @@ -12 +13,3 @@ mox3>=0.7.0 # Apache-2.0 -PyMySQL>=0.6.2 # MIT License +PyMySQL!=0.7.7,>=0.6.2 # MIT License +openstackdocstheme>=1.5.0 # Apache-2.0 +os-api-ref>=1.0.0 # Apache-2.0 @@ -15 +17,0 @@ oslotest>=1.10.0 # Apache-2.0 -paramiko>=1.16.0 # LGPL @@ -18 +20 @@ psycopg2>=2.5 # LGPL/ZPL -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD @@ -23 +25,5 @@ testresources>=0.2.4 # Apache-2.0/BSD -reno>=0.1.1 # Apache2 +reno>=1.8.0 # Apache2 +# Next are used in integration tests only +os-collect-config # Apache-2.0 +paramiko>=2.0 # LGPLv2.1+ +tempest>=12.1.0 # Apache-2.0