From daa8238a415f091e5ff15aadc27060624871f5fc Mon Sep 17 00:00:00 2001 From: Evan Hazlett Date: Thu, 29 Jan 2015 12:50:47 -0500 Subject: [PATCH 1/2] use hostname for azure instead of generating Signed-off-by: Evan Hazlett --- drivers/azure/azure.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/drivers/azure/azure.go b/drivers/azure/azure.go index 4c2a1ff8a6..9c58d29581 100644 --- a/drivers/azure/azure.go +++ b/drivers/azure/azure.go @@ -108,16 +108,7 @@ func GetCreateFlags() []cli.Flag { } func NewDriver(machineName string, storePath string, caCert string, privateKey string) (drivers.Driver, error) { - t := time.Now().Format("20060102150405") - name := fmt.Sprintf("%s-%s", machineName, t) - - // trim name to 24 chars due to the azure dns name limit - if len(name) > 24 { - name = name[0:24] - - } - - driver := &Driver{MachineName: name, storePath: storePath, CaCertPath: caCert, PrivateKeyPath: privateKey} + driver := &Driver{MachineName: machineName, storePath: storePath, CaCertPath: caCert, PrivateKeyPath: privateKey} return driver, nil } @@ -173,6 +164,20 @@ func (driver *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { } func (driver *Driver) PreCreateCheck() error { + if err := driver.setUserSubscription(); err != nil { + return err + } + + // check azure DNS to make sure name is available + available, res, err := vmClient.CheckHostedServiceNameAvailability(driver.MachineName) + if err != nil { + return err + } + + if !available { + return fmt.Errorf(res) + } + return nil } From ac1d69a5fdf945f29d17b829bb02784a0bdb11f9 Mon Sep 17 00:00:00 2001 From: Evan Hazlett Date: Thu, 29 Jan 2015 13:23:27 -0500 Subject: [PATCH 2/2] updated readme with azure note in DNS; re-name from suggestion by ahmetalpbalkan Signed-off-by: Evan Hazlett --- README.md | 2 ++ drivers/azure/azure.go | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 620de7eec0..8060390eb5 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,8 @@ Options: - `--azure-subscription-id`: Your Azure subscription ID. - `--azure-subscription-cert`: Your Azure subscription cert. +Note: the machine name will be used as DNS name for the Cloud Service (e.g. machinename.cloudapp.net) + ### Amazon EC2 Create machines on [Amazon Web Services](http://aws.amazon.com). You will need an Access Key ID, Secret Access Key and a VPC ID. To find the VPC ID, login to the AWS console and go to Services -> VPC -> Your VPCs. Select the one where you would like to launch the instance. diff --git a/drivers/azure/azure.go b/drivers/azure/azure.go index 9c58d29581..0ca84839d1 100644 --- a/drivers/azure/azure.go +++ b/drivers/azure/azure.go @@ -169,13 +169,13 @@ func (driver *Driver) PreCreateCheck() error { } // check azure DNS to make sure name is available - available, res, err := vmClient.CheckHostedServiceNameAvailability(driver.MachineName) + available, response, err := vmClient.CheckHostedServiceNameAvailability(driver.MachineName) if err != nil { return err } if !available { - return fmt.Errorf(res) + return fmt.Errorf(response) } return nil