| ... | ... |
@@ -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 |
} |