Skip to content

Commit 5412aab

Browse files
committed
added more traces for debugging in policy cmdlets
1 parent 1766a2e commit 5412aab

File tree

9 files changed

+53
-30
lines changed

9 files changed

+53
-30
lines changed

src/ResourceManager/RecoveryServices.Backup/Cmdlets/ProtectionPolicy/GetAzureRmRecoveryServicesPolicy.cs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,31 @@ public class GetAzureRmRecoveryServicesProtectionPolicy : RecoveryServicesBackup
4444
[Parameter(ParameterSetName = WorkloadParamSet, Position = 2, Mandatory = true, HelpMessage = ParamHelpMsg.Common.WorkloadType)]
4545
[Parameter(ParameterSetName = WorkloadBackupMangementTypeParamSet, Position = 2, Mandatory = true, HelpMessage = ParamHelpMsg.Common.WorkloadType)]
4646
[ValidateNotNullOrEmpty]
47-
public WorkloadType WorkloadType { get; set; }
47+
public WorkloadType? WorkloadType { get; set; }
4848

4949
[Parameter(ParameterSetName = WorkloadBackupMangementTypeParamSet, Position = 3, Mandatory = true, HelpMessage = ParamHelpMsg.Common.BackupManagementType)]
5050
[ValidateNotNullOrEmpty]
51-
public BackupManagementType BackupManagementType { get; set; }
51+
public BackupManagementType? BackupManagementType { get; set; }
5252

