1 heat_template_version: 2015-04-30
2 description: 'Common Ceph Storage Configuration'
6 default: overcloud-ceph-storage
9 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
13 description: Flavor for block storage nodes to request when deploying.
18 description: The Ceph cluster FSID. Must be a UUID.
21 description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
26 description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
31 description: The list of ip/names to use as Ceph monitors
35 description: Mapping of service_name -> network name. Typically set
36 via parameter_defaults in the resource registry.
42 Setting to a previously unused value during stack-update will trigger
43 package update on all nodes
46 default: '' # Defaults to Heat created hostname
50 Additional configuration to inject into the cluster. Note
51 that CephStorageExtraConfig takes precedence over ExtraConfig.
53 CephStorageExtraConfig:
56 Role specific additional configuration to inject into the cluster.
62 type: OS::Nova::Server
66 flavor: {get_param: OvercloudCephStorageFlavor}
67 key_name: {get_param: KeyName}
70 user_data_format: SOFTWARE_CONFIG
71 user_data: {get_resource: NodeUserData}
72 name: {get_param: Hostname}
75 type: OS::TripleO::NodeUserData
78 type: OS::TripleO::CephStorage::Ports::StoragePort
80 ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
83 type: OS::TripleO::CephStorage::Ports::StorageMgmtPort
85 ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
88 type: OS::TripleO::CephStorage::Net::SoftwareConfig
90 ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
91 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
92 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
95 type: OS::TripleO::SoftwareDeployment
97 config: {get_resource: NetworkConfig}
98 server: {get_resource: CephStorage}
100 CephStorageDeployment:
101 type: OS::Heat::StructuredDeployment
103 server: {get_resource: CephStorage}
104 config: {get_resource: CephStorageConfig}
105 signal_transport: NO_SIGNAL
107 type: OS::Heat::StructuredConfig
109 group: os-apply-config
112 fsid: {get_param: CephClusterFSID}
115 key: {get_param: CephAdminKey}
116 mon_nodes: {get_param: CephMonitors}
117 ControllerCephDeployment:
118 type: OS::Heat::StructuredDeployment
120 server: {get_resource: Controller}
121 config: {get_resource: ControllerCephConfig}
122 signal_transport: NO_SIGNAL
123 ControllerCephConfig:
124 type: OS::Heat::StructuredConfig
126 group: os-apply-config
129 include_ceph_backend: true
131 fsid: {get_param: CephClusterFSID}
134 key: {get_param: CephMonKey}
136 key: {get_param: CephAdminKey}
137 mon_nodes: {get_param: CephMonitors}
138 NovaComputeCephDeployment:
139 depends_on: [ControllerCephDeployment]
140 type: OS::Heat::StructuredDeployment
142 server: {get_resource: NovaCompute}
143 config: {get_resource: NovaComputeCephConfig}
144 signal_transport: NO_SIGNAL
145 NovaComputeCephConfig:
146 type: OS::Heat::StructuredConfig
148 group: os-apply-config
151 fsid: {get_param: CephClusterFSID}
154 key: {get_param: CephAdminKey}
155 mon_nodes: {get_param: CephMonitors}
162 IP: {get_attr: [CephStorage, networks, ctlplane, 0]}
163 HOST: {get_attr: [CephStorage, name]}
165 description: IP address of the server in the storage network
166 value: {get_attr: [StoragePort, ip_address]}
167 storage_mgmt_ip_address:
168 description: IP address of the server in the storage_mgmt network
169 value: {get_attr: [StorageMgmtPort, ip_address]}
171 description: identifier which changes if the node configuration may need re-applying
172 value: "None - NO_SIGNAL"