Merge "Add networking-vpp ML2 mechanism driver support"
[apex-tripleo-heat-templates.git] / puppet / all-nodes-config.yaml
index 5f56fe2..60290f6 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-10-14
+heat_template_version: ocata
 description: 'All Nodes Config for Puppet'
 
 parameters:
@@ -55,9 +55,18 @@ parameters:
   StackAction:
     type: string
     description: >
-      Heat action on performed top-level stack.
+      Heat action on performed top-level stack.  Note StackUpdateType is
+      set to UPGRADE when a major-version upgrade is in progress.
     constraints:
     - allowed_values: ['CREATE', 'UPDATE']
+  StackUpdateType:
+    type: string
+    description: >
+      Type of update, to differentiate between UPGRADE and UPDATE cases
+      when StackAction is UPDATE (both are the same stack action).
+    constraints:
+    - allowed_values: ['', 'UPGRADE']
+    default: ''
   # NOTE(jaosorior): This is being set as IPA as it's the first
   # CA we'll actually be testing out. But we can change this if
   # people request it.
@@ -68,6 +77,32 @@ parameters:
     type: boolean
     default: false
 
+  InternalApiNetName:
+    default: internal_api
+    description: The name of the internal API network.
+    type: string
+  ExternalNetName:
+    default: external
+    description: The name of the external network.
+    type: string
+  ManagementNetName:
+    default: management
+    description: The name of the management network.
+    type: string
+  StorageNetName:
+    default: storage
+    description: The name of the storage network.
+    type: string
+  StorageMgmtNetName:
+    default: storage_mgmt
+    description: The name of the Storage management network.
+    type: string
+  TenantNetName:
+    default: tenant
+    description: The name of the tenant network.
+    type: string
+
+
 resources:
 
   allNodesConfigImpl:
@@ -144,6 +179,7 @@ resources:
                 deploy_identifier: {get_param: DeployIdentifier}
                 update_identifier: {get_param: UpdateIdentifier}
                 stack_action: {get_param: StackAction}
+                stack_update_type: {get_param: StackUpdateType}
           vip_data:
             map_merge:
               # Dynamically generate per-service VIP data based on enabled_services
@@ -175,21 +211,21 @@ resources:
                   get_param: [NetVipMap, {get_param: [ServiceNetMap, keystone_admin_api_network]}]
                 keystone_public_api_vip:
                   get_param: [NetVipMap, {get_param: [ServiceNetMap, keystone_public_api_network]}]
-                public_virtual_ip: {get_param: [NetVipMap, external]}
+                public_virtual_ip: {get_param: [NetVipMap, {get_param: ExternalNetName}]}
                 controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
-                internal_api_virtual_ip: {get_param: [NetVipMap, internal_api]}
-                storage_virtual_ip: {get_param: [NetVipMap, storage]}
-                storage_mgmt_virtual_ip: {get_param: [NetVipMap, storage_mgmt]}
+                internal_api_virtual_ip: {get_param: [NetVipMap, {get_param: InternalApiNetName}]}
+                storage_virtual_ip: {get_param: [NetVipMap, {get_param: StorageNetName}]}
+                storage_mgmt_virtual_ip: {get_param: [NetVipMap, {get_param: StorageMgmtNetName}]}
                 redis_vip: {get_param: RedisVirtualIP}
                 # public_virtual_ip and controller_virtual_ip are needed in
                 # both HAproxy & keepalived.
-                tripleo::haproxy::public_virtual_ip: {get_param: [NetVipMap, external]}
+                tripleo::haproxy::public_virtual_ip: {get_param: [NetVipMap, {get_param: ExternalNetName}]}
                 tripleo::haproxy::controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
-                tripleo::keepalived::public_virtual_ip: {get_param: [NetVipMap, external]}
+                tripleo::keepalived::public_virtual_ip: {get_param: [NetVipMap, {get_param: ExternalNetName}]}
                 tripleo::keepalived::controller_virtual_ip: {get_param: [NetVipMap, ctlplane]}
-                tripleo::keepalived::internal_api_virtual_ip: {get_param: [NetVipMap, internal_api]}
-                tripleo::keepalived::storage_virtual_ip: {get_param: [NetVipMap, storage]}
-                tripleo::keepalived::storage_mgmt_virtual_ip: {get_param: [NetVipMap, storage_mgmt]}
+                tripleo::keepalived::internal_api_virtual_ip: {get_param: [NetVipMap, {get_param: InternalApiNetName}]}
+                tripleo::keepalived::storage_virtual_ip: {get_param: [NetVipMap, {get_param: StorageNetName}]}
+                tripleo::keepalived::storage_mgmt_virtual_ip: {get_param: [NetVipMap, {get_param: StorageMgmtNetName}]}
                 tripleo::keepalived::redis_virtual_ip: {get_param: RedisVirtualIP}
                 tripleo::redis_notification::haproxy_monitor_ip: {get_param: [NetVipMap, ctlplane]}
                 cloud_name_external: {get_param: cloud_name_external}