Upgrading Redis for PCF
Page last updated:
This section contains the upgrade procedure and upgrade paths for Redis for PCF.
For product versions and upgrade paths, see Upgrade Planner.
Follow the procedures in Preparing for TLS before enabling TLS in Redis for PCF v2.2.
Selecting TLS optional does not enforce the use of TLS. After deploying the tile, notify developers that they must unbind, bind, and restage existing service instances to ensure that Spring and Steeltoe apps use TLS.
Developers might also need to configure other frameworks and languages to use the TLS port as well.
For more information, see Using TLS.
After TLS has been enabled for the on-demand Redis service, disabling TLS causes downtime and service outage for all apps that connect to Redis through TLS.
If you disable TLS, you must unbind all apps bound to on-demand instances from the TLS port, rebind to the non-TLS port and then re-stage to resume service access.
This product enables a reliable upgrade experience between versions of the product deployed through Ops Manager.
For information about the upgrade paths for each released version, see Compatible Upgrade Paths above.
To upgrade to Redis for PCF:
Download the latest version of the product from Pivotal Network.
Upload the new
.pivotalfile to Ops Manager.
If required, upload the stemcell associated with the update.
If required, update any new mandatory configuration parameters.
(Optional) To enable TLS:
- Follow the procedures in Preparing for TLS.
Note: In most cases, enabling TLS does not noticeably reduce performance. Performance impact depends on the health of resources, such as network infrastructure and application architecture.
- In the Redis for PCF tile, select On-Demand Service Settings.
- Under Enable TLS, select Optional.
- Click Save.
- Follow the procedures in Preparing for TLS.
Pivotal recommends that you ensure that the Upgrade All On-Demand Service Instances errand checkbox is selected on the Review Pending Changes page.
Note: Existing service instances are not upgraded if you do not run this errand. These instances do not benefit from any security fixes or new features included in the upgrade.
Click Apply changes. The rest of the process is automated.
During the upgrade each Redis instance experiences a small period of downtime as each instance is updated with the new software components. This downtime is because Redis instances are single VMs operating in a non-high availability (HA) setup. To reduce downtime, you can enable the BOSH HotSwaps feature. Compared to traditional BOSH upgrades, this feature has been shown to reduce downtime by 75%. For instructions on how to enable this feature, see Enable BOSH HotSwaps to Reduce Downtime below.
The length of downtime depends on whether there is a stemcell update to replace the operating system image, or whether the Redis software is updated on the existing VM. Stemcell updates incur additional downtime while the IaaS creates the new VM, whereas updates without a stemcell update are faster.
Ops Manager ensures the instances are updated with the new packages and any configuration changes are applied automatically.
Upgrading to a newer version of the product does not cause any loss of data or configuration.
A redeploy causes downtime for the Redis for PCF tile. This section clarifies what events trigger a redeploy.
In Ops Manager, any field that changes the manifest causes a redeploy of the Redis for PCF tile.
In the Pivotal Application Service (PAS) tile, changes to any of the following properties can trigger downtime:
$runtime.system_domain—Runtime System Domain
..cf.ha_proxy.skip_cert_verify.value—Disable SSL certificate verification for this environment in PAS
$runtime.apps_domain—Runtime Apps Domain
..cf.nats.ips—NATS Resource Config
$self.service_network—Service Networks in Ops Manager
When the operator applies any of the above changes to PAS, downtime is triggered for:
The Redis on-demand broker
Downtime for service instances occurs only after the operator runs the
upgrade-all-service-instances BOSH errand, after all tile upgrades are completed successfully.
Any change to a field on the Redis for PCF tile causes BOSH to redeploy the
on-demand Redis broker and can cause service instance downtime when the operator runs the
Enabling BOSH HotSwaps reduces the downtime for on-demand service instances when upgrading. Benchmarking shows that enabling BOSH HotSwaps can reduce service instance downtime by 75% when upgrading. For how it works, see Changing VM Update Strategy in the BOSH documentation. To use this feature, all service bindings must use BOSH DNS instead of IP addresses.
To enable BOSH HotSwaps:
Ensure all service bindings use BOSH DNS. To do so, tell developers to unbind, bind, and restage any apps created while Redis for PCF v1.14 or earlier was installed. For instructions, see the solution in Apps Fail to Connect to the Service Instance.
Note: You must do this before enabling BOSH HotSwaps. Any apps with service bindings that do not use BOSH DNS fail to connect to the Redis service instance.
Select the BOSH HotSwaps checkbox in the On-Demand Service Settings tab.
Click Save and Apply Changes.
This section explains how changing the network after deploying Redis for PCF affects instances and apps.
To change the network for shared-VM services, click Assign AZs and Networks in the Redis for PCF tile configuration and use the Network dropdown.
You can also change the network by altering the CIDR in the BOSH Director tile.
Pivotal discourages changing the network that a pre-existing shared-VM deployment works with.
If the network is changed, app bindings for existing shared-VM instances might stop working.
To change the service network for on-demand service instances, click Assign AZs and Networks in the Redis tile configuration and use the Service Network dropdown. The service network applies to on-demand service instances.
You can also change the service network by altering the CIDR in the BOSH Director tile.
If you change the service network, you must unbind and rebind existing apps to the on-demand Redis instance.
New on-demand service instances are placed into the new service network, but existing on-demand service instances are not moved. To move the data in on-demand Redis instances to a new service network, you must create a new instance, migrate the data manually, and delete the old instance.
Similarly, changing the availability zone (AZ) for an on-demand plan only applies to new on-demand instances and does not alter existing instances.
When a new version of Redis is released, a new version of Redis for Pivotal Platform is released soon after. For more information, see the Release Policy.