Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Commit e5e7f48

Browse files
committed
fix: Retain service clusterIPs if set
1 parent 612f3ac commit e5e7f48

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

pkg/controller/sync/dispatch/retain.go

+12-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func retainServiceFields(desiredObj, clusterObj *unstructured.Unstructured) erro
5959

6060
// ClusterIP and NodePort are allocated to Service by cluster, so retain the same if any while updating
6161

62-
// Retain clusterip
62+
// Retain clusterip and clusterips
6363
clusterIP, ok, err := unstructured.NestedString(clusterObj.Object, "spec", "clusterIP")
6464
if err != nil {
6565
return errors.Wrap(err, "Error retrieving clusterIP from cluster service")
@@ -71,6 +71,17 @@ func retainServiceFields(desiredObj, clusterObj *unstructured.Unstructured) erro
7171
return errors.Wrap(err, "Error setting clusterIP for service")
7272
}
7373
}
74+
clusterIPs, ok, err := unstructured.NestedStringSlice(clusterObj.Object, "spec", "clusterIPs")
75+
if err != nil {
76+
return errors.Wrap(err, "Error retrieving clusterIPs from cluster service")
77+
}
78+
// !ok could indicate that cluster ips was not assigned
79+
if ok && len(clusterIPs) > 0 {
80+
err := unstructured.SetNestedField(desiredObj.Object, clusterIPs, "spec", "clusterIPs")
81+
if err != nil {
82+
return errors.Wrap(err, "Error setting clusterIPs for service")
83+
}
84+
}
7485

7586
// Retain nodeports
7687
clusterPorts, ok, err := unstructured.NestedSlice(clusterObj.Object, "spec", "ports")

pkg/kubefedctl/federate/federate.go

+1
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,7 @@ func FederatedResourceFromTargetResource(typeConfig typeconfig.Interface, resour
390390
}
391391
}
392392
unstructured.RemoveNestedField(targetResource.Object, "spec", "clusterIP")
393+
unstructured.RemoveNestedField(targetResource.Object, "spec", "clusterIPs")
393394
}
394395
}
395396

0 commit comments

Comments
 (0)