From 6f20304c43bd010f656e9000f098d1d5d02cdc78 Mon Sep 17 00:00:00 2001 From: James Slagle Date: Mon, 9 Jan 2017 14:40:27 -0500 Subject: [PATCH] Add deployed-server backwards compatible template In Newton, the ctlplane port on deployed-server was called -ctlplane-port. When this code was refactored in I29fbc720c3d582cbb94385e65e4b64b101f7eac9, the -port suffix was dropped in favor of - convention, and the port resource was created directly in deployed-server.yaml instead of in a nested stack. Both of those changes were backwards incompatible -- making it impossible to upgrade to the new version of deployed-server.yaml without the ctlplane port getting deleted/recreated, which causes a change in IP address. The IP address change causes services to be misconfigured on upgrade attempts. Change-Id: I45991b60a151abf3c5e4d05a3aa7246b2d25ac5a --- deployed-server/ctlplane-port.yaml | 28 +++++++++++++++++++ deployed-server/deployed-server.yaml | 4 +-- environments/updates/README.md | 3 ++ .../update-from-deployed-server-newton.yaml | 2 ++ 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 deployed-server/ctlplane-port.yaml create mode 100644 environments/updates/update-from-deployed-server-newton.yaml diff --git a/deployed-server/ctlplane-port.yaml b/deployed-server/ctlplane-port.yaml new file mode 100644 index 0000000000..7b5cdf11c7 --- /dev/null +++ b/deployed-server/ctlplane-port.yaml @@ -0,0 +1,28 @@ +heat_template_version: ocata + +parameters: + network: + type: string + default: ctlplane + name: + type: string + replacement_policy: + type: string + default: AUTO + +resources: + + ControlPlanePort: + type: OS::Neutron::Port + properties: + network: ctlplane + name: + list_join: + - '-' + - - {get_param: name} + - port + replacement_policy: AUTO + +outputs: + fixed_ips: + value: {get_attr: [ControlPlanePort, fixed_ips]} diff --git a/deployed-server/deployed-server.yaml b/deployed-server/deployed-server.yaml index 3ff6361325..77968f6c2b 100644 --- a/deployed-server/deployed-server.yaml +++ b/deployed-server/deployed-server.yaml @@ -106,7 +106,7 @@ resources: config: {get_resource: HostsEntryConfig} server: {get_resource: deployed-server} - ControlPlanePortImpl: + ControlPlanePort: type: OS::TripleO::DeployedServer::ControlPlanePort properties: network: ctlplane @@ -123,6 +123,6 @@ outputs: networks: value: ctlplane: - - {get_attr: [ControlPlanePortImpl, fixed_ips, 0, ip_address]} + - {get_attr: [ControlPlanePort, fixed_ips, 0, ip_address]} name: value: {get_attr: [HostsEntryDeployment, hostname]} diff --git a/environments/updates/README.md b/environments/updates/README.md index 426d73297c..93714ed838 100644 --- a/environments/updates/README.md +++ b/environments/updates/README.md @@ -10,3 +10,6 @@ Contents **update-from-publicvip-on-ctlplane.yaml** To be used if the PublicVirtualIP resource was deployed as an additional VIP on the 'ctlplane'. + +**update-from-deloyed-server-newton.yaml** + To be used when updating from the deployed-server template from Newton. diff --git a/environments/updates/update-from-deployed-server-newton.yaml b/environments/updates/update-from-deployed-server-newton.yaml new file mode 100644 index 0000000000..6fe3a4cb1d --- /dev/null +++ b/environments/updates/update-from-deployed-server-newton.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::DeployedServer::ControlPlanePort: ../../deployed-server/ctlplane-port.yaml