Merge pull request #104467 from khenidak/fix-104329

fix 104329: check for headless before trying to release the ClusterIPs
This commit is contained in:
Kubernetes Prow Robot
2021-09-02 10:55:39 -07:00
committed by GitHub
2 changed files with 62 additions and 5 deletions

View File

@@ -762,6 +762,12 @@ func (rs *REST) handleClusterIPsForUpdatedService(oldService *api.Service, servi
}
// CASE B:
// if headless service then we bail out early (no clusterIPs management needed)
if len(oldService.Spec.ClusterIPs) > 0 && oldService.Spec.ClusterIPs[0] == api.ClusterIPNone {
return nil, nil, nil
}
// Update service from non-ExternalName to ExternalName, should release ClusterIP if exists.
if oldService.Spec.Type != api.ServiceTypeExternalName && service.Spec.Type == api.ServiceTypeExternalName {
toRelease = make(map[api.IPFamily]string)
@@ -778,11 +784,6 @@ func (rs *REST) handleClusterIPsForUpdatedService(oldService *api.Service, servi
return nil, toRelease, nil
}
// if headless service then we bail out early (no clusterIPs management needed)
if len(oldService.Spec.ClusterIPs) > 0 && oldService.Spec.ClusterIPs[0] == api.ClusterIPNone {
return nil, nil, nil
}
// upgrade and downgrade are specific to dualstack
if !utilfeature.DefaultFeatureGate.Enabled(features.IPv6DualStack) {
return nil, nil, nil