diff --git a/cmd/kubelet/kubelet.go b/cmd/kubelet/kubelet.go index 688e7ce117..b0e8e4fc50 100644 --- a/cmd/kubelet/kubelet.go +++ b/cmd/kubelet/kubelet.go @@ -57,7 +57,13 @@ func main() { log.Fatal("Couldn't connnect to docker.") } + hostname, err := exec.Command("hostname", "-f").Output() + if err != nil { + log.Fatalf("Couldn't determine hostname: %v", err) + } + my_kubelet := kubelet.Kubelet{ + Hostname: hostname, DockerClient: dockerClient, FileCheckFrequency: *fileCheckFrequency, SyncFrequency: *syncFrequency, diff --git a/cmd/localkube/localkube.go b/cmd/localkube/localkube.go index 6eb3c96cb2..4241e1fbef 100644 --- a/cmd/localkube/localkube.go +++ b/cmd/localkube/localkube.go @@ -49,14 +49,14 @@ var ( // master flags var ( - master_port = flag.Uint("master_port", 8080, "The port to listen on. Default 8080.") - master_address = flag.String("master_address", "127.0.0.1", "The address on the local server to listen to. Default 127.0.0.1") + master_port = flag.Uint("master_port", 8080, "The port for the master to listen on. Default 8080.") + master_address = flag.String("master_address", "127.0.0.1", "The address for the master to listen to. Default 127.0.0.1") apiPrefix = flag.String("api_prefix", "/api/v1beta1", "The prefix for API requests on the server. Default '/api/v1beta1'") ) // flags that affect both var ( - etcd_server = flag.String("etcd_servers", "http://localhost:4001", "Url of local etcd server") + etcd_server = flag.String("etcd_server", "http://localhost:4001", "Url of local etcd server") ) // Starts kubelet services. Never returns. @@ -68,6 +68,7 @@ func fake_kubelet() { } my_kubelet := kubelet.Kubelet{ + Hostname: *kubelet_address, DockerClient: dockerClient, FileCheckFrequency: *fileCheckFrequency, SyncFrequency: *syncFrequency, diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index de375a3f2b..c01faf6548 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -60,6 +60,7 @@ type DockerInterface interface { // The main kubelet implementation type Kubelet struct { + Hostname string Client registry.EtcdClient DockerClient DockerInterface FileCheckFrequency time.Duration @@ -427,15 +428,10 @@ func (kl *Kubelet) getKubeletStateFromEtcd(key string, changeChannel chan<- []ap // The channel to send new configurations across // This function loops forever and is intended to be run in a go routine. func (kl *Kubelet) SyncAndSetupEtcdWatch(changeChannel chan<- []api.ContainerManifest) { - hostname, err := exec.Command("hostname", "-f").Output() - if err != nil { - log.Printf("Couldn't determine hostname : %v", err) - return - } - key := "/registry/hosts/" + strings.TrimSpace(string(hostname)) + key := "/registry/hosts/" + strings.TrimSpace(string(kl.Hostname)) // First fetch the initial configuration (watch only gives changes...) for { - err = kl.getKubeletStateFromEtcd(key, changeChannel) + err := kl.getKubeletStateFromEtcd(key, changeChannel) if err == nil { // We got a successful response, etcd is up, set up the watch. break