Use net.JoinHostPort

This commit is contained in:
Daniel Smith 2014-06-26 15:00:55 -07:00
parent de06869d30
commit 001b07b292
2 changed files with 8 additions and 4 deletions

View File

@ -21,6 +21,7 @@ import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"math/rand" "math/rand"
"net"
"net/http" "net/http"
"os" "os"
"os/exec" "os/exec"
@ -128,8 +129,7 @@ func (kl *Kubelet) RunKubelet(config_path, manifest_url, etcd_servers, address s
UpdateChannel: updateChannel, UpdateChannel: updateChannel,
} }
s := &http.Server{ s := &http.Server{
// TODO: This is broken if address is an ipv6 address. Addr: net.JoinHostPort(address, strconv.FormatUint(uint64(port), 10)),
Addr: fmt.Sprintf("%s:%d", address, port),
Handler: &handler, Handler: &handler,
ReadTimeout: 10 * time.Second, ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second,

View File

@ -17,7 +17,8 @@ limitations under the License.
package registry package registry
import ( import (
"fmt" "net"
"strconv"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels" "github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
@ -52,7 +53,10 @@ func (e *EndpointController) SyncServiceEndpoints() error {
endpoints := make([]string, len(pods)) endpoints := make([]string, len(pods))
for ix, pod := range pods { for ix, pod := range pods {
// TODO: Use port names in the service object, don't just use port #0 // TODO: Use port names in the service object, don't just use port #0
endpoints[ix] = fmt.Sprintf("%s:%d", pod.CurrentState.Host, pod.DesiredState.Manifest.Containers[0].Ports[0].HostPort) endpoints[ix] = net.JoinHostPort(
pod.CurrentState.Host,
strconv.Itoa(pod.DesiredState.Manifest.Containers[0].Ports[0].HostPort),
)
} }
err = e.serviceRegistry.UpdateEndpoints(api.Endpoints{ err = e.serviceRegistry.UpdateEndpoints(api.Endpoints{
Name: service.ID, Name: service.ID,