You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Check that your upgrade path is supported by referring to the <PaletteVertexUrlMapperedition={props.edition}text="Supported Upgrade Paths"url="/upgrade#supported-upgrade-paths"/>.
23
23
24
-
- If upgrading from version **4.7.15**, you must run an additional script to prepare{props.version}for the upgrade.
24
+
- If upgrading from version **4.7.15**, you must run an additional script before upgrading{props.version}. This script changes the access mode of the `zot` deployment's PersistentVolumeClaim (PVC) from `RWX` (ReadWriteMany) to `RWO` (ReadWriteOnce), which is required for the upgrade process.
25
25
26
26
<details>
27
27
28
-
<summary> Click to expand the instructions for the script </summary>
28
+
<summary> Click to expand the instructions for the 4.7.15 script </summary>
29
29
30
30
1. Log in to Local UI of the leader node of your Palette management cluster. For example, `https://<palette-leader-node-ip>:5080`.
- If upgrading from version **4.7.27**, you must run an additional script before upgrading {props.version}. This script ensures the `linstor-lvm-storage` StorageClass has correct parameters and safely recreates the PVC while preserving data.
308
+
309
+
<details>
310
+
311
+
<summary> Click to expand the instructions for the 4.7.27 script </summary>
312
+
313
+
1. Log in to Local UI of the leader node of your Palette management cluster. For example, `https://<palette-leader-node-ip>:5080`.
314
+
315
+
2. From the left main menu, click **Cluster**.
316
+
317
+
3. On the **Overview** tab, within the **Environment** section, click the link for the **Admin Kubeconfig File** to download the kubeconfig file.
318
+
319
+
4. On your local machine, ensure you have `kubectl` installed and set the `KUBECONFIG` environment variable to point to the file.
5. Use the following command to create a script named `recreate.sh`.
326
+
327
+
The script ensures that the `linstor-lvm-storage` StorageClass has the correct parameters (`resourceGroup: lvm-ha` and `placementCount: 3`). If the StorageClass does not exist or has different parameters, it recreates it. Then, it safely recreates a specified PVC to bind to a new PV while preserving data, handling deployments with `volumeBindingMode=WaitForFirstConsumer` by scaling down the deployment first.
328
+
329
+
```bash
330
+
cat > recreate.sh <<'SCRIPT'
331
+
#!/bin/bash
332
+
# Recreate a PVC with updated StorageClass configuration
333
+
# Ensures the linstor-lvm-storage StorageClass exists with correct parameters,
334
+
# then recreates the specified PVC which may bind to a new PV.
335
+
# Safely handles volumeBindingMode=WaitForFirstConsumer by scaling down the deployment first.
336
+
337
+
set -euo pipefail
338
+
339
+
NAMESPACE=${1:-zot-system}
340
+
PVC_NAME=${2:-zot-pvc}
341
+
DEPLOY_NAME=${3:-zot}
342
+
343
+
344
+
#!/bin/bash
345
+
set -e
346
+
347
+
SC_NAME="linstor-lvm-storage"
348
+
349
+
echo "Checking for existing StorageClass '$SC_NAME'..."
350
+
351
+
if kubectl get storageclass $SC_NAME >/dev/null 2>&1; then
0 commit comments