log a fatal message if we cannot login or set the subscription (#1486)

This commit is contained in:
Jonathan Chauncey 2017-09-27 19:26:16 -04:00 коммит произвёл Jack Francis
Родитель 1051da14c3
Коммит 3760b36ef2
2 изменённых файлов: 17 добавлений и 30 удалений

Просмотреть файл

@ -54,19 +54,12 @@ func NewAccount() (*Account, error) {
// Login will login to a given subscription
func (a *Account) Login() error {
cmd := exec.Command("az", "login",
_, err := exec.Command("az", "login",
"--service-principal",
"--username", a.User.ID,
"--password", a.User.Secret,
"--tenant", a.TenantID)
err := cmd.Start()
"--tenant", a.TenantID).CombinedOutput()
if err != nil {
log.Printf("Error while trying to start login:%s\n", err)
return err
}
err = cmd.Wait()
if err != nil {
log.Printf("Error occurred while waiting for login to complete:%s\n", err)
return err
}
return nil
@ -74,15 +67,8 @@ func (a *Account) Login() error {
// SetSubscription will call az account set --subscription for the given Account
func (a *Account) SetSubscription() error {
cmd := exec.Command("az", "account", "set", "--subscription", a.SubscriptionID)
err := cmd.Start()
_, err := exec.Command("az", "account", "set", "--subscription", a.SubscriptionID).CombinedOutput()
if err != nil {
log.Printf("Error while trying to start account set for subscription %s:%s\n", a.SubscriptionID, err)
return err
}
err = cmd.Wait()
if err != nil {
log.Printf("Error occurred while waiting for account set for subscription %s to complete:%s\n", a.SubscriptionID, err)
return err
}
return nil
@ -90,15 +76,10 @@ func (a *Account) SetSubscription() error {
// CreateGroup will create a resource group in a given location
func (a *Account) CreateGroup(name, location string) error {
cmd := exec.Command("az", "group", "create", "--name", name, "--location", location)
err := cmd.Start()
out, err := exec.Command("az", "group", "create", "--name", name, "--location", location).CombinedOutput()
if err != nil {
log.Printf("Error while trying to start command to create resource group (%s) in %s:%s", name, location, err)
return err
}
err = cmd.Wait()
if err != nil {
log.Printf("Error occurred while waiting for resource group (%s) in %s:%s", name, location, err)
log.Printf("Error while trying create resource group (%s) in %s:%s", name, location, err)
log.Printf("Output:%s\n", out)
return err
}
r := ResourceGroup{
@ -125,13 +106,12 @@ func (a *Account) CreateDeployment(name string, e *engine.Engine) error {
Name: name,
TemplateDirectory: e.Config.GeneratedDefinitionPath,
}
cmd := exec.Command("az", "group", "deployment", "create",
output, err := exec.Command("az", "group", "deployment", "create",
"--name", d.Name,
"--resource-group", a.ResourceGroup.Name,
"--template-file", e.Config.GeneratedTemplatePath,
"--parameters", e.Config.GeneratedParametersPath)
"--parameters", e.Config.GeneratedParametersPath).CombinedOutput()
output, err := cmd.CombinedOutput()
if err != nil {
log.Printf("Error while trying to start deployment for %s in resource group %s:%s", d.Name, a.ResourceGroup.Name, err)
log.Printf("Command Output: %s\n", output)

Просмотреть файл

@ -37,8 +37,15 @@ func main() {
log.Fatalf("Error while trying to setup azure account: %s\n", err)
}
acct.Login()
acct.SetSubscription()
err := acct.Login()
if err != nil {
log.Fatal("Error while trying to login to azure account!")
}
err = acct.SetSubscription()
if err != nil {
log.Fatal("Error while trying to set azure subscription!")
}
// If an interrupt/kill signal is sent we will run the clean up procedure
trap()