Prepare the cluster
- Using Rancher RKE to create a cluster of 2 Windows worker nodes and 3 Linux worker nodes.
- Rancher will add the taint
cattle.io/os=linux:NoSchedule
to Linux nodes - Kubernetes will add label
kubernetes.io/os:linux
to Linux nodes
Test steps
Repeat the following steps for each type of Longhorn installation: Rancher, Helm, Kubectl:
- Follow the Longhorn document at the PR https://github.com/longhorn/website/pull/287 to install Longhorn with toleration
cattle.io/os=linux:NoSchedule
and node selectorkubernetes.io/os:linux
- Verify that Longhorn get deployed successfully on the 3 Linux nodes
- Verify all volume basic functionalities is working ok
- Create a volume of 3 replica named
vol-1
- Add label
longhorn.io/rating:best
to 2 Linux nodes - Follow the Longhorn document at the PR https://github.com/longhorn/website/pull/287 to set 2 node selectors
kubernetes.io/os:linux
andlonghorn.io/rating:best
for Longhorn - Verify that Longhorn gets deployed successfully on the 2 Linux nodes
- Attach the
vol-1
to a node, verify that the attachment succeeds. One replica of the volume fails because it is on the down node. - Delete all failed replicas on the down node
- Delete the down node, verify the deletion succeeds
- Detach the
vol-1
- Follow the Longhorn document at the PR https://github.com/longhorn/website/pull/287 to set 1 node selector
kubernetes.io/os:linux
for Longhorn - Verify that Longhorn get redeployed successfully on the 3 Linux nodes
- Attach the
vol-1
to a node, verify that the attachment succeeds. Longhorn starts rebuild the 3rd replica on the new node