config: {get_resource: AllNodesValidationConfig}
servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
+ # Optional ExtraConfig for all nodes - all roles are passed in here, but
+ # the nested template may configure each role differently (or not at all)
+ AllNodesExtraConfig:
+ type: OS::TripleO::AllNodesExtraConfig
+ properties:
+ controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
+ compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
+ blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
+ objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
+ cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
+
# Nested stack deployment runs after all other controller deployments
ControllerNodesPostDeployment:
type: OS::TripleO::ControllerPostDeployment
depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
properties:
servers: {get_attr: [Controller, attributes, nova_server_resource]}
- NodeConfigIdentifiers: {get_attr: [Controller, attributes, config_identifier]}
+ NodeConfigIdentifiers:
+ allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+ controller_config: {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]}
+ NodeConfigIdentifiers:
+ allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+ compute_config: {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]}
-
+ NodeConfigIdentifiers:
+ allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+ objectstorage_config: {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]}
+ NodeConfigIdentifiers:
+ allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+ blockstorage_config: {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]}
+ NodeConfigIdentifiers:
+ allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
+ cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
outputs:
KeystoneURL: