Skip to content

Commit db51176

Browse files
committed
Merge pull request #229 from MabOneSdk/pragrawa-dev1
moving protection tracking logid to common
2 parents f7fb9f2 + 9b91ef4 commit db51176

File tree

7 files changed

+76
-100
lines changed

7 files changed

+76
-100
lines changed

src/ResourceManager/RecoveryServices.Backup/Cmdlets/Item/DisableAzureRmRecoveryServicesProtection.cs

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -58,49 +58,45 @@ public override void ExecuteCmdlet()
5858
Item.Name, () =>
5959
{
6060
ExecutionBlock(() =>
61-
{
62-
base.ExecuteCmdlet();
63-
64-
PsBackupProviderManager providerManager = new PsBackupProviderManager(new Dictionary<System.Enum, object>()
65-
{
66-
67-
{ItemParams.Item, Item},
68-
{ItemParams.DeleteBackupData, this.DeleteBackupData},
69-
}, HydraAdapter);
61+
{
62+
base.ExecuteCmdlet();
63+
PsBackupProviderManager providerManager = new PsBackupProviderManager(new Dictionary<System.Enum, object>()
64+
{
65+
{ItemParams.Item, Item},
66+
{ItemParams.DeleteBackupData, this.DeleteBackupData},
67+
}, HydraAdapter);
7068

71-
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType);
69+
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType);
7270

73-
var jobResponse = psBackupProvider.DisableProtection();
71+
var itemResponse = psBackupProvider.DisableProtection();
7472

75-
// Track Response and display job details
73+
// Track Response and display job details
7674

77-
var response = OperationStatusHelper.TrackOperationStatus(jobResponse, HydraAdapter);
75+
WriteDebug(Resources.TrackingOperationStatusURLForCompletion +
76+
itemResponse.AzureAsyncOperation);
7877

79-
if (response.OperationStatus.Status == HydraModel.OperationStatusValues.Succeeded)
80-
{
81-
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
82-
string jobId = jobStatusResponse.JobId;
83-
var job = HydraAdapter.GetJob(jobId);
84-
WriteObject(JobConversions.GetPSJob(job));
85-
}
86-
else if(response.OperationStatus.Status == HydraModel.OperationStatusValues.Failed)
87-
{
88-
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
89-
if(jobStatusResponse != null || !string.IsNullOrEmpty(jobStatusResponse.JobId))
90-
{
91-
string jobId = jobStatusResponse.JobId;
92-
var job = HydraAdapter.GetJob(jobId);
93-
WriteObject(JobConversions.GetPSJob(job));
94-
}
95-
96-
var errorMessage = string.Format(Resources.DisableProtectionOperationFailed,
97-
response.OperationStatus.OperationStatusError.Code,
98-
response.OperationStatus.OperationStatusError.Message);
99-
100-
throw new Exception(errorMessage);
101-
}
102-
});
78+
var response = WaitForOperationCompletionUsingStatusLink(
79+
itemResponse.AzureAsyncOperation,
80+
HydraAdapter.GetProtectedItemOperationStatusByURL);
81+
82+
WriteDebug(Resources.FinalOperationStatus + response.OperationStatus.Status);
83+
84+
if (response.OperationStatus.Properties != null &&
85+
((HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties).JobId != null)
86+
{
87+
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
88+
WriteObject(GetJobObject(jobStatusResponse.JobId));
89+
}
90+
91+
if (response.OperationStatus.Status == HydraModel.OperationStatusValues.Failed)
92+
{
93+
var errorMessage = string.Format(Resources.DisableProtectionOperationFailed,
94+
response.OperationStatus.OperationStatusError.Code,
95+
response.OperationStatus.OperationStatusError.Message);
96+
throw new Exception(errorMessage);
97+
}
10398
});
99+
});
104100

105101
}
106102
}

src/ResourceManager/RecoveryServices.Backup/Cmdlets/Item/EnableAzureRmRecoveryServicesProtection.cs

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -79,33 +79,31 @@ public override void ExecuteCmdlet()
7979
IPsBackupProvider psBackupProvider = (Item != null) ? providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType)
8080
: providerManager.GetProviderInstance(WorkLoadType);
8181

82-
var jobResponse = psBackupProvider.EnableProtection();
82+
var itemResponse = psBackupProvider.EnableProtection();
8383

8484
// Track Response and display job details
8585

