Post upgrade tasks
The following section describes actions that should be performed on the cluster to complete the upgrade of IBM Storage Scale container native to the new code levels.
Apply the patch to the cluster CR to enable network policies
Issue the following command to enable network policies to your IBM Storage Scale deployment:
oc patch cluster.scale.spectrum.ibm.com ibm-spectrum-scale --type='json' \
-p='[{"op": "add", "path": "/spec/networkPolicy", "value":{}}]'
For more information, see Network policies.
Approve the new release level
It is recommended to first use the cluster with the new code of IBM Storage Scale installed, until you are sure to permanently upgrade the cluster to the new level. When you are ready to enable the new functionality of the installed release and
lock in the new level, you need to approve an UpgradeApproval resource. An UpgradeApproval resource is automatically created by the operator if a release level change is detected after the upgrade.
For more information, see File system format changes between versions of IBM Storage Scale in the IBM Storage Scale documentation.
Complete the following steps:
-
Check to see if any cluster upgrade approvals are present that require action.
An upgrade approval that shows nothing under the
COMPLETEDfield are ones that require some action.oc get upgradeapproval -n ibm-spectrum-scaleIf an upgrade approval does not appear, check the Daemon CR status to ensure that all pods are on the new version using:
oc get daemon -n ibm-spectrum-scale -ojson | jq -r .items[].status.versions -
Check the
minReleaseLevelof the cluster:oc exec $(oc get pods -lapp.kubernetes.io/name=core -ojsonpath="{.items[0].metadata.name}" \ -n ibm-spectrum-scale) -c gpfs -n ibm-spectrum-scale -- mmlsconfig release -
To approve the upgrade approval job, execute the following command:
oc patch upgradeapproval <upgradeapproval-name> -n ibm-spectrum-scale --type='json' \ -p='[{"op": "replace", "path": "/spec/approved", "value":true}]'
Full Example:
# Check for any upgrade approvals for TYPE=cluster
$ oc get upgradeapproval -n ibm-spectrum-scale
NAME TYPE FILESYSTEM LAST SCHEDULE TIME LAST SUCCESSFUL TIME RUNNING COMPLETED
upgrade-rmlp4 cluster
# check the daemon status for the versions deployed on each core pod
$ oc get daemon -n ibm-spectrum-scale -ojson | jq .items[].status.versions
[
{
"count": "3",
"version": "5.1.9.1"
}
]
# check the current cluster release version
$ oc exec $(oc get pods -lapp.kubernetes.io/name=core -ojsonpath="{.items[0].metadata.name}" -n ibm-spectrum-scale) -c gpfs -n ibm-spectrum-scale -- mmlsconfig release
minReleaseLevel 5.1.5.0
# patch the upgrade approval
$ oc patch upgradeapproval upgrade-rmlp4 -n ibm-spectrum-scale \
> --type='json' -p='[{"op": "replace", "path": "/spec/approved", "value":true}]'
upgradeapproval.scale.spectrum.ibm.com/upgrade-rmlp4 patched
# query the upgrade approval to see it running
$ oc get upgradeapproval -n ibm-spectrum-scale
NAME TYPE FILESYSTEM LAST SCHEDULE TIME LAST SUCCESSFUL TIME RUNNING COMPLETED
upgrade-rmlp4 cluster 23s ibm-spectrum-scale/worker2/gpfs/upgradeCluster_p6Jhz9
# upgrade approval job completed
$ oc get upgradeapproval -n ibm-spectrum-scale
NAME TYPE FILESYSTEM LAST SCHEDULE TIME LAST SUCCESSFUL TIME RUNNING COMPLETED
upgrade-rmlp4 cluster 38s 6s Successful
# verify that the cluster release level has been updated
$ oc exec $(oc get pods -lapp.kubernetes.io/name=core -ojsonpath="{.items[0].metadata.name}" -n ibm-spectrum-scale) -c gpfs -n ibm-spectrum-scale -- mmlsconfig release
minReleaseLevel 5.1.9.1
For more information, see Completing the upgrade to a new level of IBM Storage Scale in IBM Storage Scale documentation.
Remote storage cluster considerations
The storage cluster is supported to be down-level from the IBM Storage Scale container native cluster, but it is strongly recommended that the versions match. CSI functionality is highly dependent upon the IBM Storage Scale release, filesystem level, and version, installed on the storage cluster. If the storage cluster is running an earlier version, some functionality may not be available. For more information about CSI features and required levels, see Hardware and software requirements in IBM Storage Scale CSI documentation. For more information about compatibility and software matrix, see Section 17.3 in IBM Storage Scale FAQ documentation.
-
Run the following step for each filesystem to upgrade to the latest metadata format:
If the storage cluster is being mounted by other GPFS client clusters that are running a prior version of code, performing the followin step will make those client cluster unable to mount filesystems from this storage cluster.
mmchfs <Filesystem> -V fullThis step is optional but recommended for enabling the functionality provided at the latest levels of code.
-
Enable
auto-inode-limitof the file system.mmchfs <Filesystem> --auto-inode-limitThe
--auto-inode-limitoption is available only at filesystem format level of 28.00 or later. Enable this option as soon as the filesystem is updated to 28.00 or later.
Remove deprecated resources
Some resources are deprecated in version 5.2.0, and they should be deleted.
-
Run the following steps to delete the deprecated resources:
oc delete ClusterRoleBinding ibm-spectrum-scale-dns oc delete ClusterRole ibm-spectrum-scale-dns