mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
Merge pull request #15845 from ddysher/service-locator
Auto commit by PR queue bot
This commit is contained in:
commit
c45625eb77
@ -309,6 +309,15 @@ func (rs *REST) ResourceLocation(ctx api.Context, id string) (*url.URL, http.Rou
|
||||
Scheme: svcScheme,
|
||||
Host: net.JoinHostPort(ip, strconv.Itoa(port)),
|
||||
}, rs.proxyTransport, nil
|
||||
} else {
|
||||
port, err := strconv.ParseInt(portStr, 10, 64)
|
||||
if err == nil && int(port) == ss.Ports[i].Port {
|
||||
ip := ss.Addresses[rand.Intn(len(ss.Addresses))].IP
|
||||
return &url.URL{
|
||||
Scheme: svcScheme,
|
||||
Host: net.JoinHostPort(ip, portStr),
|
||||
}, rs.proxyTransport, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -491,6 +491,18 @@ func TestServiceRegistryResourceLocation(t *testing.T) {
|
||||
t.Errorf("Expected %v, but got %v", e, a)
|
||||
}
|
||||
|
||||
// Test a name + port number.
|
||||
location, _, err = redirector.ResourceLocation(ctx, "foo:93")
|
||||
if err != nil {
|
||||
t.Errorf("Unexpected error: %v", err)
|
||||
}
|
||||
if location == nil {
|
||||
t.Errorf("Unexpected nil: %v", location)
|
||||
}
|
||||
if e, a := "//1.2.3.4:93", location.String(); e != a {
|
||||
t.Errorf("Expected %v, but got %v", e, a)
|
||||
}
|
||||
|
||||
// Test a scheme + name + port.
|
||||
location, _, err = redirector.ResourceLocation(ctx, "https:foo:p")
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user