From ef5eed73b3a4cbe18282a6ced08cb05e63850b3c Mon Sep 17 00:00:00 2001 From: Patrik Cyvoct Date: Sat, 18 Apr 2020 15:04:38 +0200 Subject: [PATCH] feat: expose ZoneTopologyKey Signed-off-by: Patrik Cyvoct --- driver/controller.go | 4 +-- driver/driver.go | 2 +- driver/helpers.go | 10 +++--- driver/helpers_test.go | 70 +++++++++++++++++++++--------------------- driver/node.go | 2 +- 5 files changed, 44 insertions(+), 44 deletions(-) diff --git a/driver/controller.go b/driver/controller.go index 9833fa5..44b67ef 100644 --- a/driver/controller.go +++ b/driver/controller.go @@ -186,7 +186,7 @@ func (d *controllerService) CreateVolume(ctx context.Context, req *csi.CreateVol return nil, status.Error(codes.Internal, err.Error()) } segments := map[string]string{ - zoneTopologyKey: string(volumeResp.Volume.Zone), + ZoneTopologyKey: string(volumeResp.Volume.Zone), } return &csi.CreateVolumeResponse{ @@ -213,7 +213,7 @@ func (d *controllerService) CreateVolume(ctx context.Context, req *csi.CreateVol } segments := map[string]string{ - zoneTopologyKey: string(volumeResp.Volume.Zone), + ZoneTopologyKey: string(volumeResp.Volume.Zone), } return &csi.CreateVolumeResponse{ diff --git a/driver/driver.go b/driver/driver.go index 37a0019..de28960 100644 --- a/driver/driver.go +++ b/driver/driver.go @@ -19,7 +19,7 @@ import ( const ( // DriverName is the official name for the Scaleway CSI plugin DriverName = "csi.scaleway.com" - zoneTopologyKey = "topology." + DriverName + "/zone" + ZoneTopologyKey = "topology." + DriverName + "/zone" ) // Mode represents the mode in which the CSI driver started diff --git a/driver/helpers.go b/driver/helpers.go index 51aa495..dcb6dc4 100644 --- a/driver/helpers.go +++ b/driver/helpers.go @@ -55,10 +55,10 @@ func chooseZones(accessibilityRequirements *csi.TopologyRequirement, snapshotZon topologyKeys := req.GetSegments() for topologyKey, topologyValue := range topologyKeys { switch topologyKey { - case zoneTopologyKey: + case ZoneTopologyKey: zone, err := scw.ParseZone(topologyValue) if err != nil { - klog.Warningf("the given value for requisite %s: %s is not a valid zone", zoneTopologyKey, topologyValue) + klog.Warningf("the given value for requisite %s: %s is not a valid zone", ZoneTopologyKey, topologyValue) continue } if snapshotZone == scw.Zone("") || snapshotZone == zone { @@ -76,10 +76,10 @@ func chooseZones(accessibilityRequirements *csi.TopologyRequirement, snapshotZon topologyKeys := pref.GetSegments() for topologyKey, topologyValue := range topologyKeys { switch topologyKey { - case zoneTopologyKey: + case ZoneTopologyKey: zone, err := scw.ParseZone(topologyValue) if err != nil { - klog.Warningf("the given value for preferred %s: %s is not a valid zone", zoneTopologyKey, topologyValue) + klog.Warningf("the given value for preferred %s: %s is not a valid zone", ZoneTopologyKey, topologyValue) continue } if snapshotZone == scw.Zone("") || snapshotZone == zone { @@ -212,7 +212,7 @@ func getVolumeRequestCapacity(capacityRange *csi.CapacityRange) (int64, error) { func newAccessibleTopology(zone scw.Zone) []*csi.Topology { return []*csi.Topology{ { - Segments: map[string]string{zoneTopologyKey: zone.String()}, + Segments: map[string]string{ZoneTopologyKey: zone.String()}, }, } } diff --git a/driver/helpers_test.go b/driver/helpers_test.go index 447ffed..f7d7579 100644 --- a/driver/helpers_test.go +++ b/driver/helpers_test.go @@ -165,7 +165,7 @@ func Test_chooseZones(t *testing.T) { Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, @@ -179,14 +179,14 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, @@ -200,19 +200,19 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, @@ -226,24 +226,24 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, @@ -257,24 +257,24 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: "fr-par-4", + ZoneTopologyKey: "fr-par-4", }, }, { Segments: map[string]string{ - zoneTopologyKey: "fr-par-3", + ZoneTopologyKey: "fr-par-3", }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: "fr-par-4", + ZoneTopologyKey: "fr-par-4", }, }, { Segments: map[string]string{ - zoneTopologyKey: "fr-par-3", + ZoneTopologyKey: "fr-par-3", }, }, }, @@ -288,14 +288,14 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: "fr-ams", + ZoneTopologyKey: "fr-ams", }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: "fr-par", + ZoneTopologyKey: "fr-par", }, }, }, @@ -330,7 +330,7 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, @@ -344,19 +344,19 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, @@ -370,19 +370,19 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, @@ -396,24 +396,24 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, @@ -427,24 +427,24 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, @@ -458,26 +458,26 @@ func Test_chooseZones(t *testing.T) { Preferred: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar1), + ZoneTopologyKey: string(scw.ZoneFrPar1), }, }, }, Requisite: []*csi.Topology{ { Segments: map[string]string{ - zoneTopologyKey: string(scw.ZoneFrPar2), + ZoneTopologyKey: string(scw.ZoneFrPar2), }, }, }, }, zone: scw.Zone(""), expected: nil, - err: status.Errorf(codes.InvalidArgument, "%s: %s is specified in preferred but not in requisite", zoneTopologyKey, scw.ZoneFrPar1), + err: status.Errorf(codes.InvalidArgument, "%s: %s is specified in preferred but not in requisite", ZoneTopologyKey, scw.ZoneFrPar1), }, } diff --git a/driver/node.go b/driver/node.go index 3bc9a81..4fb9b78 100644 --- a/driver/node.go +++ b/driver/node.go @@ -472,7 +472,7 @@ func (d *nodeService) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoReque MaxVolumesPerNode: maxVolumesPerNode - 1, // One is already used by the l_ssd root volume AccessibleTopology: &csi.Topology{ Segments: map[string]string{ - zoneTopologyKey: d.nodeZone.String(), + ZoneTopologyKey: d.nodeZone.String(), }, }, }, nil