From fa08aaf4a7752ed1749e0b69673acdb271a1c5b0 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Mon, 30 May 2016 16:47:11 +0200 Subject: Configure BlockStorage services via resource chains Wires the steps into the BlockStorage role and ensures the installed-packages list is written on a per-step basis on all roles, as it happens on the controllers already. Change-Id: Iaec8ad3b2afbef6d586b7b46abaa1434cdb62f41 --- overcloud.yaml | 45 +++++++++++++++------------------------------ 1 file changed, 15 insertions(+), 30 deletions(-) (limited to 'overcloud.yaml') diff --git a/overcloud.yaml b/overcloud.yaml index 0abc512d..9c2b8027 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -66,10 +66,6 @@ parameters: default: '' type: string description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments. - CinderEnableIscsiBackend: - default: true - description: Whether to enable or not the Iscsi backend for Cinder - type: boolean CinderEnableRbdBackend: default: false description: Whether to enable or not the Rbd backend for Cinder @@ -296,18 +292,6 @@ parameters: type: json # Controller-specific params - CinderLVMLoopDeviceSize: - default: 10280 - description: The size of the loopback file used by the cinder LVM driver. - type: number - CinderPassword: - description: The password for the cinder service account, used by cinder-api. - type: string - hidden: true - CinderISCSIHelper: - default: lioadm - description: The iSCSI helper to use with cinder. - type: string ControllerCount: type: number default: 1 @@ -626,7 +610,13 @@ parameters: type: json description: Optional scheduler hints to pass to nova default: {} - + BlockStorageServices: + default: + - OS::TripleO::Services::CinderVolume + description: A list of service resources (configured in the Heat + resource_registry) which represent nested stacks + for each service that should get installed on the BlockStorage nodes. + type: comma_delimited_list # Object storage specific parameters ObjectStorageCount: @@ -993,6 +983,11 @@ resources: NodeIndex: '%index%' ServiceConfigSettings: {get_attr: [ComputeServiceChain, config_settings]} + BlockStorageServiceChain: + type: OS::TripleO::Services + properties: + Services: {get_param: BlockStorageServices} + EndpointMap: {get_attr: [EndpointMap, endpoint_map]} BlockStorage: type: OS::Heat::ResourceGroup @@ -1003,21 +998,9 @@ resources: resource_def: type: OS::TripleO::BlockStorage properties: - Debug: {get_param: Debug} Image: {get_param: BlockStorageImage} - CinderISCSIHelper: {get_param: CinderISCSIHelper} - CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize} - # Purpose of the dedicated BlockStorage nodes should be to use their local LVM - CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend} - CinderPassword: {get_param: CinderPassword} KeyName: {get_param: KeyName} Flavor: {get_param: OvercloudBlockStorageFlavor} - VirtualIP: {get_attr: [VipMap, net_ip_map, ctlplane]} - GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} - RabbitPassword: {get_param: RabbitPassword} - RabbitUserName: {get_param: RabbitUserName} - RabbitClientUseSSL: {get_param: RabbitClientUseSSL} - RabbitClientPort: {get_param: RabbitClientPort} TimeZone: {get_param: TimeZone} NtpServer: {get_param: NtpServer} UpdateIdentifier: {get_param: UpdateIdentifier} @@ -1027,13 +1010,13 @@ resources: params: '%stackname%': {get_param: 'OS::stack_name'} ServiceNetMap: {get_param: ServiceNetMap} - EndpointMap: {get_attr: [EndpointMap, endpoint_map]} ExtraConfig: {get_param: ExtraConfig} BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig} CloudDomain: {get_param: CloudDomain} ServerMetadata: {get_param: ServerMetadata} SchedulerHints: {get_param: BlockStorageSchedulerHints} NodeIndex: '%index%' + ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, config_settings]} ObjectStorageServiceChain: type: OS::TripleO::Services @@ -1502,6 +1485,8 @@ resources: allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]} blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]} deployment_identifier: {get_param: DeployIdentifier} + StepConfig: {get_attr: [BlockStorageServiceChain, step_config]} + CephStorageNodesPostDeployment: type: OS::TripleO::CephStoragePostDeployment -- cgit 1.2.3-korg