0. Cluster Configuration or not cluster configuration?
The combination of cluster configuration and `gemfire.properties` / `cache.xml` is **NOT SUPPORTED**. Properties such as `hostname-for-clients`, `server-port`, etc. should be set with GFSH options (if starting with a script) or
TODO: how else do we start a cluster?
Make sure you aren't doing any other admin operations while restarting the cluster.
0a. Make sure that the new software is available alongside the old software on your locators and servers.
1. connect to the locator
2. export configuration
export cluster-configuration --zip-file-name=./cluser-config-backup.zip
3. Backup startup scripts for both locator and servers.
You have to do this yourself, make sure to keep track of things like locator port, server ports, hostname for clients, etc.
4. Export data.
This is just in case something goes wrong. Upgrade is supported but you like your data.
### Restart Locators
5. Restart a running locator with the new version.
- stop locator
- start a new gfsh, verify new version.
- start the locator again with `start locator --name=locator_name --dir=locator_config_dir`
6. Confirm that the locator has started up and joined the cluster properly.
description on rolling upgrade page.
7. After upgrading the first locator, connect to this locator to ensure it becomes the new JMX Manager. For example:
Repeat for all locators.
### Restart Servers
8. OPTIONAL: If desired, create a backup snapshot of the server’s in-memory region data. (you've probably already done this)
gfsh>export data --member=server_name --region=region_name --file=my_region_snapshot.gfd
9. stop server. Do not export config for the server, you're using cluster config instead, right? Make a note of the server name.
10. modify `GEMFIRE` and `PATH` in the console to make sure they're right. **FIXME** -- these names are wrong.
11. In the new version, restart the stopped server.
**Make sure to set server name, `server-port`, groups, and `hostname-for-clients` if needed.** Use the same script.
start server --name=server2 --use-cluster-configuration=true --server-port=0 --group=serverGROUP2 --hostname-for-clients=bob2
12. Confirm the server is running properly. Look for failure messages.
13. Check redundancy.
14. Repeat server upgrade for all servers, one by one.
15. Upgrade clients.
plus a bit about checking member versions in a mixed cluster?