5353
public override void ExecuteCmdlet()
5454
{
5555
ExecutionBlock(() =>
5656
{
5757
base.ExecuteCmdlet();
5858

59-
List<AzureRmRecoveryServicesPolicyBase> policyList = new List<AzureRmRecoveryServicesPolicyBase>();
59+
WriteDebug(string.Format("Input params - Name:{0}, " +
60+
"WorkloadType: {1}, BackupManagementType:{2}, " +
61+
"ParameterSetName: {3}",
62+
Name == null ? "NULL" : Name,
63+
WorkloadType.HasValue ? WorkloadType.ToString() : "NULL",
64+
BackupManagementType.HasValue ? BackupManagementType.ToString() : "NULL",
65+
this.ParameterSetName));
66+
6067

68+
List<AzureRmRecoveryServicesPolicyBase> policyList = new List<AzureRmRecoveryServicesPolicyBase>();
69+
6170
if (this.ParameterSetName == PolicyNameParamSet)
62-
{
71+
{
6372
// validate policyName
6473
PolicyCmdletHelpers.ValidateProtectionPolicyName(Name);
6574

@@ -82,7 +91,7 @@ public override void ExecuteCmdlet()
8291
case WorkloadParamSet:
8392
if (WorkloadType == Models.WorkloadType.AzureVM)
8493
{
85-
hydraProviderType = HydraHelpers.GetHydraProviderType(WorkloadType);
94+
hydraProviderType = HydraHelpers.GetHydraProviderType(Models.WorkloadType.AzureVM);
8695
}
8796
break;
8897

@@ -93,7 +102,7 @@ public override void ExecuteCmdlet()
93102
{
94103
throw new ArgumentException(Resources.AzureVMUnsupportedBackupManagementTypeException);
95104
}
96-
hydraProviderType = HydraHelpers.GetHydraProviderType(WorkloadType);
105+
hydraProviderType = HydraHelpers.GetHydraProviderType(Models.WorkloadType.AzureVM);
97106
}
98107
else
99108
{
@@ -116,19 +125,12 @@ public override void ExecuteCmdlet()
116125
{
117126
BackupManagementType = hydraProviderType
118127
};
128+
129+
WriteDebug("going to query service to get list of policies");
119130
HydraModel.ProtectionPolicyListResponse respList = HydraAdapter.ListProtectionPolicy(queryParams);
120-
if (respList != null && respList.ItemList != null &&
121-
respList.ItemList.Value != null && respList.ItemList.Value.Count != 0)
122-
{
123-
foreach (HydraModel.ProtectionPolicyResource policy in respList.ItemList.Value)
124-
{
125-
AzureRmRecoveryServicesPolicyBase psModel = ConversionHelpers.GetPolicyModel(policy);
126-
if (psModel != null)
127-
{
128-
policyList.Add(ConversionHelpers.GetPolicyModel(policy));
129-
}
130-
}
131-
}
131+
WriteDebug("Successfully got response from service");
132+
133+
policyList = ConversionHelpers.GetPolicyModelList(respList);
132134
}
133135

134136
WriteObject(policyList);

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/Conversions/ConversionHelpers.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ public static List<AzureRmRecoveryServicesPolicyBase> GetPolicyModelList(
133133
}
134134
}
135135

136+
Logger.Instance.WriteDebug("Total policies in list: " + policyModels.Count);
136137
return policyModels;
137138
}
138139

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/BaseObjects.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,20 +151,23 @@ public class AzureRmRecoveryServicesPolicyBase : AzureRmRecoveryServicesBackupMa
151151

152152
public override void Validate()
153153
{
154+
base.Validate();
154155
}
155156
}
156157

157158
public class AzureRmRecoveryServicesRetentionPolicyBase : AzureRmRecoveryServicesObjectBase
158159
{
159160
public override void Validate()
160161
{
162+
base.Validate();
161163
}
162164
}
163165

164166
public class AzureRmRecoveryServicesSchedulePolicyBase : AzureRmRecoveryServicesObjectBase
165167
{
166168
public override void Validate()
167169
{
170+
base.Validate();
168171
}
169172
}
170173

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/CommonModels/PolicyRetentionObjects.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ public AzureRmRecoveryServicesLongTermRetentionPolicy()
4040
IsYearlyScheduleEnabled = false;
4141
}
4242
public override void Validate()
43-
{
43+
{
44+
base.Validate();
45+
4446
if (IsDailyScheduleEnabled == false && IsWeeklyScheduleEnabled == false &&
4547
IsMonthlyScheduleEnabled == false && IsYearlyScheduleEnabled == false)
4648
{

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Models/CommonModels/PolicyScheduleObjects.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ public override void Validate()
4141
throw new ArgumentException(Resources.InvalidScheduleTimeInScheduleException);
4242
}
4343

44+
if(ScheduleRunTimes[0].Kind != DateTimeKind.Utc)
45+
{
46+
throw new ArgumentException(Resources.ScheduleTimeNotInUTCTimeZoneException);
47+
}
48+
4449
if (ScheduleRunFrequency == ScheduleRunType.Weekly)
4550
{
4651
if (ScheduleRunDays == null || ScheduleRunDays.Count == 0 ||

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

Lines changed: 9 additions & 0 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: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,6 @@
269269
</data>
270270
<data name="JobCouldNotCancelJob" xml:space="preserve">
271271
<value>Failed to cancel the job. Error code: {0}</value>
272-
<comment> </comment>
273272
</data>
274273
<data name="JobJobIdAndJobMismatch" xml:space="preserve">
275274
<value>JobID and Job object provided don't match each other.</value>
@@ -286,4 +285,7 @@
286285
<data name="JobWaitJobInvalidInput" xml:space="preserve">
287286
<value>Please pass Job or List of Jobs as input. Your input is of type: {0}</value>
288287
</data>
288+
<data name="ScheduleTimeNotInUTCTimeZoneException" xml:space="preserve">
289+
<value>ScheduleRunTimes in Schedule Policy should be in UTC Timezone</value>
290+
</data>
289291
</root>

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Providers/Providers/IaasVmPsBackupProvider.cs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,10 @@ public ProtectionPolicyResponse CreatePolicy()
209209
CopyScheduleTimeToRetentionTimes((AzureRmRecoveryServicesLongTermRetentionPolicy)retentionPolicy,
210210
(AzureRmRecoveryServicesSimpleSchedulePolicy)schedulePolicy);
211211

212-
// validate both RetentionPolicy and SchedulePolicy
213-
ValidateAzureVMRetentionPolicy(retentionPolicy);
214-
ValidateAzureVMSchedulePolicy(schedulePolicy);
212+
// validate RetentionPolicy
213+
ValidateAzureVMRetentionPolicy(retentionPolicy);
215214

216-
// Now validate both RetentionPolicy and SchedulePolicy matches or not
215+
// Now validate both RetentionPolicy and SchedulePolicy together
217216
PolicyHelpers.ValidateLongTermRetentionPolicyWithSimpleRetentionPolicy(
218217
(AzureRmRecoveryServicesLongTermRetentionPolicy)retentionPolicy,
219218
(AzureRmRecoveryServicesSimpleSchedulePolicy)schedulePolicy);
@@ -696,9 +695,7 @@ private HttpStatusCode TrackRefreshContainerOperation(string operationResultLink
696695
private void CopyScheduleTimeToRetentionTimes(AzureRmRecoveryServicesLongTermRetentionPolicy retPolicy,
697696
AzureRmRecoveryServicesSimpleSchedulePolicy schPolicy)
698697
{
699-
// first convert schedule run times to UTC
700-
schPolicy.ScheduleRunTimes = PolicyHelpers.ParseScheduleRunTimesToUTC(schPolicy.ScheduleRunTimes);
701-
698+
// schedule runTimes is already validated if in UTC/not during validate()
702699
// now copy times from schedule to retention policy
703700
if (retPolicy.IsDailyScheduleEnabled && retPolicy.DailySchedule != null)
704701
{

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Test/ScenarioTests/IaasVm/PolicyTests.ps1

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ function Test-PolicyScenario
1818
Set-AzureRmRecoveryServicesVaultContext -Vault $vault;
1919

2020
# get default objects
21-
#$schedulePolicy = Get-AzureRmRecoveryServicesSchedulePolicyObject -WorkloadType "AzureVM"
22-
#$retPolicy = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
21+
$schedulePolicy = Get-AzureRmRecoveryServicesSchedulePolicyObject -WorkloadType "AzureVM"
22+
$retPolicy = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
2323

2424
# now create new policy
25-
#$policy = New-AzureRmRecoveryServicesProtectionPolicy -Name "pwtest1" -WorkloadType "AzureVM" -RetentionPolicy $retPolicy -SchedulePolicy $schedulePolicy
25+
$policy = New-AzureRmRecoveryServicesProtectionPolicy -Name "pwtest1" -WorkloadType "AzureVM" -RetentionPolicy $retPolicy -SchedulePolicy $schedulePolicy
2626

2727
# now get policy and update it with new schedule/retention
2828
$schedulePolicy = Get-AzureRmRecoveryServicesSchedulePolicyObject -WorkloadType "AzureVM"
@@ -31,5 +31,7 @@ function Test-PolicyScenario
3131
$temp = Get-AzureRmRecoveryServicesProtectionPolicy -Name "pwtest1"
3232
Set-AzureRmRecoveryServicesProtectionPolicy -RetentionPolicy $retPolicy -SchedulePolicy $schedulePolicy -Policy $temp[0]
3333

34+
#cleanup
35+
3436
echo $schedulePolicy
3537
}

0 commit comments

Comments
 (0)