Skip to content

Commit e782e98

Browse files
korydraughnalanking
authored andcommitted
[irods#301] iRODS 5: Document upgrade_irods.py script
1 parent 8e81f69 commit e782e98

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

docs/getting_started/upgrading.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
#
22

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.
44

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.
66

77
It is best practice to stop an iRODS server before upgrading as it will allow the graceful completion of any ongoing transfers or requests.
88

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 of packages from APT and YUM repositories will stop the server as part of the package upgrade process. This is intentional as the administrator is required to apply any 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.
1010

11-
## Preserving `VERSION.json` history
11+
## Upgrading to iRODS 5 and later
1212

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 has been kept separate deliberately to make the upgrade process more deterministic and manageable.
1414

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:
1616

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 an unexpected catalog schema version.
1824

1925
## Migrating from Static PEPs to Dynamic PEPs
2026

0 commit comments

Comments
 (0)