Skip to content

Commit

Permalink
Merge pull request #102703 from aojea/automated-cherry-pick-of-#10268…
Browse files Browse the repository at this point in the history
…3-upstream-release-1.20

Automated cherry pick of #102683: endpointslicemirroring controller mirror address status
  • Loading branch information
k8s-ci-robot committed Jun 9, 2021
2 parents d5eb450 + b8f8384 commit 88ad9ae
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pkg/controller/endpointslicemirroring/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func (r *reconciler) reconcile(endpoints *corev1.Endpoints, existingSlices []*di
if totalAddressesAdded >= int(r.maxEndpointsPerSubset) {
break
}
if ok := d.addAddress(address, multiKey, true); ok {
if ok := d.addAddress(address, multiKey, false); ok {
totalAddressesAdded++
} else {
numInvalidAddresses++
Expand Down
61 changes: 61 additions & 0 deletions pkg/controller/endpointslicemirroring/reconciler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,67 @@ func TestReconcile(t *testing.T) {
expectedNumSlices: 1,
expectedClientActions: 1,
expectedMetrics: &expectedMetrics{desiredSlices: 1, actualSlices: 1, desiredEndpoints: 2, addedPerSync: 2, numCreated: 1},
}, {
testName: "Endpoints with 1 subset, 2 ports, and 2 not ready addresses",
subsets: []corev1.EndpointSubset{{
Ports: []corev1.EndpointPort{{
Name: "http",
Port: 80,
Protocol: corev1.ProtocolTCP,
}, {
Name: "https",
Port: 443,
Protocol: corev1.ProtocolUDP,
}},
NotReadyAddresses: []corev1.EndpointAddress{{
IP: "10.0.0.1",
Hostname: "pod-1",
NodeName: utilpointer.StringPtr("node-1"),
}, {
IP: "10.0.0.2",
Hostname: "pod-2",
NodeName: utilpointer.StringPtr("node-2"),
}},
}},
existingEndpointSlices: []*discovery.EndpointSlice{},
expectedNumSlices: 1,
expectedClientActions: 1,
expectedMetrics: &expectedMetrics{desiredSlices: 1, actualSlices: 1, desiredEndpoints: 2, addedPerSync: 2, numCreated: 1},
}, {
testName: "Endpoints with 1 subset, 2 ports, and 2 ready and 2 not ready addresses",
subsets: []corev1.EndpointSubset{{
Ports: []corev1.EndpointPort{{
Name: "http",
Port: 80,
Protocol: corev1.ProtocolTCP,
}, {
Name: "https",
Port: 443,
Protocol: corev1.ProtocolUDP,
}},
Addresses: []corev1.EndpointAddress{{
IP: "10.1.1.1",
Hostname: "pod-11",
NodeName: utilpointer.StringPtr("node-1"),
}, {
IP: "10.1.1.2",
Hostname: "pod-12",
NodeName: utilpointer.StringPtr("node-2"),
}},
NotReadyAddresses: []corev1.EndpointAddress{{
IP: "10.0.0.1",
Hostname: "pod-1",
NodeName: utilpointer.StringPtr("node-1"),
}, {
IP: "10.0.0.2",
Hostname: "pod-2",
NodeName: utilpointer.StringPtr("node-2"),
}},
}},
existingEndpointSlices: []*discovery.EndpointSlice{},
expectedNumSlices: 1,
expectedClientActions: 1,
expectedMetrics: &expectedMetrics{desiredSlices: 1, actualSlices: 1, desiredEndpoints: 4, addedPerSync: 4, numCreated: 1},
}, {
testName: "Endpoints with 2 subsets, multiple ports and addresses",
subsets: []corev1.EndpointSubset{{
Expand Down

0 comments on commit 88ad9ae

Please sign in to comment.