diff --git a/pkg/gce-pd-csi-driver/controller.go b/pkg/gce-pd-csi-driver/controller.go index d27937b0b..647a9fa73 100644 --- a/pkg/gce-pd-csi-driver/controller.go +++ b/pkg/gce-pd-csi-driver/controller.go @@ -1745,7 +1745,7 @@ func generateCreateVolumeResponse(disk *gce.CloudDisk, zones []string, params co } func cleanSelfLink(selfLink string) string { - r, _ := regexp.Compile("https:\\/\\/www.*apis.com\\/.*(v1|beta|alpha)\\/") + r, _ := regexp.Compile(`https://www.*apis.com/[^/]+/(v1|beta|alpha)/`) return r.ReplaceAllString(selfLink, "") } diff --git a/pkg/gce-pd-csi-driver/controller_test.go b/pkg/gce-pd-csi-driver/controller_test.go index d97815f10..5f4b572f6 100644 --- a/pkg/gce-pd-csi-driver/controller_test.go +++ b/pkg/gce-pd-csi-driver/controller_test.go @@ -3304,6 +3304,16 @@ func TestCleanSelfLink(t *testing.T) { in: "https://www.partnerapis.com/compute/alpha/projects/project/zones/zone/disks/disk", want: "projects/project/zones/zone/disks/disk", }, + { + name: "project name contains keyword", + in: "https://www.partnerapis.com/compute/alpha/projects/proj-alpha/zones/zone/disks/disk", + want: "projects/proj-alpha/zones/zone/disks/disk", + }, + { + name: "project name contains keyword 2", + in: "https://www.partnerapis.com/compute/v1/projects/proj-alpha/zones/zone/disks/disk", + want: "projects/proj-alpha/zones/zone/disks/disk", + }, } for _, tc := range testCases {