bccb698984
This patch updates all network configuration templates so that we configure the ctlplane network interface with a static IP instead of using DHCP. The IP address used for the static IP is passed into each nested stack network configuration template via the ControlPlaneIp parameter. Three new nested stack parameters called ControlPlaneSubnetCidr, ControlPlaneDefaultRoute, and EC2MetadataIp have been added to help configure the CIDR, default route, and EC2 metadata route on the ctlplane statically. These parameters can be customized via the parameter_defaults section in the heat environment. A single new template called net-config-static-bridge.yaml has been added to help migrate towards using the static configuration templates when not using network isolation. Depends-On: I257e1cba6dee16f73f75512d1284e1e3b9d4c831 Change-Id: Ib267e6dcf2d5ff77f7a82ee20a123965c2d07565
171 lines
5.1 KiB
YAML
171 lines
5.1 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
|
|
UpdateIdentifier:
|
|
default: ''
|
|
type: string
|
|
description: >
|
|
Setting to a previously unused value during stack-update will trigger
|
|
package update on all nodes
|
|
Hostname:
|
|
type: string
|
|
default: '' # Defaults to Heat created hostname
|
|
ExtraConfig:
|
|
default: {}
|
|
description: |
|
|
Additional configuration to inject into the cluster. Note
|
|
that CephStorageExtraConfig takes precedence over ExtraConfig.
|
|
type: json
|
|
CephStorageExtraConfig:
|
|
default: {}
|
|
description: |
|
|
Role specific additional configuration to inject into the cluster.
|
|
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}
|
|
name: {get_param: Hostname}
|
|
|
|
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:
|
|
ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
|
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]}
|
|
config_identifier:
|
|
description: identifier which changes if the node configuration may need re-applying
|
|
value: "None - NO_SIGNAL"
|