@@ -91,16 +91,17 @@ func (c *controllerCommon) getNodeVMSet(nodeName types.NodeName) (VMSet, error)
91
91
}
92
92
93
93
// AttachDisk attaches a vhd to vm. The vhd must exist, can be identified by diskName, diskURI.
94
- func (c * controllerCommon ) AttachDisk (isManagedDisk bool , diskName , diskURI string , nodeName types.NodeName , cachingMode compute.CachingTypes ) error {
94
+ // return (lun, error)
95
+ func (c * controllerCommon ) AttachDisk (isManagedDisk bool , diskName , diskURI string , nodeName types.NodeName , cachingMode compute.CachingTypes ) (int32 , error ) {
95
96
vmset , err := c .getNodeVMSet (nodeName )
96
97
if err != nil {
97
- return err
98
+ return - 1 , err
98
99
}
99
100
100
101
instanceid , err := c .cloud .InstanceID (context .TODO (), nodeName )
101
102
if err != nil {
102
103
klog .Warningf ("failed to get azure instance id (%v)" , err )
103
- return fmt .Errorf ("failed to get azure instance id for node %q (%v)" , nodeName , err )
104
+ return - 1 , fmt .Errorf ("failed to get azure instance id for node %q (%v)" , nodeName , err )
104
105
}
105
106
106
107
diskOpMutex .LockKey (instanceid )
@@ -109,11 +110,11 @@ func (c *controllerCommon) AttachDisk(isManagedDisk bool, diskName, diskURI stri
109
110
lun , err := c .GetNextDiskLun (nodeName )
110
111
if err != nil {
111
112
klog .Warningf ("no LUN available for instance %q (%v)" , nodeName , err )
112
- return fmt .Errorf ("all LUNs are used, cannot attach volume (%s, %s) to instance %q (%v)" , diskName , diskURI , instanceid , err )
113
+ return - 1 , fmt .Errorf ("all LUNs are used, cannot attach volume (%s, %s) to instance %q (%v)" , diskName , diskURI , instanceid , err )
113
114
}
114
115
115
116
klog .V (2 ).Infof ("Trying to attach volume %q lun %d to node %q." , diskURI , lun , nodeName )
116
- return vmset .AttachDisk (isManagedDisk , diskName , diskURI , nodeName , lun , cachingMode )
117
+ return lun , vmset .AttachDisk (isManagedDisk , diskName , diskURI , nodeName , lun , cachingMode )
117
118
}
118
119
119
120
// DetachDisk detaches a disk from host. The vhd can be identified by diskName or diskURI.
0 commit comments