Merge pull request #93442 from robscott/endpointslicemirroring-labels

Updating EndpointSliceMirroring controller to copy labels from Endpoints
This commit is contained in:
Kubernetes Prow Robot 2020-08-04 01:14:19 -07:00 committed by GitHub
commit 9d8a87b5c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 5 deletions

View File

@ -88,10 +88,7 @@ func newEndpointSlice(endpoints *corev1.Endpoints, ports []discovery.EndpointPor
ownerRef := metav1.NewControllerRef(endpoints, gvk)
epSlice := &discovery.EndpointSlice{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
discovery.LabelServiceName: endpoints.Name,
discovery.LabelManagedBy: controllerName,
},
Labels: map[string]string{},
OwnerReferences: []metav1.OwnerReference{*ownerRef},
Namespace: endpoints.Namespace,
},
@ -100,6 +97,13 @@ func newEndpointSlice(endpoints *corev1.Endpoints, ports []discovery.EndpointPor
Endpoints: []discovery.Endpoint{},
}
for label, val := range endpoints.Labels {
epSlice.Labels[label] = val
}
epSlice.Labels[discovery.LabelServiceName] = endpoints.Name
epSlice.Labels[discovery.LabelManagedBy] = controllerName
if sliceName == "" {
epSlice.GenerateName = getEndpointSlicePrefix(endpoints.Name)
} else {

View File

@ -39,7 +39,11 @@ func TestNewEndpointSlice(t *testing.T) {
addrType := discovery.AddressTypeIPv4
endpoints := v1.Endpoints{
ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"},
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: "test",
Labels: map[string]string{"foo": "bar"},
},
Subsets: []v1.EndpointSubset{{
Ports: []v1.EndpointPort{{Port: 80}},
}},
@ -51,6 +55,7 @@ func TestNewEndpointSlice(t *testing.T) {
expectedSlice := discovery.EndpointSlice{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"foo": "bar",
discovery.LabelServiceName: endpoints.Name,
discovery.LabelManagedBy: controllerName,
},
@ -65,6 +70,10 @@ func TestNewEndpointSlice(t *testing.T) {
generatedSlice := newEndpointSlice(&endpoints, ports, addrType, "")
assert.EqualValues(t, expectedSlice, *generatedSlice)
if len(endpoints.Labels) > 1 {
t.Errorf("Expected Endpoints labels to not be modified, got %+v", endpoints.Labels)
}
}
// Test helpers