
This patch updates the Ceph configuration for the puppet implementation so that it isolates the Ceph traffic for the public and cluster interfaces. By default public traffic runs on the "storage" network and the cluster traffic runs on the "storage mgmt" network. If network isolation is not enabled then the default ctlplane address's will be used for both the public and cluster interfaces. Change-Id: I791244d72c8f42142d9de99e0cf0acdca19e62b0
145 lines
4.3 KiB
YAML
145 lines
4.3 KiB
YAML
heat_template_version: 2015-04-30
|
|
description: 'Common Ceph Storage Configuration'
|
|
parameters:
|
|
Image:
|
|
type: string
|
|
default: overcloud-ceph-storage
|
|
KeyName:
|
|
default: default
|
|
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
|
|
type: string
|
|
Flavor:
|
|
default: baremetal
|
|
description: Flavor for block storage nodes to request when deploying.
|
|
type: string
|
|
CephClusterFSID:
|
|
default: ''
|
|
type: string
|
|
description: The Ceph cluster FSID. Must be a UUID.
|
|
CephMonKey:
|
|
default: ''
|
|
description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
|
|
type: string
|
|
CephAdminKey:
|
|
default: ''
|
|
description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
|
|
type: string
|
|
CephMonitors:
|
|
default: ''
|
|
description: The list of ip/names to use as Ceph monitors
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
|
|
resources:
|
|
CephStorage:
|
|
type: OS::Nova::Server
|
|
properties:
|
|
image:
|
|
{get_param: Image}
|
|
flavor: {get_param: OvercloudCephStorageFlavor}
|
|
key_name: {get_param: KeyName}
|
|
networks:
|
|
- network: ctlplane
|
|
user_data_format: SOFTWARE_CONFIG
|
|
user_data: {get_resource: NodeUserData}
|
|
|
|
NodeUserData:
|
|
type: OS::TripleO::NodeUserData
|
|
|
|
StoragePort:
|
|
type: OS::TripleO::CephStorage::Ports::StoragePort
|
|
properties:
|
|
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
|
|
|
StorageMgmtPort:
|
|
type: OS::TripleO::CephStorage::Ports::StorageMgmtPort
|
|
properties:
|
|
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
|
|
|
NetworkConfig:
|
|
type: OS::TripleO::CephStorage::Net::SoftwareConfig
|
|
properties:
|
|
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
|
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
|
|
|
|
NetworkDeployment:
|
|
type: OS::TripleO::SoftwareDeployment
|
|
properties:
|
|
config: {get_resource: NetworkConfig}
|
|
server: {get_resource: CephStorage}
|
|
|
|
CephStorageDeployment:
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
server: {get_resource: CephStorage}
|
|
config: {get_resource: CephStorageConfig}
|
|
signal_transport: NO_SIGNAL
|
|
CephStorageConfig:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
group: os-apply-config
|
|
config:
|
|
ceph:
|
|
fsid: {get_param: CephClusterFSID}
|
|
keyrings:
|
|
admin:
|
|
key: {get_param: CephAdminKey}
|
|
mon_nodes: {get_param: CephMonitors}
|
|
ControllerCephDeployment:
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
server: {get_resource: Controller}
|
|
config: {get_resource: ControllerCephConfig}
|
|
signal_transport: NO_SIGNAL
|
|
ControllerCephConfig:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
group: os-apply-config
|
|
config:
|
|
cinder:
|
|
include_ceph_backend: true
|
|
ceph:
|
|
fsid: {get_param: CephClusterFSID}
|
|
keyrings:
|
|
mon:
|
|
key: {get_param: CephMonKey}
|
|
admin:
|
|
key: {get_param: CephAdminKey}
|
|
mon_nodes: {get_param: CephMonitors}
|
|
NovaComputeCephDeployment:
|
|
depends_on: [ControllerCephDeployment]
|
|
type: OS::Heat::StructuredDeployment
|
|
properties:
|
|
server: {get_resource: NovaCompute}
|
|
config: {get_resource: NovaComputeCephConfig}
|
|
signal_transport: NO_SIGNAL
|
|
NovaComputeCephConfig:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
group: os-apply-config
|
|
config:
|
|
ceph:
|
|
fsid: {get_param: CephClusterFSID}
|
|
keyrings:
|
|
admin:
|
|
key: {get_param: CephAdminKey}
|
|
mon_nodes: {get_param: CephMonitors}
|
|
outputs:
|
|
hosts_entry:
|
|
value:
|
|
str_replace:
|
|
template: "IP HOST"
|
|
params:
|
|
IP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
|
HOST: {get_attr: [CephStorage, name]}
|
|
storage_ip_address:
|
|
description: IP address of the server in the storage network
|
|
value: {get_attr: [StoragePort, ip_address]}
|
|
storage_mgmt_ip_address:
|
|
description: IP address of the server in the storage_mgmt network
|
|
value: {get_attr: [StorageMgmtPort, ip_address]}
|