Skip to content

Commit eb8b43c

Browse files
authored
[Az.RecoveryServices.Backup] Added sub tasks duration for IaasVM job details command (#19377)
* Added SubTasks Duration for IaasVM job details * Removed status filter from Get-AzRecoveryServicesBackupContainer command * Added test cases * Re-recorded failed tests * re-recorded tests * re-recorded tests * re-recorded test cases
1 parent 93c027e commit eb8b43c

File tree

42 files changed

+12740
-94273
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+12740
-94273
lines changed

src/RecoveryServices/RecoveryServices.Backup.Helpers/Conversions/JobConversions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,8 @@ private static CmdletModel.AzureVmJob GetPSAzureVmJob(JobResource serviceClientJ
810810
detailedResponse.SubTasks.Add(new CmdletModel.AzureVmJobSubTask()
811811
{
812812
Name = vmJobTask.TaskId,
813-
Status = vmJobTask.Status
813+
Status = vmJobTask.Status,
814+
Duration = (vmJobTask.StartTime != null && vmJobTask.EndTime != null) ? vmJobTask.Duration : null
814815
});
815816
}
816817
}

src/RecoveryServices/RecoveryServices.Backup.Helpers/Validations/PolicyValidations.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers
2525
public partial class PolicyHelpers
2626
{
2727

28-
public static void ValidateLongTermRetentionPolicyWithTieringPolicy(LongTermRetentionPolicy ltrPolicy, TieringPolicy tieringPolicy, bool isPreviousTieringPolicy = false) // check resx messages
28+
public static void ValidateLongTermRetentionPolicyWithTieringPolicy(LongTermRetentionPolicy ltrPolicy, TieringPolicy tieringPolicy, bool isPreviousTieringPolicy = false)
2929
{
3030
// To enable Archive(either TierRecommended or TierAfter), Monthly or Yearly retention needs to be set
3131
if(tieringPolicy != null && tieringPolicy.TieringMode != TieringMode.DoNotTier )

src/RecoveryServices/RecoveryServices.Backup.Models/AzureVmModels/AzureVmJob.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// limitations under the License.
1313
// ----------------------------------------------------------------------------------
1414

15+
using System;
1516
using System.Collections.Generic;
1617

1718
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models
@@ -57,5 +58,11 @@ public class AzureVmJobErrorInfo : AzureJobErrorInfo { }
5758
/// <summary>
5859
/// Azure VM specific job sub-task class.
5960
/// </summary>
60-
public class AzureVmJobSubTask : AzureJobSubTask { }
61+
public class AzureVmJobSubTask : AzureJobSubTask {
62+
63+
/// <summary>
64+
/// sub task duration
65+
/// </summary>
66+
public TimeSpan? Duration { get; set; }
67+
}
6168
}

src/RecoveryServices/RecoveryServices.Backup.Models/CommonModels/Enums.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ public enum ContainerRegistrationStatus
199199
/// Represents the registered state of the container with the recovery services vault.
200200
/// </summary>
201201
Registered = 1,
202+
NotRegistered = 2,
202203
}
203204

204205
/// <summary>

