Decouple nested stacks from their parent

Registered by Steven Hardy on 2014-08-15

Decouple nested stacks from their parent by creating them via RPC requests, which will allow more effective distribution of the workload involved with managing large hierarchies of stacks by enabling each to be potentially processed by a different heat-engine process.

spec review: https://review.openstack.org/#/c/113296

Blueprint information

Status:
Complete
Approver:
Zane Bitter
Priority:
High
Drafter:
Steven Hardy
Direction:
Approved
Assignee:
Steven Hardy
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Steve Baker on 2014-09-04
Completed by
Angus Salkeld on 2015-03-18

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/decouple-nested,n,z

Addressed by: https://review.openstack.org/113296
    Decouple Nested Stacks from parents

Addressed by: https://review.openstack.org/115071
    engine service add owner_id to create_stack

Addressed by: https://review.openstack.org/115072
    rpc client test remove rpcapi logic

Addressed by: https://review.openstack.org/115073
    Add owner_id to new _create_stack RPC interface

Addressed by: https://review.openstack.org/115074
    Add new RpcStackResource nested-stack base-class

Addressed by: https://review.openstack.org/115730
    Add nested_depth column to stack table

Addressed by: https://review.openstack.org/115731
    engine service add nested_depth to create_stack

Addressed by: https://review.openstack.org/115732
    Add nested_depth to internal _create_stack RPC interface

Addressed by: https://review.openstack.org/115733
    port CFN Stack resource to RpcStackResource

Gerrit topic: https://review.openstack.org/#q,topic:bug/1360292,n,z

Addressed by: https://review.openstack.org/116332
    StackResource add force_reload to nested() accessor method

Addressed by: https://review.openstack.org/116333
    StackResource add show_deleted option to nested() accessor method

Addressed by: https://review.openstack.org/116334
    engine service add user_creds_id to create_stack interface

Addressed by: https://review.openstack.org/116335
    Add user_creds_id to _create_stack RPC interface

Addressed by: https://review.openstack.org/116336
    StackResource convert create operations to use RPC

Addressed by: https://review.openstack.org/116337
    StackResource convert delete_nested to RPC

Addressed by: https://review.openstack.org/116338
    StackResource convert handle_suspend to RPC

Addressed by: https://review.openstack.org/116339
    StackResource convert handle_resume to RPC

Addressed by: https://review.openstack.org/116340
    StackResource convert check path to RPC

Addressed by: https://review.openstack.org/116341
    StackResource convert update_with_template to RPC

Addressed by: https://review.openstack.org/118136
    engine service add stack_user_project_id to create_stack interface

Addressed by: https://review.openstack.org/118137
    Add stack_user_project_id to _create_stack RPC interface

Gerrit topic: https://review.openstack.org/#q,topic:bp/decouple-nested9,n,z

Addressed by: https://review.openstack.org/118907
    Unit test autoscaling._calculate_new_capacity

Addressed by: https://review.openstack.org/118906
    Move TestInstanceGroup to test_instance_group.py

Addressed by: https://review.openstack.org/118909
    Convert the autoscaling policy tests into unit tests

Addressed by: https://review.openstack.org/118908
    Move some AutoScalingGroup validation tests to a separate file

Addressed by: https://review.openstack.org/118948
    Rewrite AutoScalingGroup adjustment tests as unit tests

Addressed by: https://review.openstack.org/119127
    Rework test_instance_group to be less coupled

Addressed by: https://review.openstack.org/126459
    Rework autoscaling group current_size attribute

Addressed by: https://review.openstack.org/140248
    Move test_create_config_prop_validation to functional

Addressed by: https://review.openstack.org/140249
    Move test_update_group_replace() to functional tests

Addressed by: https://review.openstack.org/140243
    Add proper unit tests for group Tags

Addressed by: https://review.openstack.org/140246
    Move basic instance group functional tests

Addressed by: https://review.openstack.org/140247
    Move test_size_updates_work() to functional tests

Addressed by: https://review.openstack.org/140244
    Rename the remaining instance group tests for clarity

Addressed by: https://review.openstack.org/140245
    Delete test instance error causes group error test

Addressed by: https://review.openstack.org/139029
    Add some unit tests for the instance group

Addressed by: https://review.openstack.org/140602
    Add some autoscaling crud unit tests

