|
1 | 1 | # |
2 | 2 |
|
3 | | -Upgrading is handled by the host Operating System via the package manager. Depending on your package manager, your config files will have been preserved with your local changes since the last installation. Please see [Changing the zone_key and negotiation_key](installation.md#changing-the-zone_key-and-negotiation_key) for information on server-server authentication. |
| 3 | +Upgrading is handled by the host Operating System via the package manager. Depending on your package manager, your configuration files will have been preserved with your local changes since the last installation. Please see [Changing the zone_key and negotiation_key](installation.md#changing-the-zone_key-and-negotiation_key) for information on server-server authentication. |
4 | 4 |
|
5 | | -All servers in a Zone must be running the same version of iRODS. Using inconsistent versions within a Zone may work, but is not rigorously tested. First, upgrade the iRODS Catalog Provider, then upgrade all the iRODS Catalog Consumers. |
| 5 | +All servers in a Zone must be running the same version of iRODS. Using inconsistent versions within a Zone may work, but is not tested. First, upgrade the iRODS Catalog Service Provider, then upgrade all the iRODS Catalog Service Consumers. |
6 | 6 |
|
7 | 7 | It is best practice to stop an iRODS server before upgrading as it will allow the graceful completion of any ongoing transfers or requests. |
8 | 8 |
|
9 | | -Upgrades coming from the APT and YUM repositories require only that the server be restarted after upgrade. The package does not restart the server because any required database schema updates are applied before starting the server. A database schema update could be a relatively heavy operation and will require an amount of time on large installations (hundreds of millions of records) that should be handled within a declared maintenance window. |
| 9 | +Upgrades coming from the APT and YUM repositories will cause the server to shut down. This is intentional as the administrator is required to apply catalog schema updates before restarting the server. A catalog schema update could be a relatively heavy operation and will require an amount of time on large installations (hundreds of millions of records) that should be handled within a declared maintenance window. |
10 | 10 |
|
11 | | -## Preserving `VERSION.json` history |
| 11 | +## Upgrading to iRODS 5 and later |
12 | 12 |
|
13 | | -Before upgrading from iRODS 4.1.x to 4.2+, copy `/var/lib/irods/VERSION.json` to `/var/lib/irods/VERSION.json.previous`. |
| 13 | +iRODS 5 does not upgrade the catalog or `server_config.json` on server startup. This functionality was deliberately separated to make the upgrade process more deterministic and manageable. |
14 | 14 |
|
15 | | -With this file in place, the installation history of your deployment will be preserved in the 'previous_version' stanza. |
| 15 | +Upgrading only requires two steps: |
16 | 16 |
|
17 | | -Without this file in place, a dummy stanza will be inserted to allow the upgrade to complete successfully, but any previous deployment history will be lost. |
| 17 | +1. Install the new packages. |
| 18 | +1. As the service account user, run `python3 scripts/upgrade_irods.py`. |
| 19 | + |
| 20 | +The `upgrade_irods.py` script is idempotent. |
| 21 | + |
| 22 | +!!! Warning |
| 23 | + The iRODS server will not start if it detects a difference in the catalog schema version. |
18 | 24 |
|
19 | 25 | ## Migrating from Static PEPs to Dynamic PEPs |
20 | 26 |
|
|
0 commit comments