StackDefinition class

Registered by Zane Bitter

Encapsulate all data about the definition of the stack - including the template, parameter values, resource attributes & reference IDs - in a class and use that in intrinsic functions instead of the Stack object itself.

Blueprint information

Status:
Complete
Approver:
Rabi Mishra
Priority:
High
Drafter:
Zane Bitter
Direction:
Approved
Assignee:
Zane Bitter
Definition:
Approved
Series goal:
Accepted for queens
Implementation:
Implemented
Milestone target:
milestone icon queens-1
Started by
Zane Bitter
Completed by
Rico Lin

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:stack-definition,n,z

Addressed by: https://review.openstack.org/424359
    Stable StackDefinition API for template plugins

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

Addressed by: https://review.openstack.org/435164
    Add a NodeData class to roll up resource data

Addressed by: https://review.openstack.org/435165
    Add a node_data() method to Resource

Addressed by: https://review.openstack.org/435166
    Separate management of parent resource into separate class

Addressed by: https://review.openstack.org/435167
    Define resource actions/statuses in a separate class

Addressed by: https://review.openstack.org/435168
    Add a StackDefinition class

Addressed by: https://review.openstack.org/435169
    Use a StackDefinition to store the stack definition

Addressed by: https://review.openstack.org/435170
    Use a sentinel to indicate when all attributes are required

Addressed by: https://review.openstack.org/435171
    Update NodeData in legacy path

Addressed by: https://review.openstack.org/435172
    Generate placeholders for resource proxies before validation

Addressed by: https://review.openstack.org/435173
    Unit tests: fix signal URL immutability tests

Addressed by: https://review.openstack.org/435174
    Improve logging of convergence scenario tests

Addressed by: https://review.openstack.org/435175
    Avoid creating new resource with old template

Addressed by: https://review.openstack.org/435176
    Unit tests: Do assertions on stored properties data

Addressed by: https://review.openstack.org/435177
    Use StackDefinition in intrinsic functions for resolving data

Addressed by: https://review.openstack.org/458813
    Revert "Generate placeholders for resource proxies before validation"

Addressed by: https://review.openstack.org/469684
    Update StackDefinition resource data when getting outputs

Addressed by: https://review.openstack.org/470577
    Handle PublicIp of None in AutoscalingGroup InstanceList

Addressed by: https://review.openstack.org/469686
    Get dep_attrs from StackDefinition

Addressed by: https://review.openstack.org/469683
    Add Output definitions to StackDefinition

Addressed by: https://review.openstack.org/468581
    Update StackDefinition resource data on metadata refresh

Addressed by: https://review.openstack.org/467805
    Use placeholder data for resources prior to creation

Addressed by: https://review.openstack.org/469687
    Always return Resource from ResourceDefinition.dependencies()

Addressed by: https://review.openstack.org/469685
    Optionally include attrs referenced in outputs in node data

Addressed by: https://review.openstack.org/472503
    Use stored properties values during signal

Addressed by: https://review.openstack.org/476295
    Refactor out a new Resource.referenced_attrs() method

Addressed by: https://review.openstack.org/477046
    Cache dep_attrs for all resources in definitions

Addressed by: https://review.openstack.org/479454
    Avoid creating two Stacks when loading Resource

Addressed by: https://review.openstack.org/479959
    Use the stored property values of LaunchConfig

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

Addressed by: https://review.openstack.org/481719
    Allow StackDefinition to calculate explicit dependencies

Addressed by: https://review.openstack.org/477031
    Optimise the function.dep_attrs() function

Addressed by: https://review.openstack.org/465760
    Check for circular dependencies in template validation

Addressed by: https://review.openstack.org/478292
    Don't call Stack.has_cache_data() in Functions

Addressed by: https://review.openstack.org/468580
    Unit tests: Ensure StackDefinition is up to date

Addressed by: https://review.openstack.org/468579
    Unit tests: make tests more realistic

Addressed by: https://review.openstack.org/487605
    Optimise the function.dep_attrs() function

Addressed by: https://review.openstack.org/507870
    Add release note for StackDefinition API

Addressed by: https://review.openstack.org/523897
    Add release note for StackDefinition API

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.