Add a network ports IP mapping resource

This patch adds a resource which constructs a Json output
parameter called net_ip_map which will allow us to easily
extract arbitrary IP addresses for each network using the
get_attr function in heat.

The goal is to use this data construct in each role
template to obtain the correct IP address on each
network.

Change-Id: I1a8c382651f8096f606ad38f78bbd76314fbae5f
This commit is contained in:
Dan Prince 2015-04-29 10:53:07 -04:00
parent b1b66947a0
commit b7ead8ec63
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,30 @@
heat_template_version: 2014-10-16
parameters:
ExternalIp:
default: ''
type: string
InternalApiIp:
default: ''
type: string
StorageIp:
default: ''
type: string
StorageMgmtIp:
default: ''
type: string
TenantIp:
default: ''
type: string
outputs:
net_ip_map:
description: >
A Hash containing a mapping of network names to assigned IPs
for a specific machine.
value:
external: {get_param: ExternalIp}
internal_api: {get_param: InternalApiIp}
storage: {get_param: StorageIp}
storage_mgmt: {get_param: StorageMgmtIp}
tenant: {get_param: TenantIp}

View File

@ -33,6 +33,8 @@ resource_registry:
OS::TripleO::Network::Storage: network/noop.yaml
OS::TripleO::Network::Tenant: network/noop.yaml
OS::TripleO::Network::Ports::NetIpMap: network/ports/net_ip_map.yaml
# Port assignments for the controller role
OS::TripleO::Controller::Ports::ExternalPort: network/ports/noop.yaml
OS::TripleO::Controller::Ports::InternalApiPort: network/ports/noop.yaml

View File

@ -31,6 +31,8 @@ resource_registry:
OS::TripleO::Network::Storage: network/noop.yaml
OS::TripleO::Network::Tenant: network/noop.yaml
OS::TripleO::Network::Ports::NetIpMap: network/ports/net_ip_map.yaml
# Port assignments for the controller role
OS::TripleO::Controller::Ports::ExternalPort: network/ports/noop.yaml
OS::TripleO::Controller::Ports::InternalApiPort: network/ports/noop.yaml