aboutsummaryrefslogtreecommitdiffstats
path: root/network/ports/external.yaml
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-04-27 11:00:52 -0400
committerDan Prince <dprince@redhat.com>2015-05-26 08:50:44 -0400
commitc527d88e9d0ab11b2490713623b2f84f64d71a12 (patch)
treec55cf7e08ebd1b534bfe70484b6cbfac18548650 /network/ports/external.yaml
parent5c8576f4556a2ffdd2d8582d77daaa56d7138c72 (diff)
Add a ports (ip address) abstraction layer
This patch adds a set of templates to create ports on isolated networks via Heat. There are 5 port templates in total which are split out according to the available overcloud networks. Change-Id: I5175ef48c1960ea0d13fc8518328db53921c70cd
Diffstat (limited to 'network/ports/external.yaml')
-rw-r--r--network/ports/external.yaml36
1 files changed, 36 insertions, 0 deletions
diff --git a/network/ports/external.yaml b/network/ports/external.yaml
new file mode 100644
index 00000000..db86b329
--- /dev/null
+++ b/network/ports/external.yaml
@@ -0,0 +1,36 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Creates a port on the external network.
+
+parameters:
+ ExternalNetName:
+ description: Name of the external neutron network
+ default: external
+ type: string
+ ControlPlaneIP: # Here for compatability with noop.yaml
+ description: IP address on the control plane
+ type: string
+
+resources:
+
+ ExternalPort:
+ type: OS::Neutron::Port
+ properties:
+ network: {get_param: ExternalNetName}
+ replacement_policy: AUTO
+
+outputs:
+ ip_address:
+ description: external network IP
+ value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+ ip_subnet:
+ # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
+ description: IP/Subnet CIDR for the external network IP
+ value:
+ list_join:
+ - ''
+ - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+ - '/'
+ - {get_attr: [ExternalPort, subnets, 0, cidr, -2]}
+ - {get_attr: [ExternalPort, subnets, 0, cidr, -1]}