Merge "Align template defaults with the client"
[apex-tripleo-heat-templates.git] / network / ports / storage.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   Creates a port on the storage network.
5
6 parameters:
7   StorageNetName:
8     description: Name of the storage neutron network
9     default: storage
10     type: string
11   PortName:
12     description: Name of the port
13     default: ''
14     type: string
15   ControlPlaneIP: # Here for compatibility with noop.yaml
16     description: IP address on the control plane
17     default: ''
18     type: string
19   FixedIPs:
20     description: >
21         Control the IP allocation for the VIP port. E.g.
22         [{'ip_address':'1.2.3.4'}]
23     default: []
24     type: json
25   IPPool: # Here for compatibility with from_pool.yaml
26     default: {}
27     type: json
28   NodeIndex: # Here for compatibility with from_pool.yaml
29     default: 0
30     type: number
31
32 resources:
33
34   StoragePort:
35     type: OS::Neutron::Port
36     properties:
37       network: {get_param: StorageNetName}
38       name: {get_param: PortName}
39       fixed_ips: {get_param: FixedIPs}
40       replacement_policy: AUTO
41
42 outputs:
43   ip_address:
44     description: storage network IP
45     value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
46   ip_subnet:
47     # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
48     description: IP/Subnet CIDR for the storage network IP
49     value:
50           list_join:
51             - ''
52             - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
53               - '/'
54               - {get_attr: [StoragePort, subnets, 0, cidr, -2]}
55               - {get_attr: [StoragePort, subnets, 0, cidr, -1]}