src/RecoveryServices/RecoveryServices.Backup.Providers/AzureWorkloadProviderHelper.cs

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -340,28 +340,13 @@ public List<ProtectedItemResource> ListProtectedItemsByContainer(
340340
{
341341
string vaultName = (string)providerData[CmdletModel.VaultParams.VaultName];
342342
string vaultResourceGroupName = (string)providerData[CmdletModel.VaultParams.ResourceGroupName];
343-
string friendlyName = (string)providerData[CmdletModel.ContainerParams.FriendlyName];
344-
CmdletModel.ContainerRegistrationStatus status =
345-
(CmdletModel.ContainerRegistrationStatus)providerData[CmdletModel.ContainerParams.Status];
343+
string friendlyName = (string)providerData[CmdletModel.ContainerParams.FriendlyName];
346344

347345
string nameQueryFilter = friendlyName;
348-
349-
ODataQuery<ServiceClientModel.BMSContainerQueryObject> queryParams = null;
350-
if (status == 0)
351-
{
352-
queryParams = new ODataQuery<ServiceClientModel.BMSContainerQueryObject>(
346+
ODataQuery<ServiceClientModel.BMSContainerQueryObject> queryParams = new ODataQuery<ServiceClientModel.BMSContainerQueryObject>(
353347
q => q.FriendlyName == nameQueryFilter &&
354348
q.BackupManagementType == backupManagementType);
355-
}
356-
else
357-
{
358-
var statusString = status.ToString();
359-
queryParams = new ODataQuery<ServiceClientModel.BMSContainerQueryObject>(
360-
q => q.FriendlyName == nameQueryFilter &&
361-
q.BackupManagementType == backupManagementType &&
362-
q.Status == statusString);
363-
}
364-
349+
365350
var listResponse = ServiceClientAdapter.ListContainers(
366351
queryParams,
367352
vaultName: vaultName,

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureFiles/ContainerTests.ps1

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,31 +54,27 @@ function Test-AzureFSContainer
5454
# VARIATION-1: Get All Containers with only mandatory parameters
5555
$containers = Get-AzRecoveryServicesBackupContainer `
5656
-VaultId $vault.ID `
57-
-ContainerType AzureStorage `
58-
-Status Registered;
57+
-ContainerType AzureStorage;
5958
Assert-True { $containers.FriendlyName -contains $saName }
6059

6160
# VARIATION-2: Get Containers with friendly name filter
6261
$containers = Get-AzRecoveryServicesBackupContainer `
6362
-VaultId $vault.ID `
6463
-ContainerType AzureStorage `
65-
-Status Registered `
6664
-FriendlyName $saName;
6765
Assert-True { $containers.FriendlyName -contains $saName }
6866

6967
# VARIATION-3: Get Containers with resource group filter
7068
$containers = Get-AzRecoveryServicesBackupContainer `
7169
-VaultId $vault.ID `
7270
-ContainerType AzureStorage `
73-
-Status Registered `
7471
-ResourceGroupName $resourceGroupName;
7572
Assert-True { $containers.FriendlyName -contains $saName }
7673

7774
# VARIATION-4: Get Containers with friendly name and resource group filters
7875
$containers = Get-AzRecoveryServicesBackupContainer `
7976
-VaultId $vault.ID `
8077
-ContainerType AzureStorage `
81-
-Status Registered `
8278
-FriendlyName $saName `
8379
-ResourceGroupName $resourceGroupName;
8480
Assert-True { $containers.FriendlyName -contains $saName }
@@ -97,7 +93,6 @@ function Test-AzureFSUnregisterContainer
9793
$container = Get-AzRecoveryServicesBackupContainer `
9894
-VaultId $vault.ID `
9995
-ContainerType AzureStorage `
100-
-Status Registered `
10196
-FriendlyName $saName
10297

10398
# Disable Protection
@@ -114,7 +109,6 @@ function Test-AzureFSUnregisterContainer
114109
$container = Get-AzRecoveryServicesBackupContainer `
115110
-VaultId $vault.ID `
116111
-ContainerType AzureStorage `
117-
-Status Registered `
118112
-FriendlyName $saName
119113
Assert-Null $container
120114
}

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureFiles/ItemTests.ps1

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ function Test-AzureFSItem
6666
$container = Get-AzRecoveryServicesBackupContainer `
6767
-VaultId $vault.ID `
6868
-ContainerType AzureStorage `
69-
-Status Registered `
7069
-FriendlyName $saName
7170

7271
# VARIATION-1: Get all items for container
@@ -150,7 +149,6 @@ function Test-AzureFSBackup
150149
$container = Get-AzRecoveryServicesBackupContainer `
151150
-VaultId $vault.ID `
152151
-ContainerType AzureStorage `
153-
-Status Registered `
154152
-FriendlyName $saName
155153

156154
# Trigger backup and wait for completion
@@ -185,7 +183,6 @@ function Test-AzureFSProtection
185183
$container = Get-AzRecoveryServicesBackupContainer `
186184
-VaultId $vault.ID `
187185
-ContainerType AzureStorage `
188-
-Status Registered `
189186
-FriendlyName $saName
190187

191188
$item = Get-AzRecoveryServicesBackupItem `
@@ -231,7 +228,6 @@ function Test-AzureFSGetRPs
231228
$container = Get-AzRecoveryServicesBackupContainer `
232229
-VaultId $vault.ID `
233230
-ContainerType AzureStorage `
234-
-Status Registered `
235231
-FriendlyName $saName
236232
$backupJob = Backup-Item $vault $item
237233

@@ -270,7 +266,6 @@ function Test-AzureFSFullRestore
270266
$container = Get-AzRecoveryServicesBackupContainer `
271267
-VaultId $vault.ID `
272268
-ContainerType AzureStorage `
273-
-Status Registered `
274269
-FriendlyName $saName
275270
$backupJob = Backup-Item $vault $item
276271

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureFiles/JobTests.ps1

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ function Test-AzureFSGetJob
6868
$container = Get-AzRecoveryServicesBackupContainer `
6969
-VaultId $vault.ID `
7070
-ContainerType AzureStorage `
71-
-Status Registered `
7271
-FriendlyName $saName
7372
}
7473
finally
@@ -98,7 +97,6 @@ function Test-AzureFSWaitJob
9897
$container = Get-AzRecoveryServicesBackupContainer `
9998
-VaultId $vault.ID `
10099
-ContainerType AzureStorage `
101-
-Status Registered `
102100
-FriendlyName $saName
103101
}
104102
finally
@@ -124,7 +122,6 @@ function Test-AzureFSCancelJob
124122
$container = Get-AzRecoveryServicesBackupContainer `
125123
-VaultId $vault.ID `
126124
-ContainerType AzureStorage `
127-
-Status Registered `
128125
-FriendlyName $saName
129126
}
130127
finally

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureFiles/ProtectionCheckTests.ps1

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ function Test-AzureFSProtectionCheck
7171
$container = Get-AzRecoveryServicesBackupContainer `
7272
-VaultId $vault.ID `
7373
-ContainerType AzureStorage `
74-
-Status Registered `
7574
-FriendlyName $saName
7675
}
7776
finally

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureWorkload/ContainerTests.ps1

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,31 +43,27 @@ function Get-AzureVmWorkloadContainer
4343
# VARIATION-1: Get All Containers with only mandatory parameters
4444
$containers = Get-AzRecoveryServicesBackupContainer `
4545
-VaultId $vault.ID `
46-
-ContainerType AzureVMAppContainer `
47-
-Status Registered;
46+
-ContainerType AzureVMAppContainer;
4847
Assert-True { $containers[0].FriendlyName -contains $containerName }
4948

5049
# VARIATION-2: Get Containers with friendly name filter
5150
$containers = Get-AzRecoveryServicesBackupContainer `
5251
-VaultId $vault.ID `
5352
-ContainerType AzureVMAppContainer `
54-
-Status Registered `
5553
-FriendlyName $containerName;
5654
Assert-True { $containers.FriendlyName -contains $containerName }
5755

5856
# VARIATION-3: Get Containers with resource group filter
5957
$containers = Get-AzRecoveryServicesBackupContainer `
6058
-VaultId $vault.ID `
6159
-ContainerType AzureVMAppContainer `
62-
-Status Registered `
6360
-ResourceGroupName $resourceGroupName;
6461
Assert-True { $containers[0].FriendlyName -contains $containerName }
6562

6663
# VARIATION-4: Get Containers with friendly name and resource group filters
6764
$containers = Get-AzRecoveryServicesBackupContainer `
6865
-VaultId $vault.ID `
6966
-ContainerType AzureVMAppContainer `
70-
-Status Registered `
7167
-FriendlyName $containerName `
7268
-ResourceGroupName $resourceGroupName;
7369
Assert-True { $containers.FriendlyName -contains $containerName }
@@ -98,13 +94,11 @@ function Unregister-AzureWorkloadContainer
9894
Get-AzRecoveryServicesBackupContainer `
9995
-VaultId $vault.ID `
10096
-ContainerType AzureVMAppContainer `
101-
-Status Registered `
10297
-FriendlyName $containerName | Unregister-AzRecoveryServicesBackupContainer -VaultId $vault.ID
10398

10499
$container = Get-AzRecoveryServicesBackupContainer `
105100
-VaultId $vault.ID `
106101
-ContainerType AzureVMAppContainer `
107-
-Status Registered `
108102
-FriendlyName $containerName
109103
Assert-Null $container
110104
}

0 commit comments

Comments
 (0)