diff options
author | Dan Prince <dprince@redhat.com> | 2015-04-29 10:53:07 -0400 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2015-05-26 08:50:44 -0400 |
commit | b7ead8ec638ce9a08224032e1dced0de2817bd31 (patch) | |
tree | f724396f3b20de6533c4ba272ce498584ba63a49 | |
parent | b1b66947a021b23699d6080b2cba78cd64efc814 (diff) |
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
-rw-r--r-- | network/ports/net_ip_map.yaml | 30 | ||||
-rw-r--r-- | overcloud-resource-registry-puppet.yaml | 2 | ||||
-rw-r--r-- | overcloud-resource-registry.yaml | 2 |
3 files changed, 34 insertions, 0 deletions
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml new file mode 100644 index 00000000..b7138b25 --- /dev/null +++ b/network/ports/net_ip_map.yaml @@ -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} diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index fabfb0f1..e2a54088 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -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 diff --git a/overcloud-resource-registry.yaml b/overcloud-resource-registry.yaml index 905f8089..df67bf13 100644 --- a/overcloud-resource-registry.yaml +++ b/overcloud-resource-registry.yaml @@ -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 |