Make puppet-applying *Post resources depend on hieradata
When you do a stack-update which affects, e.g ControllerDeployment such that some value in hieradata is updated (for example changing the "Debug" parameter to True), we only write the hieradata file and don't reapply the manifests. So we introduce a dependency on the deploy_stdout values from all hieradata applying configs, such that the manifests will be re-applied on update if the data is changed. This requires https://review.openstack.org/#/c/190282/ so that 99-refresh-completed will return the derived config ID as part of the deploy_stdout payload. Closes-Bug: #1463092 Change-Id: I1175248c3236d0c42e37d062afce550efce8aadc
This commit is contained in:
parent
48d07db384
commit
ec3137dc6e
ceph-storage-post.yamlceph-storage.yamlcinder-storage-post.yamlcinder-storage.yamlcompute-post.yamlcompute.yamlcontroller-post.yamlcontroller.yamlovercloud-without-mergepy.yaml
puppet
ceph-storage-post-puppet.yamlceph-storage-puppet.yamlcinder-storage-post.yamlcinder-storage-puppet.yamlcompute-post-puppet.yamlcompute-puppet.yamlcontroller-post-puppet.yamlcontroller-puppet.yamlswift-storage-post.yamlswift-storage-puppet.yaml
swift-storage-post.yamlswift-storage.yaml@ -6,6 +6,9 @@ description: 'Ceph Storage Post Deployment'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
resources:
|
||||
|
||||
|
@ -148,3 +148,6 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: "None - NO_SIGNAL"
|
||||
|
@ -6,6 +6,9 @@ description: 'Common Block Storage Post Deployment'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
resources:
|
||||
|
||||
|
@ -203,3 +203,6 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: "None - NO_SIGNAL"
|
||||
|
@ -6,6 +6,9 @@ description: 'Compute Post Deployment'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
resources:
|
||||
|
||||
|
@ -473,3 +473,6 @@ outputs:
|
||||
description: Heat resource handle for the Nova compute server
|
||||
value:
|
||||
{get_resource: NovaCompute}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: "None - NO_SIGNAL"
|
||||
|
@ -6,6 +6,9 @@ description: 'Controller Post Deployment'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
resources:
|
||||
|
||||
|
@ -1047,3 +1047,6 @@ outputs:
|
||||
template: "IP:11211"
|
||||
params:
|
||||
IP: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: "None - NO_SIGNAL"
|
||||
|
@ -1062,30 +1062,36 @@ resources:
|
||||
depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
|
||||
properties:
|
||||
servers: {get_attr: [Controller, attributes, nova_server_resource]}
|
||||
NodeConfigIdentifiers: {get_attr: [Controller, attributes, config_identifier]}
|
||||
|
||||
ComputeNodesPostDeployment:
|
||||
type: OS::TripleO::ComputePostDeployment
|
||||
depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
|
||||
properties:
|
||||
servers: {get_attr: [Compute, attributes, nova_server_resource]}
|
||||
NodeConfigIdentifiers: {get_attr: [Compute, attributes, config_identifier]}
|
||||
|
||||
ObjectStorageNodesPostDeployment:
|
||||
type: OS::TripleO::ObjectStoragePostDeployment
|
||||
depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
|
||||
properties:
|
||||
servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
|
||||
NodeConfigIdentifiers: {get_attr: [ObjectStorage, attributes, config_identifier]}
|
||||
|
||||
|
||||
BlockStorageNodesPostDeployment:
|
||||
type: OS::TripleO::BlockStoragePostDeployment
|
||||
depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
|
||||
properties:
|
||||
servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
|
||||
NodeConfigIdentifiers: {get_attr: [BlockStorage, attributes, config_identifier]}
|
||||
|
||||
CephStorageNodesPostDeployment:
|
||||
type: OS::TripleO::CephStoragePostDeployment
|
||||
depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
|
||||
properties:
|
||||
servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
|
||||
NodeConfigIdentifiers: {get_attr: [CephStorage, attributes, config_identifier]}
|
||||
|
||||
outputs:
|
||||
KeystoneURL:
|
||||
|
@ -6,6 +6,10 @@ description: >
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
|
||||
resources:
|
||||
CephStoragePuppetConfig:
|
||||
@ -22,6 +26,8 @@ resources:
|
||||
properties:
|
||||
servers: {get_param: servers}
|
||||
config: {get_resource: CephStoragePuppetConfig}
|
||||
input_values:
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
# Note, this should come last, so use depends_on to ensure
|
||||
# this is created after any other resources.
|
||||
|
@ -152,3 +152,7 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: {get_attr: [CephStorageDeployment, deploy_stdout]}
|
||||
|
||||
|
@ -4,6 +4,9 @@ description: 'OpenStack cinder storage post deployment for Puppet'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
resources:
|
||||
|
||||
|
@ -260,3 +260,6 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: {get_attr: [BlockStorageDeployment, deploy_stdout]}
|
||||
|
@ -6,6 +6,10 @@ description: >
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
|
||||
resources:
|
||||
|
||||
@ -23,6 +27,8 @@ resources:
|
||||
properties:
|
||||
servers: {get_param: servers}
|
||||
config: {get_resource: ComputePuppetConfig}
|
||||
input_values:
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
# Note, this should come last, so use depends_on to ensure
|
||||
# this is created after any other resources.
|
||||
|
@ -513,3 +513,7 @@ outputs:
|
||||
description: Heat resource handle for the Nova compute server
|
||||
value:
|
||||
{get_resource: NovaCompute}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: {get_attr: [NovaComputeDeployment, deploy_stdout]}
|
||||
|
||||
|
@ -6,6 +6,10 @@ description: >
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
|
||||
resources:
|
||||
|
||||
@ -23,6 +27,7 @@ resources:
|
||||
config: {get_resource: ControllerPuppetConfig}
|
||||
input_values:
|
||||
step: 1
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
actions: ['CREATE'] # no need for two passes on an UPDATE
|
||||
|
||||
ControllerServicesBaseDeployment_Step2:
|
||||
@ -33,6 +38,7 @@ resources:
|
||||
config: {get_resource: ControllerPuppetConfig}
|
||||
input_values:
|
||||
step: 2
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
actions: ['CREATE'] # no need for two passes on an UPDATE
|
||||
|
||||
ControllerRingbuilderPuppetConfig:
|
||||
@ -54,6 +60,8 @@ resources:
|
||||
properties:
|
||||
servers: {get_param: servers}
|
||||
config: {get_resource: ControllerRingbuilderPuppetConfig}
|
||||
input_values:
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
ControllerOvercloudServicesDeployment_Step4:
|
||||
type: OS::Heat::StructuredDeployments
|
||||
@ -63,6 +71,7 @@ resources:
|
||||
config: {get_resource: ControllerPuppetConfig}
|
||||
input_values:
|
||||
step: 3
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
ControllerOvercloudServicesDeployment_Step5:
|
||||
type: OS::Heat::StructuredDeployments
|
||||
@ -72,6 +81,7 @@ resources:
|
||||
config: {get_resource: ControllerPuppetConfig}
|
||||
input_values:
|
||||
step: 4
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
# Note, this should come last, so use depends_on to ensure
|
||||
# this is created after any other resources.
|
||||
|
@ -1063,3 +1063,6 @@ outputs:
|
||||
template: "IP:11211"
|
||||
params:
|
||||
IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the controller configuration may need re-applying
|
||||
value: {get_attr: [ControllerDeployment, deploy_stdout]}
|
||||
|
@ -4,6 +4,10 @@ description: 'OpenStack swift storage node post deployment for Puppet'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
|
||||
resources:
|
||||
|
||||
@ -21,6 +25,8 @@ resources:
|
||||
properties:
|
||||
servers: {get_param: servers}
|
||||
config: {get_resource: StoragePuppetConfig}
|
||||
input_values:
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
StorageRingbuilderPuppetConfig:
|
||||
type: OS::Heat::SoftwareConfig
|
||||
@ -37,6 +43,8 @@ resources:
|
||||
properties:
|
||||
servers: {get_param: servers}
|
||||
config: {get_resource: StorageRingbuilderPuppetConfig}
|
||||
input_values:
|
||||
update_identifier: {get_param: NodeConfigIdentifiers}
|
||||
|
||||
# Note, this should come last, so use depends_on to ensure
|
||||
# this is created after any other resources.
|
||||
|
@ -212,3 +212,7 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: {get_attr: [SwiftStorageHieraDeploy, deploy_stdout]}
|
||||
|
||||
|
@ -6,6 +6,9 @@ description: 'Swift Storage Post Deployment'
|
||||
parameters:
|
||||
servers:
|
||||
type: json
|
||||
NodeConfigIdentifiers:
|
||||
type: json
|
||||
description: Value which changes if the node configuration may need to be re-applied
|
||||
|
||||
resources:
|
||||
|
||||
|
@ -194,3 +194,6 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
config_identifier:
|
||||
description: identifier which changes if the node configuration may need re-applying
|
||||
value: "None - NO_SIGNAL"
|
||||
|
Loading…
x
Reference in New Issue
Block a user