mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #121008 from danwinship/proxy-startup-error-regression
Make a certain ipv4-vs-ipv6 config error non-fatal, for backward compat
This commit is contained in:
commit
3bfa9482fc
@ -678,7 +678,7 @@ func checkIPConfig(s *ProxyServer, dualStackSupported bool) (error, bool) {
|
||||
clusterCIDRs := strings.Split(s.Config.ClusterCIDR, ",")
|
||||
if badCIDRs(clusterCIDRs, badFamily) {
|
||||
errors = append(errors, fmt.Errorf("cluster is %s but clusterCIDRs contains only IPv%s addresses", clusterType, badFamily))
|
||||
if s.Config.DetectLocalMode == kubeproxyconfig.LocalModeClusterCIDR {
|
||||
if s.Config.DetectLocalMode == kubeproxyconfig.LocalModeClusterCIDR && !dualStackSupported {
|
||||
// This has always been a fatal error
|
||||
fatal = true
|
||||
}
|
||||
|
@ -817,11 +817,12 @@ func Test_detectNodeIPs(t *testing.T) {
|
||||
|
||||
func Test_checkIPConfig(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
proxy *ProxyServer
|
||||
ssErr bool
|
||||
dsErr bool
|
||||
fatal bool
|
||||
name string
|
||||
proxy *ProxyServer
|
||||
ssErr bool
|
||||
ssFatal bool
|
||||
dsErr bool
|
||||
dsFatal bool
|
||||
}{
|
||||
{
|
||||
name: "empty config",
|
||||
@ -874,9 +875,10 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
},
|
||||
PrimaryIPFamily: v1.IPv4Protocol,
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: true,
|
||||
fatal: false,
|
||||
ssErr: true,
|
||||
ssFatal: false,
|
||||
dsErr: true,
|
||||
dsFatal: false,
|
||||
},
|
||||
{
|
||||
name: "wrong-family clusterCIDR when using ClusterCIDR LocalDetector",
|
||||
@ -887,9 +889,10 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
},
|
||||
PrimaryIPFamily: v1.IPv4Protocol,
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: true,
|
||||
fatal: true,
|
||||
ssErr: true,
|
||||
ssFatal: true,
|
||||
dsErr: true,
|
||||
dsFatal: false,
|
||||
},
|
||||
|
||||
{
|
||||
@ -933,9 +936,10 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
},
|
||||
PrimaryIPFamily: v1.IPv6Protocol,
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: true,
|
||||
fatal: false,
|
||||
ssErr: true,
|
||||
ssFatal: false,
|
||||
dsErr: true,
|
||||
dsFatal: false,
|
||||
},
|
||||
|
||||
{
|
||||
@ -983,9 +987,10 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
PrimaryIPFamily: v1.IPv4Protocol,
|
||||
podCIDRs: []string{"fd01:2345::/64"},
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: true,
|
||||
fatal: true,
|
||||
ssErr: true,
|
||||
ssFatal: true,
|
||||
dsErr: true,
|
||||
dsFatal: true,
|
||||
},
|
||||
|
||||
{
|
||||
@ -1011,9 +1016,10 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
},
|
||||
PrimaryIPFamily: v1.IPv4Protocol,
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: true,
|
||||
fatal: false,
|
||||
ssErr: true,
|
||||
ssFatal: false,
|
||||
dsErr: true,
|
||||
dsFatal: false,
|
||||
},
|
||||
|
||||
{
|
||||
@ -1057,9 +1063,9 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
},
|
||||
PrimaryIPFamily: v1.IPv6Protocol,
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: false,
|
||||
fatal: false,
|
||||
ssErr: true,
|
||||
ssFatal: false,
|
||||
dsErr: false,
|
||||
},
|
||||
|
||||
{
|
||||
@ -1085,9 +1091,9 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
},
|
||||
PrimaryIPFamily: v1.IPv6Protocol,
|
||||
},
|
||||
ssErr: true,
|
||||
dsErr: false,
|
||||
fatal: false,
|
||||
ssErr: true,
|
||||
ssFatal: false,
|
||||
dsErr: false,
|
||||
},
|
||||
}
|
||||
|
||||
@ -1098,8 +1104,8 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
t.Errorf("unexpected error in single-stack case: %v", err)
|
||||
} else if err == nil && c.ssErr {
|
||||
t.Errorf("unexpected lack of error in single-stack case")
|
||||
} else if fatal != c.fatal {
|
||||
t.Errorf("expected fatal=%v, got %v", c.fatal, fatal)
|
||||
} else if fatal != c.ssFatal {
|
||||
t.Errorf("expected fatal=%v, got %v", c.ssFatal, fatal)
|
||||
}
|
||||
|
||||
err, fatal = checkIPConfig(c.proxy, true)
|
||||
@ -1107,8 +1113,8 @@ func Test_checkIPConfig(t *testing.T) {
|
||||
t.Errorf("unexpected error in dual-stack case: %v", err)
|
||||
} else if err == nil && c.dsErr {
|
||||
t.Errorf("unexpected lack of error in dual-stack case")
|
||||
} else if fatal != c.fatal {
|
||||
t.Errorf("expected fatal=%v, got %v", c.fatal, fatal)
|
||||
} else if fatal != c.dsFatal {
|
||||
t.Errorf("expected fatal=%v, got %v", c.dsFatal, fatal)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user