Keep dynamic network creation backward compatible.
authorSofer Athlan-Guyot <sathlang@redhat.com>
Mon, 7 Aug 2017 14:04:08 +0000 (16:04 +0200)
committerSofer Athlan-Guyot <sathlang@redhat.com>
Tue, 8 Aug 2017 12:01:08 +0000 (14:01 +0200)
We had an history mapping for InternalApi to InternalNetwork.  If we
remove it then heat will want to destroy InternalNetwork and create
InternalApi which cannot work during upgrade.

This adds compat name parameters to network_data.yaml.

Closes-Bug: #1709105

Change-Id: I8ce6419a5e13a13ee6e991db5ca2196763f52d7a

network/networks.j2.yaml
network_data.yaml

index c790d37..48c509d 100644 (file)
@@ -3,9 +3,9 @@ heat_template_version: pike
 description: Create networks to split out Overcloud traffic
 
 resources:
-
   {%- for network in networks %}
-  {{network.name}}Network:
+  {%- set network_name = network.compat_name|default(network.name) %}
+  {{network_name}}Network:
     type: OS::TripleO::Network::{{network.name}}
   {%- endfor %}
 
@@ -19,8 +19,9 @@ outputs:
       # NOTE(gfidente): we need to replace the null value with a
       # string to work around https://bugs.launchpad.net/heat/+bug/1700025
       {%- for network in networks %}
+      {%- set network_name = network.compat_name|default(network.name) %}
       {{network.name_lower}}:
         yaql:
-          data: {get_attr: [{{network.name}}Network, subnet_cidr]}
+          data: {get_attr: [{{network_name}}Network, subnet_cidr]}
           expression: str($.data).replace('null', 'disabled')
       {%- endfor %}
index 947769a..6ad37df 100644 (file)
@@ -17,6 +17,8 @@
 # allocation_pools: IP range list e.g. [{'start':'10.0.0.4', 'end':'10.0.0.250}]
 # gateway_ip: gateway for the network (optional, may use parameter defaults)
 # NOTE: IP-related values set parameter defaults in templates, may be overridden.
+# compat_name: for existing stack you may need to override the default transformation
+#              for the resource's name.
 #
 # Example:
 # - name Example
@@ -39,6 +41,7 @@
   vip: true
   ip_subnet: '172.16.2.0/24'
   allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
+  compat_name: Internal
 - name: Storage
   vip: true
   name_lower: storage