diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ScenarioTest.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ScenarioTest.cs index a3f0998cc7c5..f1ba137d59dd 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ScenarioTest.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ScenarioTest.cs @@ -225,8 +225,15 @@ public void ProvisionLinuxVM() try { - vmPowershellCmdlets.NewAzureQuickVM(OS.Linux, newAzureLinuxVMName, serviceName, linuxImageName, "user", - password, locationName); + Utilities.RetryActionUntilSuccess(() => + { + if (vmPowershellCmdlets.TestAzureServiceName(serviceName)) + { + var op = vmPowershellCmdlets.RemoveAzureService(serviceName); + } + + vmPowershellCmdlets.NewAzureQuickVM(OS.Linux, newAzureLinuxVMName, serviceName, linuxImageName, "user", password, locationName); + }, "Windows Azure is currently performing an operation on this hosted service that requires exclusive access.", 10, 30); // Verify PersistentVMRoleContext vmRoleCtxt = vmPowershellCmdlets.GetAzureVM(newAzureLinuxVMName, serviceName); diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/Model/DeploymentInfoContext.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/Model/DeploymentInfoContext.cs index c60093f3ac7d..3c051acbf4dc 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/Model/DeploymentInfoContext.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/Model/DeploymentInfoContext.cs @@ -255,7 +255,7 @@ public DeploymentInfoContext(DeploymentGetResponse deployment) this.RolesConfiguration = new Dictionary(); - var roles = doc.Root.Descendants(this.ns + "Role"); + var roles = doc.Root.Descendants(this.ns + "Role").Where(t => t.Parent == doc.Root); foreach (var role in roles) {