Skip to content

Commit 068d845

Browse files
feat: add upgrade with another default storage class known issue (#710)
Signed-off-by: PoAn Yang <[email protected]> Co-authored-by: Jillian <[email protected]>
1 parent db9a109 commit 068d845

6 files changed

+65
-5
lines changed

docs/upgrade/troubleshooting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 8
2+
sidebar_position: 9
33
sidebar_label: Troubleshooting
44
title: "Troubleshooting"
55
---

docs/upgrade/v1-4-0-to-v1-4-1.md

+32-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ A possible cause is processes related to orphan engines of the Longhorn Instance
5151
The `instance-manager` pod cannot be drained because of the engine `pvc-9ae0e9a5-a630-4f0c-98cc-b14893c74f9e-e-0`.
5252
5353
1. Check if the engine is still running on the stuck node.
54-
54+
5555
Example:
5656
5757
```
@@ -80,4 +80,34 @@ A possible cause is processes related to orphan engines of the Longhorn Instance
8080
8181
Related issues:
8282
- [[BUG] v1.4.0 -> v1.4.1-rc1 upgrade stuck in Pre-drained and the node stay in Cordoned](https://github.com/harvester/harvester/issues/7366)
83-
- [[IMPROVEMENT] Cleanup orphaned volume runtime resources if the resources already deleted](https://github.com/longhorn/longhorn/issues/6764)
83+
- [[IMPROVEMENT] Cleanup orphaned volume runtime resources if the resources already deleted](https://github.com/longhorn/longhorn/issues/6764)
84+
85+
### 2. Upgrade with default StorageClass that is not harvester-longhorn
86+
87+
Harvester adds the annotation `storageclass.kubernetes.io/is-default-class: "true"` to `harvester-longhorn`, which is the original default StorageClass. When you replace `harvester-longhorn` with another StorageClass, the following occur:
88+
89+
- The Harvester ManagedChart shows the error message `cannot patch "harvester-longhorn" with kind StorageClass: admission webhook "validator.harvesterhci.io" denied the request: default storage class %!s(MISSING) already exists, please reset it first`.
90+
91+
- The webhook denies the upgrade request.
92+
93+
![Upgrade with another default storage class](/img/v1.4/upgrade/upgrade-with-another-default-storage-class.png)
94+
95+
You can perform any of the following workarounds:
96+
97+
- Set `harvester-longhorn` as the default StorageClass.
98+
99+
- Add `spec.values.storageClass.defaultStorageClass: false` to the `harvester` ManagedChart.
100+
101+
```
102+
kubectl edit managedchart harvester -n fleet-local
103+
```
104+
105+
- Add `timeoutSeconds: 600` to the Harvester ManagedChart spec.
106+
107+
```
108+
kubectl edit managedchart harvester -n fleet-local
109+
```
110+
111+
![Upgrade with another default storage class workaround](/img/v1.4/upgrade/upgrade-with-another-default-storage-class-workaround.png)
112+
113+
For more information, see [Issue #7375](https://github.com/harvester/harvester/issues/7375).
Loading
Loading

versioned_docs/version-v1.4/upgrade/troubleshooting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 8
2+
sidebar_position: 9
33
sidebar_label: Troubleshooting
44
title: "Troubleshooting"
55
---

versioned_docs/version-v1.4/upgrade/v1-4-0-to-v1-4-1.md

+31-1
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,34 @@ A possible cause is processes related to orphan engines of the Longhorn Instance
8080
8181
Related issues:
8282
- [[BUG] v1.4.0 -> v1.4.1-rc1 upgrade stuck in Pre-drained and the node stay in Cordoned](https://github.com/harvester/harvester/issues/7366)
83-
- [[IMPROVEMENT] Cleanup orphaned volume runtime resources if the resources already deleted](https://github.com/longhorn/longhorn/issues/6764)
83+
- [[IMPROVEMENT] Cleanup orphaned volume runtime resources if the resources already deleted](https://github.com/longhorn/longhorn/issues/6764)
84+
85+
### 2. Upgrade with default StorageClass that is not harvester-longhorn
86+
87+
Harvester adds the annotation `storageclass.kubernetes.io/is-default-class: "true"` to `harvester-longhorn`, which is the original default StorageClass. When you replace `harvester-longhorn` with another StorageClass, the following occur:
88+
89+
- The Harvester ManagedChart shows the error message `cannot patch "harvester-longhorn" with kind StorageClass: admission webhook "validator.harvesterhci.io" denied the request: default storage class %!s(MISSING) already exists, please reset it first`.
90+
91+
- The webhook denies the upgrade request.
92+
93+
![Upgrade with another default storage class](/img/v1.4/upgrade/upgrade-with-another-default-storage-class.png)
94+
95+
You can perform any of the following workarounds:
96+
97+
- Set `harvester-longhorn` as the default StorageClass.
98+
99+
- Add `spec.values.storageClass.defaultStorageClass: false` to the `harvester` ManagedChart.
100+
101+
```
102+
kubectl edit managedchart harvester -n fleet-local
103+
```
104+
105+
- Add `timeoutSeconds: 600` to the Harvester ManagedChart spec.
106+
107+
```
108+
kubectl edit managedchart harvester -n fleet-local
109+
```
110+
111+
![Upgrade with another default storage class workaround](/img/v1.4/upgrade/upgrade-with-another-default-storage-class-workaround.png)
112+
113+
For more information, see [Issue #7375](https://github.com/harvester/harvester/issues/7375).

0 commit comments

Comments
 (0)