@@ -941,32 +941,38 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
941941 By ("VM Status.Volumes are stable-sorted by Spec.Volumes order" , func () {
942942 Expect (vm .Status .Volumes ).To (HaveLen (2 ))
943943 Expect (attachment .Status .VolumeStatus ).To (HaveLen (2 ))
944- assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 1 , 0 , false )
945- assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 0 , 1 , false )
944+ assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 0 , 0 , false )
945+ assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 1 , 1 , false )
946946 })
947947 })
948948
949949 When ("Collecting limit and usage information" , func () {
950950
951951 classicDisk1 := func () vmopv1.VirtualMachineVolumeStatus {
952952 return vmopv1.VirtualMachineVolumeStatus {
953- Name : "my-disk-0" ,
954- Type : vmopv1 .VolumeTypeClassic ,
955- Limit : ptr .To (resource .MustParse ("10Gi" )),
956- Used : ptr .To (resource .MustParse ("91Gi" )),
957- Attached : true ,
958- DiskUUID : "100" ,
953+ Name : "my-disk-0" ,
954+ Type : vmopv1 .VolumeTypeClassic ,
955+ Limit : ptr .To (resource .MustParse ("10Gi" )),
956+ Used : ptr .To (resource .MustParse ("91Gi" )),
957+ Attached : true ,
958+ DiskUUID : "100" ,
959+ ControllerBusNumber : ptr .To (int32 (1 )),
960+ ControllerType : vmopv1 .VirtualControllerTypeSCSI ,
961+ UnitNumber : ptr .To (int32 (0 )),
959962 }
960963 }
961964
962965 classicDisk2 := func () vmopv1.VirtualMachineVolumeStatus {
963966 return vmopv1.VirtualMachineVolumeStatus {
964- Name : "my-disk-1" ,
965- Type : vmopv1 .VolumeTypeClassic ,
966- Limit : ptr .To (resource .MustParse ("15Gi" )),
967- Used : ptr .To (resource .MustParse ("5Gi" )),
968- Attached : true ,
969- DiskUUID : "101" ,
967+ Name : "my-disk-1" ,
968+ Type : vmopv1 .VolumeTypeClassic ,
969+ Limit : ptr .To (resource .MustParse ("15Gi" )),
970+ Used : ptr .To (resource .MustParse ("5Gi" )),
971+ Attached : true ,
972+ DiskUUID : "101" ,
973+ ControllerBusNumber : ptr .To (int32 (1 )),
974+ ControllerType : vmopv1 .VirtualControllerTypeSCSI ,
975+ UnitNumber : ptr .To (int32 (1 )),
970976 }
971977 }
972978
@@ -990,15 +996,17 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
990996 attachment := getCNSBatchAttachmentForVolumeName (ctx , vm )
991997 Expect (attachment ).ToNot (BeNil ())
992998
993- By ("VM Status.Volumes are sorted by DiskUUID " , func () {
999+ By ("VM Status.Volumes are stable sorted by Target ID " , func () {
9941000 Expect (vm .Status .Volumes ).To (HaveLen (4 ))
9951001 Expect (attachment .Status .VolumeStatus ).To (HaveLen (2 ))
9961002
997- Expect (vm .Status .Volumes [0 ]).To (Equal (classicDisk1 ()))
998- Expect (vm .Status .Volumes [1 ]).To (Equal (classicDisk2 ()))
1003+ // Classic disks have target ID.
1004+ Expect (vm .Status .Volumes [2 ]).To (Equal (classicDisk1 ()))
1005+ Expect (vm .Status .Volumes [3 ]).To (Equal (classicDisk2 ()))
9991006
1000- assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 2 , 1 , false )
1001- assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 3 , 0 , false )
1007+ // Empty target ID so ranked before Classic disks.
1008+ assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 0 , 0 , false )
1009+ assertVMVolStatusFromBatchAttachmentStatus (vm , attachment , 1 , 1 , false )
10021010 })
10031011 }
10041012
@@ -1021,7 +1029,7 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
10211029
10221030 GinkgoHelper ()
10231031
1024- Expect (vm .Status .Volumes [3 ].Used ).To (Equal (ptr .To (resource .MustParse ("1Gi" ))))
1032+ Expect (vm .Status .Volumes [0 ].Used ).To (Equal (ptr .To (resource .MustParse ("1Gi" ))))
10251033 }
10261034
10271035 It ("includes the PVC usage in the result" , func () {
@@ -1052,7 +1060,7 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
10521060
10531061 GinkgoHelper ()
10541062
1055- Expect (vm .Status .Volumes [3 ].Limit ).To (Equal (ptr .To (resource .MustParse ("20Gi" ))))
1063+ Expect (vm .Status .Volumes [0 ].Limit ).To (Equal (ptr .To (resource .MustParse ("20Gi" ))))
10561064 }
10571065
10581066 When ("PVC has limit" , func () {
@@ -1112,7 +1120,7 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
11121120
11131121 GinkgoHelper ()
11141122
1115- Expect (vm .Status .Volumes [3 ].Crypto ).To (Equal (newCryptoStatus ()))
1123+ Expect (vm .Status .Volumes [0 ].Crypto ).To (Equal (newCryptoStatus ()))
11161124 }
11171125
11181126 BeforeEach (func () {
@@ -1130,6 +1138,31 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
11301138 assertPVCHasCrypto ()
11311139 })
11321140 })
1141+
1142+ When ("Existing status has Controller info" , func () {
1143+ BeforeEach (func () {
1144+ vm .Status .Volumes = append (vm .Status .Volumes ,
1145+ vmopv1.VirtualMachineVolumeStatus {
1146+ Name : vmVol1 .Name ,
1147+ Type : vmopv1 .VolumeTypeManaged ,
1148+ ControllerBusNumber : ptr .To (int32 (0 )),
1149+ ControllerType : vmopv1 .VirtualControllerTypeSCSI ,
1150+ UnitNumber : ptr .To (int32 (0 )),
1151+ },
1152+ vmopv1.VirtualMachineVolumeStatus {
1153+ Name : vmVol2 .Name ,
1154+ Type : vmopv1 .VolumeTypeManaged ,
1155+ ControllerBusNumber : ptr .To (int32 (0 )),
1156+ ControllerType : vmopv1 .VirtualControllerTypeSCSI ,
1157+ UnitNumber : ptr .To (int32 (1 )),
1158+ },
1159+ )
1160+ })
1161+
1162+ It ("include the Controller info and sort by controller info" , func () {
1163+ assertBaselineVolStatus ()
1164+ })
1165+ })
11331166 })
11341167 })
11351168 })
@@ -1360,7 +1393,7 @@ FaultMessage: ([]vimtypes.LocalizableMessage) \u003cnil\u003e\\n }\\n },\\n Type
13601393 attachment := getCNSBatchAttachmentForVolumeName (ctx , vm )
13611394 Expect (attachment ).ToNot (BeNil ())
13621395
1363- By ("VM Status.Volumes are stable-sorted by Spec.Volumes order" , func () {
1396+ By ("VM Status.Volumes are stable-sorted by Spec.Volumes order, and attached should be False " , func () {
13641397 Expect (vm .Status .Volumes ).To (HaveLen (1 ))
13651398 Expect (attachment .Status .VolumeStatus ).To (HaveLen (1 ))
13661399 assertVMVolStatusFromBatchAttachmentSpec (vm , attachment , 0 , 0 )
0 commit comments