From d0236047270924dec7a63863ff4c2af9cff1aa1a Mon Sep 17 00:00:00 2001 From: Ryan Brady Date: Wed, 8 Jan 2014 09:06:32 -0500 Subject: Add optional cinder storage node to overcloud Mergeable block storage yaml template. Makefile updated to create a overcloud-with-block-storage template to deploy an additional machine as a block storage node. Change-Id: I37c06cde114592507a4583f7ec53ffac123d66e3 --- Makefile | 6 +++++ block-storage.yaml | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 block-storage.yaml diff --git a/Makefile b/Makefile index b05f951a..8ffc8b86 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,12 @@ overcloud.yaml: overcloud-source.yaml nova-compute-instance.yaml swift-source.ya python ./tripleo_heat_merge/merge.py overcloud-source.yaml swift-source.yaml > $@.tmp mv $@.tmp $@ +overcloud-with-block-storage.yaml: overcloud-source.yaml nova-compute-instance.yaml swift-source.yaml block-storage.yaml + # $^ won't work here because we want to list nova-compute-instance.yaml as + # a prerequisite but don't want to pass it into merge.py + python ./tripleo_heat_merge/merge.py overcloud-source.yaml swift-source.yaml block-storage.yaml > $@.tmp + mv $@.tmp $@ + undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-source.yaml python ./tripleo_heat_merge/merge.py $^ > $@.tmp mv $@.tmp $@ diff --git a/block-storage.yaml b/block-storage.yaml new file mode 100644 index 00000000..d7548c9c --- /dev/null +++ b/block-storage.yaml @@ -0,0 +1,66 @@ +HeatTemplateFormatVersion: '2012-12-12' +Description: 'Common Block Storage Configuration' +Parameters: + BlockStorageImage: + Type: String + Default: overcloud-cinder-volume + KeystoneHost: + Type: String + Default: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] } + MySQLHost: + Type: String + Default: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] } + RabbitHost: + Type: String + Default: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] } + RabbitPassword: + Type: String + Default: "guest" + NoEcho: true +Resources: + BlockStorageAccessPolicy: + Type: OS::Heat::AccessPolicy + Properties: + AllowedResources: + - BlockStorage0 + BlockStorageUser: + Type: AWS::IAM::User + Properties: + Policies: [ { Ref: BlockStorageAccessPolicy } ] + BlockStorageKey: + Type: AWS::IAM::AccessKey + Properties: + UserName: + Ref: BlockStorageUser + BlockStorage0: + Type: OS::Nova::Server + Properties: + image: + {Ref: BlockStorageImage} + flavor: {Ref: Flavor} + key_name: {Ref: KeyName} + InstanceType: '0' + ImageId: '0' + Metadata: + os-collect-config: + cfn: + access_key_id: + Ref: BlockStorageKey + secret_access_key: + Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ] + stack_name: {Ref: 'AWS::StackName'} + OpenStack::ImageBuilder::Elements: [ cinder ] + keystone: + host: {Ref: KeystoneHost} + cinder: + db: {"Fn::Join": ['', ['mysql://cinder:unset@', {Ref: MySQLHost}, '/cinder']]} + volume_size_mb: '5000' + service-password: + Ref: CinderPassword + volume: 'true' + admin-password: {Ref: AdminPassword} + rabbit: + host: {Ref: RabbitHost} + password: {Ref: RabbitPassword} + interfaces: + control: {Ref: NeutronPublicInterface} \ No newline at end of file -- cgit 1.2.3-korg