Fixed Remove() method in Azure driver

Fixed Remove() method in Azure driver

Signed-off-by: Ruslan Gabitov <ruslan.gabitov@live.com>
This commit is contained in:
Ruslan Gabitov 2014-12-05 17:25:03 -08:00 committed by Jeff Mendoza
parent b208f4fd8b
commit 489e2acaec
3 changed files with 9 additions and 29 deletions

2
Godeps/Godeps.json generated
View File

@ -10,7 +10,7 @@
{
"ImportPath": "github.com/MSOpenTech/azure-sdk-for-go",
"Comment": "v1.1-14-g814812a",
"Rev": "814812a21a49da38c5cc808ec0958277e33c81d3"
"Rev": "515f3ec74ce6a5b31e934cefae997c97bd0a1b1e"
},
{
"ImportPath": "github.com/Sirupsen/logrus",

View File

@ -18,16 +18,16 @@ import (
"github.com/MSOpenTech/azure-sdk-for-go/clients/imageClient"
"github.com/MSOpenTech/azure-sdk-for-go/clients/locationClient"
"github.com/MSOpenTech/azure-sdk-for-go/clients/storageServiceClient"
"github.com/MSOpenTech/azure-sdk-for-go/clients/vmDiskClient"
)
const (
azureXmlns = "http://schemas.microsoft.com/windowsazure"
azureDeploymentListURL = "services/hostedservices/%s/deployments"
azureHostedServiceListURL = "services/hostedservices"
azureHostedServiceURL = "services/hostedservices/%s"
deleteAzureHostedServiceURL = "services/hostedservices/%s?comp=media"
azureHostedServiceAvailabilityURL = "services/hostedservices/operations/isavailable/%s"
azureDeploymentURL = "services/hostedservices/%s/deployments/%s"
deleteAzureDeploymentURL = "services/hostedservices/%s/deployments/%s?comp=media"
azureRoleURL = "services/hostedservices/%s/deployments/%s/roles/%s"
azureOperationsURL = "services/hostedservices/%s/deployments/%s/roleinstances/%s/Operations"
azureCertificatListURL = "services/hostedservices/%s/certificates"
@ -174,7 +174,7 @@ func DeleteHostedService(dnsName string) error {
return err
}
requestURL := fmt.Sprintf(azureHostedServiceURL, dnsName)
requestURL := fmt.Sprintf(deleteAzureHostedServiceURL, dnsName)
requestId, err := azure.SendAzureDeleteRequest(requestURL)
if err != nil {
return err
@ -321,9 +321,6 @@ func SetAzureDockerVMExtension(azureVMConfiguration *Role, dockerPort int, versi
}
privateConfiguration := "{}"
if err != nil {
return nil, err
}
azureVMConfiguration, err = SetAzureVMExtension(azureVMConfiguration, "DockerExtension", "MSOpenTech.Extensions", version, "DockerExtension", "enable", publicConfiguration, privateConfiguration)
return azureVMConfiguration, nil
@ -361,13 +358,7 @@ func DeleteVMDeployment(cloudserviceName, deploymentName string) error {
return fmt.Errorf(azure.ParamNotSpecifiedError, "deploymentName")
}
vmDeployment, err := GetVMDeployment(cloudserviceName, deploymentName)
if err != nil {
return err
}
vmDiskName := vmDeployment.RoleList.Role[0].OSVirtualHardDisk.DiskName
requestURL := fmt.Sprintf(azureDeploymentURL, cloudserviceName, deploymentName)
requestURL := fmt.Sprintf(deleteAzureDeploymentURL, cloudserviceName, deploymentName)
requestId, err := azure.SendAzureDeleteRequest(requestURL)
if err != nil {
return err
@ -375,11 +366,6 @@ func DeleteVMDeployment(cloudserviceName, deploymentName string) error {
azure.WaitAsyncOperation(requestId)
err = vmDiskClient.DeleteDisk(vmDiskName)
if err != nil {
return err
}
return nil
}

View File

@ -319,24 +319,18 @@ func (driver *Driver) Remove() error {
if err != nil {
return err
}
_, err = vmClient.GetVMDeployment(driver.Name, driver.Name)
available, _, err := vmClient.CheckHostedServiceNameAvailability(driver.Name)
if err != nil {
if strings.Contains(err.Error(), "Code: ResourceNotFound") {
return err
}
if available {
return nil
}
return err
}
err = vmClient.DeleteVMDeployment(driver.Name, driver.Name)
if err != nil {
return err
}
err = vmClient.DeleteHostedService(driver.Name)
if err != nil {
return err
}
return nil
}