tripleo-heat-templates/overcloud-vlan-port.yaml
Robert Collins 91e763f748 Expose public_interface_tag support.
Proper VLAN support requires adding the IP address to a new device,
rather than br-ex/br-ctlplane. This is added in the
tripleo-image-elements change https://review.openstack.org/103449
(I3f77f72ac623792e844dbb4d501b6ab269141f8e) and here we just expose
it with appropriate glue to get the IP address from Neutron.

With this we can now describe a VLAN public interface scenario
to the undercloud and overcloud control planes.

Change-Id: I4d2194fc813aebb0708d6fddf4f05bae5f091fd8
2014-08-28 13:34:38 -04:00

39 lines
1.4 KiB
YAML

outputs:
controller0PublicIP:
description: Address for registering endpoints in the cloud.
value: {get_attr: [controller0VLANPort, fixed_ips, 0, ip_address]}
resources:
# Override the main template which can also supply a static route.
controller0_99_VLANPort:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: ControllerVLANPortConfig}
server: {get_resource: controller0}
signal_transport: NO_SIGNAL
input_values:
vlan_port:
list_join:
- '/'
- - {get_attr: [controller0_VLANPort, fixed_ips, 0, ip_address]}
# This should also be pulled out of the subnet. May need a
# neutron fix too - XXX make into a parameter and feed it
# in via _overcloud.sh for now.
- '24'
# Tell the instance to apply the default route.
# Reinstate when https://bugs.launchpad.net/heat/+bug/1336656 is
# sorted
# public_interface_route:
# get_attr: [controller0_VLANPort, fixed_ips, 0, subnet, gateway_ip]
ControllerVLANPortConfig:
type: OS::Heat::StructuredConfig
properties:
config:
neutron:
ovs:
public_interface_tag_ip: {get_input: vlan_port}
controller0_VLANPort:
type: OS::Neutron::Port
properties:
name: controller0_vlan
network: public