Browse code

Revert to handle error without glog.Fatal

Kenjiro Nakayama authored on 2015/04/06 23:41:24
Showing 1 changed files
... ...
@@ -1,6 +1,7 @@
1 1
 package start
2 2
 
3 3
 import (
4
+	"fmt"
4 5
 	"net"
5 6
 	"net/url"
6 7
 	"os/exec"
... ...
@@ -45,7 +46,11 @@ func BindNodeArgs(args *NodeArgs, flags *pflag.FlagSet, prefix string) {
45 45
 
46 46
 // NewDefaultNodeArgs creates NodeArgs with sub-objects created and default values set.
47 47
 func NewDefaultNodeArgs() *NodeArgs {
48
-	hostname := defaultHostname()
48
+	hostname, err := defaultHostname()
49
+	if err != nil {
50
+		hostname = "localhost"
51
+		glog.Warningf("Unable to lookup hostname, using %q: %v", hostname, err)
52
+	}
49 53
 
50 54
 	var dnsIP net.IP
51 55
 	if clusterDNS := cmdutil.Env("OPENSHIFT_DNS_ADDR", ""); len(clusterDNS) > 0 {
... ...
@@ -99,13 +104,13 @@ func (args NodeArgs) BuildSerializeableNodeConfig() (*configapi.NodeConfig, erro
99 99
 }
100 100
 
101 101
 // defaultHostname returns the default hostname for this system.
102
-func defaultHostname() string {
102
+func defaultHostname() (string, error) {
103 103
 
104 104
 	// Note: We use exec here instead of os.Hostname() because we
105 105
 	// want the FQDN, and this is the easiest way to get it.
106 106
 	fqdn, err := exec.Command("uname", "-n").Output()
107 107
 	if err != nil {
108
-		glog.Fatalf("Couldn't determine hostname: %v", err)
108
+		return "", fmt.Errorf("Couldn't determine hostname: %v", err)
109 109
 	}
110
-	return strings.TrimSpace(string(fqdn))
110
+	return strings.TrimSpace(string(fqdn)), nil
111 111
 }