From fe4652b21d531afa0fea398ae127a1d4a31390be Mon Sep 17 00:00:00 2001 From: Dave Henderson Date: Sat, 16 May 2015 20:29:20 -0400 Subject: [PATCH] Defaulting SoftLayer hostname to machine name Signed-off-by: Dave Henderson --- drivers/softlayer/driver.go | 12 +++++++----- drivers/softlayer/driver_test.go | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/drivers/softlayer/driver.go b/drivers/softlayer/driver.go index 3f707a1a8a..a58a08dc2a 100644 --- a/drivers/softlayer/driver.go +++ b/drivers/softlayer/driver.go @@ -148,8 +148,8 @@ func GetCreateFlags() []cli.Flag { cli.StringFlag{ EnvVar: "SOFTLAYER_HOSTNAME", Name: "softlayer-hostname", - Usage: "hostname for the machine", - Value: "docker", + Usage: "hostname for the machine - defaults to machine name", + Value: "", }, cli.StringFlag{ EnvVar: "SOFTLAYER_DOMAIN", @@ -200,9 +200,6 @@ func GetCreateFlags() []cli.Flag { } func validateDeviceConfig(c *deviceConfig) error { - if c.Hostname == "" { - return fmt.Errorf("Missing required setting - --softlayer-hostname") - } if c.Domain == "" { return fmt.Errorf("Missing required setting - --softlayer-domain") } @@ -275,6 +272,11 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { PublicVLAN: flags.Int("softlayer-public-vlan-id"), PrivateVLAN: flags.Int("softlayer-private-vlan-id"), } + + if d.deviceConfig.Hostname == "" { + d.deviceConfig.Hostname = d.GetMachineName() + } + return validateDeviceConfig(d.deviceConfig) } diff --git a/drivers/softlayer/driver_test.go b/drivers/softlayer/driver_test.go index 1dbdc01dc4..c2f7e2d078 100644 --- a/drivers/softlayer/driver_test.go +++ b/drivers/softlayer/driver_test.go @@ -4,6 +4,8 @@ import ( "io/ioutil" "os" "testing" + + "github.com/stretchr/testify/assert" ) const ( @@ -81,10 +83,16 @@ func getTestDriver() (*Driver, error) { } func TestSetConfigFromFlagsSetsImage(t *testing.T) { - d, _ := getTestDriver() + d, err := getTestDriver() - img := d.deviceConfig.Image - if img != "MY_TEST_IMAGE" { - t.Fatalf("expected 'MY_TEST_IMAGE'; received %s", img) + if assert.NoError(t, err) { + assert.Equal(t, "MY_TEST_IMAGE", d.deviceConfig.Image) + } +} + +func TestHostnameDefaultsToMachineName(t *testing.T) { + d, err := getTestDriver() + if assert.NoError(t, err) { + assert.Equal(t, machineTestName, d.deviceConfig.Hostname) } }