11package azure
22
33import (
4+ "errors"
45 "fmt"
56 "net"
67 "os"
@@ -142,7 +143,7 @@ func (driver *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
142143 }
143144
144145 if (driver .SubscriptionID == "" || driver .SubscriptionCert == "" ) && driver .PublishSettingsFilePath == "" {
145- return fmt . Errorf ("Please specify azure subscription params using options: --azure-subscription-id and --azure-subscription-cert or --azure-publish-settings-file" )
146+ return errors . New ("Please specify azure subscription params using options: --azure-subscription-id and --azure-subscription-cert or --azure-publish-settings-file" )
146147 }
147148
148149 if image == "" {
@@ -155,7 +156,7 @@ func (driver *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
155156 driver .Size = flags .String ("azure-size" )
156157
157158 if strings .ToLower (username ) == "docker" {
158- return fmt . Errorf ("'docker' is not valid user name for docker host. Please specify another user name" )
159+ return errors . New ("'docker' is not valid user name for docker host. Please specify another user name" )
159160 }
160161
161162 driver .UserName = username
@@ -181,7 +182,7 @@ func (driver *Driver) PreCreateCheck() error {
181182 }
182183
183184 if ! available {
184- return fmt . Errorf (response )
185+ return errors . New (response )
185186 }
186187
187188 return nil
@@ -221,12 +222,7 @@ func (driver *Driver) Create() error {
221222
222223 log .Info ("Waiting for SSH..." )
223224 log .Debugf ("Host: %s SSH Port: %d" , driver .getHostname (), driver .SSHPort )
224-
225- if err := ssh .WaitForTCP (fmt .Sprintf ("%s:%d" , driver .getHostname (), driver .SSHPort )); err != nil {
226- return err
227- }
228-
229- return nil
225+ return ssh .WaitForTCP (fmt .Sprintf ("%s:%d" , driver .getHostname (), driver .SSHPort ))
230226}
231227
232228func (driver * Driver ) runSSHCommand (command string , retries int ) error {
@@ -258,15 +254,14 @@ func (driver *Driver) GetIP() (string, error) {
258254}
259255
260256func (driver * Driver ) GetState () (state.State , error ) {
261- err := driver .setUserSubscription ()
262- if err != nil {
257+ if err := driver .setUserSubscription (); err != nil {
263258 return state .Error , err
264259 }
265260
266261 dockerVM , err := vmClient .GetVMDeployment (driver .MachineName , driver .MachineName )
267262 if err != nil {
268263 if strings .Contains (err .Error (), "Code: ResourceNotFound" ) {
269- return state .Error , fmt . Errorf ("Azure host was not found. Please check your Azure subscription." )
264+ return state .Error , errors . New ("Azure host was not found. Please check your Azure subscription." )
270265 }
271266
272267 return state .Error , err
@@ -286,134 +281,97 @@ func (driver *Driver) GetState() (state.State, error) {
286281}
287282
288283func (driver * Driver ) Start () error {
289- err := driver .setUserSubscription ()
290- if err != nil {
284+ if err := driver .setUserSubscription (); err != nil {
291285 return err
292286 }
293287
294- vmState , err := driver .GetState ()
295- if err != nil {
288+ if vmState , err := driver .GetState (); err != nil {
296289 return err
297- }
298- if vmState == state .Running || vmState == state .Starting {
290+ } else if vmState == state .Running || vmState == state .Starting {
299291 log .Infof ("Host is already running or starting" )
300292 return nil
301293 }
302294
303295 log .Debugf ("starting %s" , driver .MachineName )
304296
305- err = vmClient .StartRole (driver .MachineName , driver .MachineName , driver .MachineName )
306- if err != nil {
297+ if err := vmClient .StartRole (driver .MachineName , driver .MachineName , driver .MachineName ); err != nil {
307298 return err
308299 }
309- err = driver .waitForSSH ()
310- if err != nil {
300+ if err := driver .waitForSSH (); err != nil {
311301 return err
312302 }
313- err = driver .waitForDocker ()
314- if err != nil {
315- return err
316- }
317- return nil
303+ return driver .waitForDocker ()
318304}
319305
320306func (driver * Driver ) Stop () error {
321- err := driver .setUserSubscription ()
322- if err != nil {
307+ if err := driver .setUserSubscription (); err != nil {
323308 return err
324309 }
325- vmState , err := driver . GetState ()
326- if err != nil {
310+
311+ if vmState , err := driver . GetState (); err != nil {
327312 return err
328- }
329- if vmState == state .Stopped {
313+ } else if vmState == state .Stopped {
330314 log .Infof ("Host is already stopped" )
331315 return nil
332316 }
333317
334318 log .Debugf ("stopping %s" , driver .MachineName )
335319
336- err = vmClient .ShutdownRole (driver .MachineName , driver .MachineName , driver .MachineName )
337- if err != nil {
338- return err
339- }
340- return nil
320+ return vmClient .ShutdownRole (driver .MachineName , driver .MachineName , driver .MachineName )
341321}
342322
343323func (driver * Driver ) Remove () error {
344- err := driver .setUserSubscription ()
345- if err != nil {
324+ if err := driver .setUserSubscription (); err != nil {
346325 return err
347326 }
348- available , _ , err := vmClient .CheckHostedServiceNameAvailability (driver .MachineName )
349- if err != nil {
327+ if available , _ , err := vmClient .CheckHostedServiceNameAvailability (driver .MachineName ); err != nil {
350328 return err
351- }
352- if available {
329+ } else if available {
353330 return nil
354331 }
355332
356333 log .Debugf ("removing %s" , driver .MachineName )
357334
358- err = vmClient .DeleteHostedService (driver .MachineName )
359- if err != nil {
360- return err
361- }
362-
363- return nil
335+ return vmClient .DeleteHostedService (driver .MachineName )
364336}
365337
366338func (driver * Driver ) Restart () error {
367339 err := driver .setUserSubscription ()
368340 if err != nil {
369341 return err
370342 }
371- vmState , err := driver .GetState ()
372- if err != nil {
343+ if vmState , err := driver .GetState (); err != nil {
373344 return err
374- }
375- if vmState == state .Stopped {
376- return fmt .Errorf ("Host is already stopped, use start command to run it" )
345+ } else if vmState == state .Stopped {
346+ return errors .New ("Host is already stopped, use start command to run it" )
377347 }
378348
379349 log .Debugf ("restarting %s" , driver .MachineName )
380350
381- err = vmClient .RestartRole (driver .MachineName , driver .MachineName , driver .MachineName )
382- if err != nil {
383- return err
384- }
385- err = driver .waitForSSH ()
386- if err != nil {
351+ if err := vmClient .RestartRole (driver .MachineName , driver .MachineName , driver .MachineName ); err != nil {
387352 return err
388353 }
389- err = driver .waitForDocker ()
390- if err != nil {
354+ if err := driver .waitForSSH (); err != nil {
391355 return err
392356 }
393- return nil
357+ return driver . waitForDocker ()
394358}
395359
396360func (driver * Driver ) Kill () error {
397- err := driver .setUserSubscription ()
398- if err != nil {
361+ if err := driver .setUserSubscription (); err != nil {
399362 return err
400363 }
401- vmState , err := driver . GetState ()
402- if err != nil {
364+
365+ if vmState , err := driver . GetState (); err != nil {
403366 return err
404- }
405- if vmState == state .Stopped {
367+ } else if vmState == state .Stopped {
406368 log .Infof ("Host is already stopped" )
407369 return nil
408370 }
409371
410372 log .Debugf ("killing %s" , driver .MachineName )
411373
412- err = vmClient .ShutdownRole (driver .MachineName , driver .MachineName , driver .MachineName )
413- if err != nil {
414- return err
415- }
416- return nil
374+ return vmClient .ShutdownRole (driver .MachineName , driver .MachineName , driver .MachineName )
417375}
418376
419377func (d * Driver ) StartDocker () error {
@@ -423,11 +381,7 @@ func (d *Driver) StartDocker() error {
423381 if err != nil {
424382 return err
425383 }
426- if err := cmd .Run (); err != nil {
427- return err
428- }
429-
430- return nil
384+ return cmd .Run ()
431385}
432386
433387func (d * Driver ) StopDocker () error {
@@ -437,30 +391,22 @@ func (d *Driver) StopDocker() error {
437391 if err != nil {
438392 return err
439393 }
440- if err := cmd .Run (); err != nil {
441- return err
442- }
443-
444- return nil
394+ return cmd .Run ()
445395}
446396
447397func (d * Driver ) GetDockerConfigDir () string {
448398 return dockerConfigDir
449399}
450400
451401func (driver * Driver ) GetSSHCommand (args ... string ) (* exec.Cmd , error ) {
452- err := driver .setUserSubscription ()
453- if err != nil {
402+ if err := driver .setUserSubscription (); err != nil {
454403 return nil , err
455404 }
456405
457- vmState , err := driver .GetState ()
458- if err != nil {
406+ if vmState , err := driver .GetState (); err != nil {
459407 return nil , err
460- }
461-
462- if vmState == state .Stopped {
463- return nil , fmt .Errorf ("Azure host is stopped. Please start it before using ssh command." )
408+ } else if vmState == state .Stopped {
409+ return nil , errors .New ("Azure host is stopped. Please start it before using ssh command." )
464410 }
465411
466412 return ssh .GetSSHCommand (driver .getHostname (), driver .SSHPort , driver .UserName , driver .sshKeyPath (), args ... ), nil
@@ -472,13 +418,7 @@ func (driver *Driver) Upgrade() error {
472418 cmd , err := driver .GetSSHCommand ("sudo apt-get update && sudo apt-get install --upgrade lxc-docker" )
473419 if err != nil {
474420 return err
475-
476421 }
477- if err := cmd .Run (); err != nil {
478- return err
479-
480- }
481-
482422 return cmd .Run ()
483423}
484424
@@ -488,34 +428,26 @@ func generateVMName() string {
488428}
489429
490430func (driver * Driver ) setUserSubscription () error {
491- if len (driver .PublishSettingsFilePath ) != 0 {
492- err := azure .ImportPublishSettingsFile (driver .PublishSettingsFilePath )
493- if err != nil {
494- return err
495- }
496- return nil
497- }
498- err := azure .ImportPublishSettings (driver .SubscriptionID , driver .SubscriptionCert )
499- if err != nil {
500- return err
431+ if driver .PublishSettingsFilePath != "" {
432+ return azure .ImportPublishSettingsFile (driver .PublishSettingsFilePath )
501433 }
502- return nil
434+ return azure . ImportPublishSettings ( driver . SubscriptionID , driver . SubscriptionCert )
503435}
504436
505437func (driver * Driver ) addDockerEndpoint (vmConfig * vmClient.Role ) error {
506438 configSets := vmConfig .ConfigurationSets .ConfigurationSet
507439 if len (configSets ) == 0 {
508- return fmt . Errorf ("no configuration set" )
440+ return errors . New ("no configuration set" )
509441 }
510442 for i := 0 ; i < len (configSets ); i ++ {
511443 if configSets [i ].ConfigurationSetType != "NetworkConfiguration" {
512444 continue
513445 }
514- ep := vmClient.InputEndpoint {}
515- ep . Name = "docker"
516- ep . Protocol = "tcp"
517- ep . Port = driver .DockerPort
518- ep . LocalPort = driver .DockerPort
446+ ep := vmClient.InputEndpoint {
447+ Name : "docker" ,
448+ Protocol : "tcp" ,
449+ Port : driver .DockerPort ,
450+ LocalPort : driver .DockerPort }
519451 configSets [i ].InputEndpoints .InputEndpoint = append (configSets [i ].InputEndpoints .InputEndpoint , ep )
520452 log .Debugf ("added Docker endpoint (port %d) to configuration" , driver .DockerPort )
521453 }
@@ -524,12 +456,7 @@ func (driver *Driver) addDockerEndpoint(vmConfig *vmClient.Role) error {
524456
525457func (driver * Driver ) waitForSSH () error {
526458 log .Infof ("Waiting for SSH..." )
527- err := ssh .WaitForTCP (fmt .Sprintf ("%s:%v" , driver .getHostname (), driver .SSHPort ))
528- if err != nil {
529- return err
530- }
531-
532- return nil
459+ return ssh .WaitForTCP (fmt .Sprintf ("%s:%v" , driver .getHostname (), driver .SSHPort ))
533460}
534461
535462func (driver * Driver ) waitForDocker () error {
@@ -538,7 +465,7 @@ func (driver *Driver) waitForDocker() error {
538465 url := fmt .Sprintf ("%s:%v" , driver .getHostname (), driver .DockerPort )
539466 success := waitForDockerEndpoint (url , maxRepeats )
540467 if ! success {
541- return fmt . Errorf ("Can not run docker daemon on remote machine. Please try again." )
468+ return errors . New ("Can not run docker daemon on remote machine. Please try again." )
542469 }
543470 return nil
544471}
@@ -567,21 +494,13 @@ func (driver *Driver) generateCertForAzure() error {
567494 }
568495
569496 cmd := exec .Command ("openssl" , "req" , "-x509" , "-key" , driver .sshKeyPath (), "-nodes" , "-days" , "365" , "-newkey" , "rsa:2048" , "-out" , driver .azureCertPath (), "-subj" , "/C=AU/ST=Some-State/O=InternetWidgitsPtyLtd/CN=\\ *" )
570- if err := cmd .Run (); err != nil {
571- return err
572- }
573-
574- return nil
497+ return cmd .Run ()
575498}
576499
577500func (driver * Driver ) sshKeyPath () string {
578501 return filepath .Join (driver .storePath , "id_rsa" )
579502}
580503
581- func (driver * Driver ) publicSSHKeyPath () string {
582- return driver .sshKeyPath () + ".pub"
583- }
584-
585504func (driver * Driver ) azureCertPath () string {
586505 return filepath .Join (driver .storePath , "azure_cert.pem" )
587506}
0 commit comments