Addressed by: https://review.openstack.org/140603
    Remove duplicate test (it's already in our functional tests)

Addressed by: https://review.openstack.org/140604
    Separate StackWatch out into it's own module

Gerrit topic: https://review.openstack.org/#q,topic:clean-commit,n,z

Addressed by: https://review.openstack.org/142981
    Move autoscaling vpc zone test into autoscaling/

Addressed by: https://review.openstack.org/142268
    Move launch configuration into tests/autoscaling/

Addressed by: https://review.openstack.org/142982
    Move tests for _lb_reload() into test_instance_group

Addressed by: https://review.openstack.org/142265
    Remove duplicate autoscaling adjustment tests

Addressed by: https://review.openstack.org/142266
    Move heat_autoscaling_group into tests/autoscaling/

Addressed by: https://review.openstack.org/142267
    Move heat_autoscaling_policy to tests/autoscaling/

Addressed by: https://review.openstack.org/141001
    Make propagate_files not have to create a nested stack

Gerrit topic: https://review.openstack.org/#q,topic:cleaner-series,n,z

Addressed by: https://review.openstack.org/144626
    Separate the nested resources attribute tests

Addressed by: https://review.openstack.org/144624
    Add some crud tests to nested stacks

Addressed by: https://review.openstack.org/144923
    Rework stack_resource *complete method unit tests

Addressed by: https://review.openstack.org/144924
    Make the attribute tests not need a nested stack

Addressed by: https://review.openstack.org/144926
    Move ResourceGroup update sequence test to functional

Addressed by: https://review.openstack.org/144927
    Unit test name_list and black_list

Addressed by: https://review.openstack.org/144928
    Move resource group property update tests to functional

Addressed by: https://review.openstack.org/144929
    Convert parser tests that need nested stacks to unit tests

Addressed by: https://review.openstack.org/144925
    Move the resource group adopt test to functional

Addressed by: https://review.openstack.org/144623
    Add missing template resource member list test

Addressed by: https://review.openstack.org/146029
    LB: Remove unused "templ" parameter to _haproxy_config

Addressed by: https://review.openstack.org/146030
    LB: Break up _haproxy_config to enable easier unit testing

Addressed by: https://review.openstack.org/146031
    LB: Make unit tests for _haproxy_config

Addressed by: https://review.openstack.org/146032
    LB: Separate out the validation tests

Addressed by: https://review.openstack.org/146033
    LB: separate out the FnGetRefId and FnGetAttr tests

Addressed by: https://review.openstack.org/144622
    Move template resource tests to functional

Addressed by: https://review.openstack.org/148427
    Move instance group update policy tests to functional

Addressed by: https://review.openstack.org/148473
    Move autoscaling update policy to functional

Gerrit topic: https://review.openstack.org/#q,topic:good-to-here-but-more-on-the-way,n,z

Addressed by: https://review.openstack.org/150366
    Make the update policy timeout check into a unit test

Addressed by: https://review.openstack.org/150548
    Test auto-scaling for neutron

Addressed by: https://review.openstack.org/144621
    Move aws nested stack tests to functional tests

Addressed by: https://review.openstack.org/152071
    Use "if stack is not None" and not "if stack"

Addressed by: https://review.openstack.org/152072
    Add check_adopt_complete to the stack_resource

Addressed by: https://review.openstack.org/152073
    Remove duplicate heat_autoscaling_group tests

Addressed by: https://review.openstack.org/152074
    Change to basic notification unit tests

Addressed by: https://review.openstack.org/152743
    Remove duplicate loadbalancer nokey test

Addressed by: https://review.openstack.org/152744
    Don't create the loadbalancer in the unit tests

Addressed by: https://review.openstack.org/152771
    Remove autoscaling test that is now a functional test

Addressed by: https://review.openstack.org/152772
    Move all scaling policy tests to autoscaling/

Addressed by: https://review.openstack.org/152773
    Move autoscaling InstanceId tests to autoscaling/

Addressed by: https://review.openstack.org/152774
    Move suspend/resume autoscaling tests to functional

Addressed by: https://review.openstack.org/152775
    Move update_in_failed to autoscaling

Addressed by: https://review.openstack.org/152776
    move scaling group create error to autoscaling/

Addressed by: https://review.openstack.org/152777
    Remove duplicate AS reload test

Addressed by: https://review.openstack.org/152778
    Move reload test to test_instance_group

Addressed by: https://review.openstack.org/152807
    Apply instance group fix to AS functional test

Addressed by: https://review.openstack.org/153192
    Add functiona test for AWS loadbalancer

Addressed by: https://review.openstack.org/153550
    Remove some unused functions and improve call_until_true

Addressed by: https://review.openstack.org/153551
    Pass the resource name into get_resource_info()

Addressed by: https://review.openstack.org/153552
    Make sure template resource's metadata is refreshed

Addressed by: https://review.openstack.org/153553
    Move autoscaling tests with signals to functional

Addressed by: https://review.openstack.org/155237
    Use stack.validate() not stack.create() for limit tests

Addressed by: https://review.openstack.org/155238
    Move nested stack delete test to functional

Gerrit topic: https://review.openstack.org/#q,topic:integration-tests,n,z

Addressed by: https://review.openstack.org/156546
    Don't pass the parent_resource object into Stack()

Addressed by: https://review.openstack.org/156547
    Remove the template mapping from the env before creating child stacks

Gerrit topic: https://review.openstack.org/#q,topic:awslb,n,z

Addressed by: https://review.openstack.org/158547
    Change ResDataNestedStackTest to not use a nested stack

Addressed by: https://review.openstack.org/158548
    Cleanup the update policy tests

Addressed by: https://review.openstack.org/159763
    Add ability to pass parameters during update

Gerrit topic: https://review.openstack.org/#q,topic:bug/1429134,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.