From 24f40d5312fd6e92356936e22a1a5b8f4b3e04d5 Mon Sep 17 00:00:00 2001 From: Peter Belanyi Date: Wed, 24 Sep 2014 07:51:13 -0400 Subject: Add converted version of block and object storage This patch extends the previous 'Don't use merge.py for overcloud' commit with the cinder-storage.yaml and swift-storage.yaml templates. Requirements for this to deploy: 1. Block and object storage images have to be built (overcloud-cinder-volume and overcloud-swift-storage) 2. The images have to be loaded by devtest_overcloud.sh OVERCLOUD_CINDER_ID=$(load-image -d $TRIPLEO_ROOT/overcloud-cinder-volume.qcow2) OVERCLOUD_SWIFT_ID=$(load-image -d $TRIPLEO_ROOT/overcloud-swift-storage.qcow2) Change-Id: I45f9d9f051970a83e26c0fd924d7c98276958113 --- cinder-storage.yaml | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 cinder-storage.yaml (limited to 'cinder-storage.yaml') diff --git a/cinder-storage.yaml b/cinder-storage.yaml new file mode 100644 index 00000000..c80b7771 --- /dev/null +++ b/cinder-storage.yaml @@ -0,0 +1,195 @@ +heat_template_version: 2014-10-16 +description: 'Common Block Storage Configuration' +parameters: + AdminPassword: + default: '' + type: string + Image: + default: overcloud-cinder-volume + type: string + CinderISCSIHelper: + default: tgtadm + description: The iSCSI helper to use with cinder. + type: string + CinderLVMLoopDeviceSize: + default: 5000 + description: The size of the loopback file used by the cinder LVM driver. + type: number + CinderPassword: + default: unset + description: The password for the cinder service account, used by cinder-api. + hidden: true + type: string + ControllerIP: + default: '' + type: string + ExtraConfig: + default: {} + description: | + Additional configuration to inject into the cluster. The JSON should have + the following structure: + {"FILEKEY": + {"config": + [{"section": "SECTIONNAME", + "values": + [{"option": "OPTIONNAME", + "value": "VALUENAME" + } + ] + } + ] + } + } + For instance: + {"nova": + {"config": + [{"section": "default", + "values": + [{"option": "force_config_drive", + "value": "always" + } + ] + }, + {"section": "cells", + "values": + [{"option": "driver", + "value": "nova.cells.rpc_driver.CellsRPCDriver" + } + ] + } + ] + } + } + type: json + Flavor: + default: baremetal + description: Flavor for block storage nodes to request when deploying. + type: string + GlancePort: + default: "9292" + description: Glance port. + type: string + KeyName: + default: default + description: Name of an existing EC2 KeyPair to enable SSH access to the instances + type: string + NeutronEnableTunnelling: + default: "True" + type: string + NeutronNetworkType: + default: gre + type: string + NeutronPassword: + default: '' + type: string + NeutronPublicInterface: + default: eth0 + type: string + RabbitPassword: + default: '' + type: string + RabbitUserName: + default: '' + type: string + SnmpdReadonlyUserName: + default: ro_snmp_user + description: The user name for SNMPd with readonly rights running on all Overcloud nodes + type: string + SnmpdReadonlyUserPassword: + default: unset + description: The user password for SNMPd with readonly rights running on all Overcloud nodes + type: string + hidden: true + +resources: + BlockStorage: + type: OS::Nova::Server + properties: + image: + {get_param: Image} + flavor: {get_param: Flavor} + key_name: {get_param: KeyName} + user_data_format: SOFTWARE_CONFIG + networks: + - network: ctlplane + BlockStorageDeployment: + type: OS::Heat::StructuredDeployment + properties: + server: {get_resource: BlockStorage} + config: {get_resource: BlockStorageConfig} + input_values: + controller_host: {get_param: ControllerIP} + cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: ControllerIP} , '/cinder']]} + neutron_local_ip: {get_attr: [BlockStorage , networks, ctlplane, 0]} + snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} + snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} + signal_transport: NO_SIGNAL + BlockStorageConfig: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + admin-password: {get_param: AdminPassword} + keystone: + host: {get_input: controller_host} + cinder: + db: {get_input: cinder_dsn} + volume_size_mb: + get_param: CinderLVMLoopDeviceSize + service-password: + get_param: CinderPassword + iscsi-helper: + get_param: CinderISCSIHelper + snmpd: + export_MIB: UCD-SNMP-MIB + readonly_user_name: {get_input: snmpd_readonly_user_name} + readonly_user_password: {get_input: snmpd_readonly_user_password} + rabbit: + host: {get_input: controller_host} + username: {get_param: RabbitUserName} + password: {get_param: RabbitPassword} + glance: + host: {get_input: controller_host} + port: {get_param: GlancePort} + interfaces: + control: {get_param: NeutronPublicInterface} + neutron: + ovs: + local_ip: {get_input: neutron_local_ip} + tenant_network_type: {get_param: NeutronNetworkType} + enable_tunneling: {get_param: NeutronEnableTunnelling} + service-password: + get_param: NeutronPassword + config: + keystone: + host: {get_input: controller_host} + cinder: + db: {get_input: cinder_dsn} + volume_size_mb: + get_param: CinderLVMLoopDeviceSize + service-password: + get_param: CinderPassword + iscsi-helper: + get_param: CinderISCSIHelper + admin-password: {get_param: AdminPassword} + rabbit: + host: {get_input: controller_host} + username: {get_param: RabbitUserName} + password: {get_param: RabbitPassword} + interfaces: + control: {get_param: NeutronPublicInterface} + neutron: + ovs: + local_ip: { get_input: neutron_local_ip } + tenant_network_type: {get_param: NeutronNetworkType} + enable_tunneling: {get_param: NeutronEnableTunnelling} + service-password: + get_param: NeutronPassword +outputs: + hosts_entry: + value: + str_replace: + template: "IP HOST HOST.novalocal" + params: + IP: {get_attr: [BlockStorage, networks, ctlplane, 0]} + HOST: {get_attr: [BlockStorage, name]} -- cgit 1.2.3-korg