mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-07-17 20:00:07 +00:00
[test] Add case for existing driver on old csi node
The driver on the old object should not appear on the new one because it represented a different node
This commit is contained in:
@@ -346,6 +346,45 @@ func TestInstallCSIDriver(t *testing.T) {
|
||||
return csiNode
|
||||
}(),
|
||||
},
|
||||
{
|
||||
name: "pre-existing node info with driver, but owned by previous node",
|
||||
existingNode: func() *v1.Node {
|
||||
node := generateNode(nil /*nodeIDs*/, nil /*labels*/, nil /*capacity*/)
|
||||
node.UID = types.UID("node1")
|
||||
return node
|
||||
}(),
|
||||
existingCSINode: func() *storage.CSINode {
|
||||
csiNode := generateCSINode(
|
||||
nodeIDMap{
|
||||
"com.example.csi.old-driver": "com.example.csi/csi-node2",
|
||||
},
|
||||
nil /*volumeLimits*/, nil, /*topologyKeys*/
|
||||
)
|
||||
csiNode.OwnerReferences[0].UID = types.UID("node2")
|
||||
return csiNode
|
||||
}(),
|
||||
driverName: "com.example.csi.driver1",
|
||||
inputNodeID: "com.example.csi/csi-node1",
|
||||
expectedNode: &v1.Node{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "node1",
|
||||
UID: types.UID("node1"),
|
||||
Annotations: map[string]string{annotationKeyNodeID: marshall(nodeIDMap{"com.example.csi.driver1": "com.example.csi/csi-node1"})},
|
||||
},
|
||||
},
|
||||
expectedCSINode: &storage.CSINode{
|
||||
ObjectMeta: getCSINodeObjectMeta(),
|
||||
Spec: storage.CSINodeSpec{
|
||||
Drivers: []storage.CSINodeDriver{
|
||||
{
|
||||
// Only the new driver should be present because the old CSINode represented a previous node.
|
||||
Name: "com.example.csi.driver1",
|
||||
NodeID: "com.example.csi/csi-node1",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "nil topology, empty node",
|
||||
driverName: "com.example.csi.driver1",
|
||||
|
||||
Reference in New Issue
Block a user