86-
var response = OperationStatusHelper.TrackOperationStatus(jobResponse, HydraAdapter);
86+
WriteDebug(Resources.TrackingOperationStatusURLForCompletion +
87+
itemResponse.AzureAsyncOperation);
8788

88-
if (response.OperationStatus.Status == HydraModel.OperationStatusValues.Succeeded)
89+
var response = WaitForOperationCompletionUsingStatusLink(
90+
itemResponse.AzureAsyncOperation,
91+
HydraAdapter.GetProtectedItemOperationStatusByURL);
92+
93+
WriteDebug(Resources.FinalOperationStatus + response.OperationStatus.Status);
94+
95+
if (response.OperationStatus.Properties != null &&
96+
((HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties).JobId != null)
8997
{
9098
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
91-
string jobId = jobStatusResponse.JobId;
92-
var job = HydraAdapter.GetJob(jobId);
93-
WriteObject(JobConversions.GetPSJob(job));
99+
WriteObject(GetJobObject(jobStatusResponse.JobId));
94100
}
95-
else if(response.OperationStatus.Status == HydraModel.OperationStatusValues.Failed)
96-
{
97-
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
98-
if(jobStatusResponse != null || !string.IsNullOrEmpty(jobStatusResponse.JobId))
99-
{
100-
string jobId = jobStatusResponse.JobId;
101-
var job = HydraAdapter.GetJob(jobId);
102-
WriteObject(JobConversions.GetPSJob(job));
103-
}
104101

102+
if(response.OperationStatus.Status == HydraModel.OperationStatusValues.Failed)
103+
{
105104
var errorMessage = string.Format(Resources.EnableProtectionOperationFailed,
106105
response.OperationStatus.OperationStatusError.Code,
107106
response.OperationStatus.OperationStatusError.Message);
108-
109107
throw new Exception(errorMessage);
110108
}
111109
});

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/Commands.RecoveryServices.Backup.Helpers.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
<ItemGroup>
5252
<Compile Include="Conversions\JobConversions.cs" />
5353
<Compile Include="Conversions\RecoveryPointConversions.cs" />
54-
<Compile Include="OperationStatusHelper.cs" />
5554
<Compile Include="Utils.cs" />
5655
<Compile Include="Validations\PolicyValidations.cs" />
5756
<Compile Include="Conversions\SchedulePolicyConversions.cs" />

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/OperationStatusHelper.cs

Lines changed: 0 additions & 41 deletions
This file was deleted.

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/Properties/Resources.Designer.cs

Lines changed: 20 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/Properties/Resources.resx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ Please contact Microsoft for further assistant.</value>
327327
<value>For Azure VM, both cloud service name and resource group name can not be empty</value>
328328
</data>
329329
<data name="EnableProtectionOperationFailed" xml:space="preserve">
330-
<value>Enable Protection OperationFailed with error code {0} , and error Message {1}</value>
330+
<value>Enable Protection OperationFailed with error code: {0} , and error Message: {1}</value>
331331
</data>
332332
<data name="RemoveProtectionPolicyMessage" xml:space="preserve">
333333
<value>Removing the protection policy</value>
@@ -348,7 +348,13 @@ Please contact Microsoft for further assistant.</value>
348348
<value>Are you sure you want to disable protection for the item '{0}'</value>
349349
</data>
350350
<data name="DisableProtectionOperationFailed" xml:space="preserve">
351-
<value>Disable Protection OperationFailed with error code {0} , and error Message {1}</value>
351+
<value>Disable Protection OperationFailed with error code: {0} , and error Message: {1}</value>
352+
</data>
353+
<data name="FinalOperationStatus" xml:space="preserve">
354+
<value>Final operation status:</value>
355+
</data>
356+
<data name="TrackingOperationStatusURLForCompletion" xml:space="preserve">
357+
<value>Tracking operation status URL for completion:</value>
352358
</data>
353359
<data name="PolicyIdIsEmptyOrNull" xml:space="preserve">
354360
<value>PolicyId is NULL or Empty. Please enter valid PolicyId</value>

src/ResourceManager/RecoveryServices.Backup/RecoveryServicesBackupCmdletBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets
3939
public abstract class RecoveryServicesBackupCmdletBase : AzureRMCmdlet
4040
{
4141
// in seconds
42-
private int _defaultSleepForOperationTracking = 15;
42+
private int _defaultSleepForOperationTracking = 5;
4343

4444
protected HydraAdapterNS.HydraAdapter HydraAdapter { get; set; }
4545

0 commit comments

Comments
 (0)