Parameterize network type and tunnel types
[apex-tripleo-heat-templates.git] / swift-storage-source.yaml
1 heat_template_version: 2013-05-23
2 description: 'Common Swift Storage Configuration'
3 parameters:
4   SwiftStorageImage:
5     type: string
6     default: overcloud-swift-storage
7   SwiftReplicas:
8     type: number
9     default: 1
10     description: How many replicas to use in the swift rings.
11   OvercloudSwiftStorageFlavor:
12     default: baremetal
13     description: Flavor for Swift storage nodes to request when deploying.
14     type: string
15 resources:
16   SwiftStorage0:
17     type: OS::Nova::Server
18     properties:
19       image: {get_param: SwiftStorageImage}
20       flavor: {get_param: OvercloudSwiftStorageFlavor}
21       key_name: {get_param: KeyName}
22       user_data_format: SOFTWARE_CONFIG
23   SwiftKeystoneConfig:
24     type: OS::Heat::StructuredConfig
25     properties:
26       config:
27         keystone:
28           host: {get_input: keystone_host}
29   SwiftStorage0Keystone:
30     type: OS::Heat::StructuredDeployment
31     properties:
32       server: {get_resource: SwiftStorage0}
33       config: {get_resource: SwiftKeystoneConfig}
34       signal_transport: NO_SIGNAL
35       input_values:
36         keystone_host: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
37   SwiftStorage0Deploy:
38     type: OS::Heat::StructuredDeployment
39     properties:
40       server: {get_resource: SwiftStorage0}
41       config: {get_resource: SwiftConfig}
42       signal_transport: NO_SIGNAL
43       input_values:
44         swift_hash_suffix: {get_param: SwiftHashSuffix}
45         swift_password: {get_param: SwiftPassword}
46         swift_devices:
47           Fn::Join:
48           - ', '
49           - Merge::Map:
50               controller0:
51                 Fn::Join:
52                 - ''
53                 - - 'r1z1-'
54                   - {get_attr: [controller0, networks, ctlplane, 0]}
55                   - ':%PORT%/d1'
56               SwiftStorage0:
57                 Fn::Join:
58                 - ''
59                 - - 'r1z1-'
60                   - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
61                   - ':%PORT%/d1'
62         swift_proxy_memcache:
63           Fn::Join:
64             - ','
65             - Merge::Map:
66                 controller0:
67                   Fn::Join:
68                     - ', '
69                     - - Fn::Join:
70                         - ''
71                         - - {get_attr: [controller0, networks, ctlplane, 0]}
72                           - ':11211'
73         swift_replicas: { get_param: SwiftReplicas}