1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
heat_template_version: 2013-05-23
description: 'Common Block Storage Configuration'
parameters:
BlockStorageImage:
type: string
default: overcloud-cinder-volume
OvercloudBlockStorageFlavor:
default: baremetal
description: Flavor for block storage nodes to request when deploying.
type: string
resources:
BlockStorageAccessPolicy:
type: OS::Heat::AccessPolicy
properties:
AllowedResources:
- BlockStorage0
BlockStorageUser:
type: AWS::IAM::User
properties:
Policies: [ { get_resource: BlockStorageAccessPolicy } ]
BlockStorageKey:
type: AWS::IAM::AccessKey
properties:
UserName:
get_resource: BlockStorageUser
BlockStorage0CompletionCondition:
type: AWS::CloudFormation::WaitCondition
depends_on: controller0Config
properties:
Handle: {get_resource: BlockStorage0CompletionHandle}
Count: '1'
Timeout: '1800'
BlockStorage0CompletionHandle:
type: AWS::CloudFormation::WaitConditionHandle
BlockStorage0:
type: OS::Nova::Server
properties:
image:
{get_param: BlockStorageImage}
flavor: {get_param: OvercloudBlockStorageFlavor}
key_name: {get_param: KeyName}
metadata:
completion-handle:
get_resource: BlockStorage0CompletionHandle
os-collect-config:
cfn:
access_key_id:
get_resource: BlockStorageKey
secret_access_key:
get_attr: [ BlockStorageKey, SecretAccessKey ]
stack_name: {get_param: 'AWS::StackName'}
keystone:
host: {get_attr: [controller0, networks, ctlplane, 0]}
cinder:
db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
volume_size_mb: '5000'
service-password:
get_param: CinderPassword
include_nfs_backend: 'true'
nfs_shares:
- {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
admin-password: {get_param: AdminPassword}
rabbit:
host: {get_attr: [controller0, networks, ctlplane, 0]}
username: {get_param: RabbitUserName}
password: {get_param: RabbitPassword}
interfaces:
control: {get_param: NeutronPublicInterface}
|