@@ -49,12 +49,13 @@ const (
49
49
)
50
50
51
51
type controllerServer struct {
52
- caps []* csi.ControllerServiceCapability
52
+ caps []* csi.ControllerServiceCapability
53
+ nodeID string
53
54
}
54
55
55
- func NewControllerServer (ephemeral bool ) * controllerServer {
56
+ func NewControllerServer (ephemeral bool , nodeID string ) * controllerServer {
56
57
if ephemeral {
57
- return & controllerServer {caps : getControllerServiceCapabilities (nil )}
58
+ return & controllerServer {caps : getControllerServiceCapabilities (nil ), nodeID : nodeID }
58
59
}
59
60
return & controllerServer {
60
61
caps : getControllerServiceCapabilities (
@@ -65,6 +66,7 @@ func NewControllerServer(ephemeral bool) *controllerServer {
65
66
csi .ControllerServiceCapability_RPC_CLONE_VOLUME ,
66
67
csi .ControllerServiceCapability_RPC_EXPAND_VOLUME ,
67
68
}),
69
+ nodeID : nodeID ,
68
70
}
69
71
}
70
72
@@ -165,12 +167,17 @@ func (cs *controllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol
165
167
glog .V (4 ).Infof ("successfully populated volume %s" , vol .VolID )
166
168
}
167
169
170
+ topologies := []* csi.Topology {& csi.Topology {
171
+ Segments : map [string ]string {TopologyKeyNode : cs .nodeID },
172
+ }}
173
+
168
174
return & csi.CreateVolumeResponse {
169
175
Volume : & csi.Volume {
170
- VolumeId : volumeID ,
171
- CapacityBytes : req .GetCapacityRange ().GetRequiredBytes (),
172
- VolumeContext : req .GetParameters (),
173
- ContentSource : req .GetVolumeContentSource (),
176
+ VolumeId : volumeID ,
177
+ CapacityBytes : req .GetCapacityRange ().GetRequiredBytes (),
178
+ VolumeContext : req .GetParameters (),
179
+ ContentSource : req .GetVolumeContentSource (),
180
+ AccessibleTopology : topologies ,
174
181
},
175
182
}, nil
176
183
}
0 commit comments