Bugfix: non-host canary ingress use default server name as host to merge

This commit is contained in:
qianyong 2021-05-11 18:04:23 +08:00
parent 0396b888f6
commit b6dc384afb
2 changed files with 89 additions and 2 deletions

View file

@ -1369,6 +1369,11 @@ func mergeAlternativeBackends(ing *ingress.Ingress, upstreams map[string]*ingres
}
for _, rule := range ing.Spec.Rules {
host := rule.Host
if host == "" {
host = defServerName
}
for _, path := range rule.HTTP.Paths {
upsName := upstreamName(ing.Namespace, path.Backend.ServiceName, path.Backend.ServicePort)
@ -1382,11 +1387,11 @@ func mergeAlternativeBackends(ing *ingress.Ingress, upstreams map[string]*ingres
merged := false
altEqualsPri := false
server, ok := servers[rule.Host]
server, ok := servers[host]
if !ok {
klog.Errorf("cannot merge alternative backend %s into hostname %s that does not exist",
altUps.Name,
rule.Host)
host)
continue
}