Skip to content

Commit 2a6d76e

Browse files
authored
Merge pull request #1090 from Sneha-at/add_pv_labels
added labels for namespace and pvc names for a pv
2 parents 41af246 + a4be109 commit 2a6d76e

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

pkg/common/parameters.go

+8
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ const (
5656
tagKeyCreatedForSnapshotName = "kubernetes.io/created-for/volumesnapshot/name"
5757
tagKeyCreatedForSnapshotNamespace = "kubernetes.io/created-for/volumesnapshot/namespace"
5858
tagKeyCreatedForSnapshotContentName = "kubernetes.io/created-for/volumesnapshotcontent/name"
59+
60+
// Keys for labels to tag to PV
61+
labelKeyCreatedForClaimNamespace = "kubernetes_io_created-for_pvc_namespace"
62+
labelKeyCreatedForClaimName = "kubernetes_io_created-for_pvc_name"
63+
labelKeyCreatedForVolumeName = "kubernetes_io_created-for_pv_name"
5964
)
6065

6166
// DiskParameters contains normalized and defaulted disk parameters
@@ -122,10 +127,13 @@ func ExtractAndDefaultParameters(parameters map[string]string, driverName string
122127
p.DiskEncryptionKMSKey = v
123128
case ParameterKeyPVCName:
124129
p.Tags[tagKeyCreatedForClaimName] = v
130+
p.Labels[labelKeyCreatedForClaimName] = v
125131
case ParameterKeyPVCNamespace:
126132
p.Tags[tagKeyCreatedForClaimNamespace] = v
133+
p.Labels[labelKeyCreatedForClaimNamespace] = v
127134
case ParameterKeyPVName:
128135
p.Tags[tagKeyCreatedForVolumeName] = v
136+
p.Labels[labelKeyCreatedForVolumeName] = v
129137
case ParameterKeyLabels:
130138
paramLabels, err := ConvertLabelsStringToMap(v)
131139
if err != nil {

pkg/common/parameters_test.go

+25-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func TestExtractAndDefaultParameters(t *testing.T) {
107107
ReplicationType: "none",
108108
DiskEncryptionKMSKey: "",
109109
Tags: map[string]string{tagKeyCreatedForClaimName: "testPVCName", tagKeyCreatedForClaimNamespace: "testPVCNamespace", tagKeyCreatedForVolumeName: "testPVName", tagKeyCreatedBy: "testDriver"},
110-
Labels: map[string]string{},
110+
Labels: map[string]string{labelKeyCreatedForClaimName: "testPVCName", labelKeyCreatedForClaimNamespace: "testPVCNamespace", labelKeyCreatedForVolumeName: "testPVName"},
111111
},
112112
},
113113
{
@@ -146,6 +146,30 @@ func TestExtractAndDefaultParameters(t *testing.T) {
146146
Labels: map[string]string{"key1": "value1", "label-1": "value-a", "label-2": "label-value-2"},
147147
},
148148
},
149+
{
150+
name: "PVC labels",
151+
parameters: map[string]string{ParameterKeyPVCName: "testPVCName", ParameterKeyPVCNamespace: "testPVCNamespace", ParameterKeyPVName: "testPVName"},
152+
labels: map[string]string{},
153+
expectParams: DiskParameters{
154+
DiskType: "pd-standard",
155+
ReplicationType: "none",
156+
DiskEncryptionKMSKey: "",
157+
Tags: map[string]string{tagKeyCreatedForClaimName: "testPVCName", tagKeyCreatedForClaimNamespace: "testPVCNamespace", tagKeyCreatedForVolumeName: "testPVName", tagKeyCreatedBy: "testDriver"},
158+
Labels: map[string]string{labelKeyCreatedForClaimName: "testPVCName", labelKeyCreatedForClaimNamespace: "testPVCNamespace", labelKeyCreatedForVolumeName: "testPVName"},
159+
},
160+
},
161+
{
162+
name: "PVC labels-override",
163+
parameters: map[string]string{ParameterKeyPVCName: "testPVCName", ParameterKeyPVCNamespace: "testPVCNamespace", ParameterKeyPVName: "testPVName"},
164+
labels: map[string]string{labelKeyCreatedForClaimNamespace: "test-override"},
165+
expectParams: DiskParameters{
166+
DiskType: "pd-standard",
167+
ReplicationType: "none",
168+
DiskEncryptionKMSKey: "",
169+
Tags: map[string]string{tagKeyCreatedForClaimName: "testPVCName", tagKeyCreatedForClaimNamespace: "testPVCNamespace", tagKeyCreatedForVolumeName: "testPVName", tagKeyCreatedBy: "testDriver"},
170+
Labels: map[string]string{labelKeyCreatedForClaimName: "testPVCName", labelKeyCreatedForClaimNamespace: "testPVCNamespace", labelKeyCreatedForVolumeName: "testPVName"},
171+
},
172+
},
149173
}
150174

151175
for _, tc := range tests {

0 commit comments

Comments
 (0)