${\textsf{✅}}$ VLAN 1 network on mgmt and another vlan 100 network on bonded NICs $~~$
![image](https://github.com/user-attachments/assets/745600f3-8fdf-4a30-8d03-a8958a5557a3)
${\textsf{✅}}$ 2 Virtual machines with data and md5sum computed- 1 running, 1 stopped $~~$
![image](https://github.com/user-attachments/assets/dcf53ead-3ccb-45ff-944f-d97a8bde7a80)
```
sles@sles15-sp6-running:~> sha512sum running.txt
831658c6fa11148b1b6c91aeedf5dedb7eca9ed088b5561deaa1774d8bfce7bf322a1bcaf71b4457e688c64f2a1e6adbd71f273f9ae8bf7d482289963ac17f8a running.txt
```
```
sles@sles15-sp6-stopped:~> sha512sum stopped.txt
6c9ea237c6001f86c0aeadaed585d9dc04ddfe704992284db7c56c5fdc9c874a01c9dc47d459cf82686aefa28dbadc836340d10a01731896c3ee05fd6f813ee7 stopped.txt
```
${\textsf{✅}}$ 2 VM backup, snapshots - 1 backup when VM is running and 1 backup when VM is stooped $~~$
![image](https://github.com/user-attachments/assets/82697d8e-a035-49f1-8913-978c3c567a53)
${\textsf{✅}}$ Create a new storage class apart from default one. Use the new storage class for some basic operations. $~~$
![image](https://github.com/user-attachments/assets/afd09943-f863-4628-9b56-33a19bbfb8c9)
${\textsf{✅}}$ Import to Rancher 2.7.15 and create an RKE2 v1.27.16 guest cluster. provisioned on Harvester VM before the upgrade. $~~$
![image](https://github.com/user-attachments/assets/d3f9d96c-8b26-4f5a-a4d4-d20d85e1ba7f)
![image](https://github.com/user-attachments/assets/e5f884b7-5e93-4974-a5fc-7461f9c1b012)
${\textsf{✅}}$ Verify cloud provider and csi-driver version and running $~~$
- csi-driver: 0.1.18
- cloud provider: 0.2.4
![image](https://github.com/user-attachments/assets/256fe9fe-2a23-4c14-9413-72d78b64b0fa)
${\textsf{✅}}$ Create a new Harvester PVC for nginx deployment $~~$
![image](https://github.com/user-attachments/assets/45b8387d-33eb-4420-bab6-44df1e96d2e2)
![image](https://github.com/user-attachments/assets/c3abdaa4-460d-4cf5-8a65-c4c00dad38de)
![image](https://github.com/user-attachments/assets/ab170cdb-4079-441a-b299-16688741801a)
${\textsf{✅}}$ Verify DHCP load balancer service $~~$
![image](https://github.com/user-attachments/assets/f3375fc8-60cb-4771-9d0b-339a6806efc3)
Upgrade from v1.3.2 to v1.4.0-rc4
${\textsf{✅}}$ Successfully upgrade to v1.4.0-rc4 $~~$
* Remember to apply this workaround
https://github.com/harvester/harvester/issues/5756#issuecomment-2112855477
![image](https://github.com/user-attachments/assets/940678ab-b46d-44e0-a53e-b9e5ea2efbed)
Post Upgrade Check
${\textsf{✅}}$ Dependency check $~~$
Chart: https://github.com/harvester/harvester/tree/v1.4.0-rc4/deploy/charts/harvester/dependency_charts
Values: https://github.com/harvester/harvester/blob/v1.4.0-rc4/deploy/charts/harvester/values.yaml
- csi-snapshotter
$\color{green}{\textsf{PASS}}$ $~~$
- tag: v6.3.3
https://github.com/harvester/harvester/blob/v1.4.0-rc4/deploy/charts/harvester/dependency_charts/csi-snapshotter/values.yaml
- Harvester: csi-snapshotter
![image](https://github.com/user-attachments/assets/a09154ce-5e2f-412f-a4ce-3108733c7cdf)
- kubevirt-operator
$\color{green}{\textsf{PASS}}$ $~~$
- tag: 1.2.2-150500.8.21.1
https://github.com/harvester/harvester/blob/v1.4.0-rc4/deploy/charts/harvester/values.yaml
- Harvester: virt-operator (deployment)
![image](https://github.com/user-attachments/assets/84d3e419-0dc5-47b4-b09f-9673be6d4d6a)
- kubevirt
$\color{green}{\textsf{PASS}}$ $~~$
- tag: 1.2.2-150500.8.21.1
https://github.com/harvester/harvester/blob/v1.4.0-rc4/deploy/charts/harvester/values.yaml
- Harvester: kubevirt (crd)
![image](https://github.com/user-attachments/assets/dbd83def-4c28-4d25-bcb1-224d9418ba26)
- snapshot-validation-webhook
$\color{green}{\textsf{PASS}}$ $~~$
- tag: 6.3.3
https://github.com/harvester/harvester/blob/v1.4.0-rc4/deploy/charts/harvester/values.yaml
- Harvester: harvester-snapshot-validation-webhook- (deployment)
![image](https://github.com/user-attachments/assets/90d7b2f6-0119-4101-990a-f6b69ac86532)
- whereabouts
$\color{green}{\textsf{PASS}}$ $~~$
- tag: 0.6.3
https://github.com/harvester/harvester/blob/v1.4.0-rc4/deploy/charts/harvester/values.yaml
- Harvester: harvester-whereabouts- (pod)
![image](https://github.com/user-attachments/assets/7bcf42f5-6e48-4cd3-a1c5-3003be6520bc)
${\textsf{✅}}$ Versions of all the crds $~~$
https://github.com/harvester/harvester/tree/v1.4.0-rc4/deploy/charts/harvester-crd/templates
- addons.harvesterhci.io
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.3.2-rc2/deploy/charts/harvester-crd/templates/harvesterhci.io_addons.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.3.2-rc2/deploy/charts/harvester-crd/templates/harvesterhci.io_addons.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- keypairs.harvesterhci.io
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.3.2-rc2/deploy/charts/harvester-crd/templates/harvesterhci.io_keypairs.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.3.2-rc2/deploy/charts/harvester-crd/templates/harvesterhci.io_keypairs.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_preferences
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_preferences.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_preferences.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_settings
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_settings.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_settings.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_supportbundles
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_supportbundles.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_supportbundles.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_upgradelogs
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_upgradelogs.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_upgradelogs.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_upgrades
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_upgrades.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_upgrades.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_versions
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_versions.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_versions.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_virtualmachinebackups
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinebackups.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinebackups.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_virtualmachineimages
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachineimages.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachineimages.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_virtualmachinerestores
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinerestores.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinerestores.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_virtualmachinetemplates
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinetemplates.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinetemplates.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
- harvesterhci.io_virtualmachinetemplateversions
$\color{green}{\textsf{PASS}}$ $~~$
https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinetemplateversions.yaml
```
harvester-node-0:~ # ./check-harvester-crd.sh https://raw.githubusercontent.com/harvester/harvester/v1.4.0-rc4/deploy/charts/harvester-crd/templates/harvesterhci.io_virtualmachinetemplateversions.yaml
Observation: v1beta1
Expectation: v1beta1
True
```
${\textsf{✅}}$ Virtual machines are in same state as before and accessible $~~$
![image](https://github.com/user-attachments/assets/5597cdd2-b2ca-460f-86f8-509070c5e705)
${\textsf{✅}}$ Restore the backups, check the data $~~$
1. Restore the running backup vm to new, the data can be restored and exists
![image](https://github.com/user-attachments/assets/bf66b08e-67de-437a-a879-3e68f60a6a42)
2. Restore the stopped backup vm to new, the data can be restored and exists
![image](https://github.com/user-attachments/assets/176e2a13-5d87-4178-81cf-054dad5bc38b)
${\textsf{❌}}$ Image and volume status $~~$
* Volume state is fine
![image](https://github.com/user-attachments/assets/c7b38bcd-fac5-4df2-846e-5f9efc5dd9c2)
* One of the image display 0% progress and can't be used,
![image](https://github.com/user-attachments/assets/a4139e81-13a0-4ac5-b855-51065d0c7fcc)
* Track in issue https://github.com/harvester/harvester/issues/6894
${\textsf{✅}}$ Monitoring chart status $~~$
![image](https://github.com/user-attachments/assets/3b4c124b-ad94-4311-a86d-aa41f362f5b0)
![image](https://github.com/user-attachments/assets/176e2d7b-9d68-47d9-9d53-9a0c6da2ecb2)
![image](https://github.com/user-attachments/assets/06961cac-6045-4fe7-82ca-bf60dbd09d4b)
![image](https://github.com/user-attachments/assets/a77dd3e3-5476-4c8c-a074-ffe1a9c2ab5f)
![image](https://github.com/user-attachments/assets/5e04b32f-cef0-4412-bebf-30199bc84e2f)
${\textsf{✅}}$ VM operations are highlighted and working fine $~~$
* Start
* Stop
* Restart
* Soft reboot
* Delete
* Clone
* Migrate
* Add volume
${\textsf{✅}}$ Rancher v2.7.15 and RKE2 cluster running well $~~$
![image](https://github.com/user-attachments/assets/5b5a28a1-6a4e-4e94-bd5a-5db88d67fce7)
${\textsf{✅}}$ Upgrade Rancher to v2.8.9 $~~$
1. Can successfully upgrade Rancher to v2.8.9 and the RKE2 cluster is running
![image](https://github.com/user-attachments/assets/900c8ba5-a84e-4e4f-93b5-8e9694f4e2cf)
${\textsf{✅}}$ Upgrade RKE2 guest cluster to v1.28.14+rke2r2 $~~$
1. Can successfully upgrade the RKE2 cluster to `v1.28.14+rke2r2`
![image](https://github.com/user-attachments/assets/71fa9ef0-3410-482e-947f-e4b63f2a19a3)
![image](https://github.com/user-attachments/assets/6cc5129b-5a3d-463a-86be-bdeb4f524215)
${\textsf{✅}}$ Upgrade cloud provider and CSI driver $~~$
1. Automatically upgrade cloud provider to `v0.2.6` and csi-driver to `0.1.18`
![image](https://github.com/user-attachments/assets/06298346-aa12-4fe1-809a-35d7f618a281)
${\textsf{✅}}$ Create a new Harvester PVC $~~$
1. Create a new Harvester PVC for nginx deployment
![image](https://github.com/user-attachments/assets/6aa0c768-02b8-4d16-95a1-1f1036b10146)
![image](https://github.com/user-attachments/assets/c9aaffa4-f949-4923-8c9a-98c36f137935)
![image](https://github.com/user-attachments/assets/5e89dc72-7983-4084-bac8-5c023bce0a34)
${\textsf{✅}}$ Verify DHCP load balancer service $~~$
1. Verify DHCP load balancer service
![image](https://github.com/user-attachments/assets/d4991d4f-70ff-43bf-9f14-355ef7c4f9eb)
What's the test to develop? Please describe
Perform the four nodes upgrade test with bonded nics for v1.4.0 release testing
Prerequisite and dependency of test
Upgrade Test Path:
OS:
Upgrade Test Check
Post Upgrade Check