Skip to content

Commit e4ae8eb

Browse files
committed
removing wait for complete for device failover job, and introducing verbose message for getting device job status
1 parent ebc6c77 commit e4ae8eb

File tree

4 files changed

+53
-24
lines changed

4 files changed

+53
-24
lines changed

src/ServiceManagement/StorSimple/Commands.StorSimple/Cmdlets/Failover/StartAzureStorSimpleDeviceFailoverJob.cs

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,7 @@ public class StartAzureStorSimpleDeviceFailoverJob : StorSimpleCmdletBase
3535
[ValidateNotNullOrEmpty]
3636
public string TargetDeviceName { get; set; }
3737

38-
[Parameter(Position = 3, Mandatory = false, HelpMessage = StorSimpleCmdletHelpMessage.HelpMessageWaitTillComplete)]
39-
public SwitchParameter WaitForComplete { get; set; }
40-
41-
[Parameter(Position = 4, Mandatory = false, HelpMessage = StorSimpleCmdletHelpMessage.HelpMessageForce)]
38+
[Parameter(Position = 3, Mandatory = false, HelpMessage = StorSimpleCmdletHelpMessage.HelpMessageForce)]
4239
public SwitchParameter Force { get; set; }
4340

4441
public override void ExecuteCmdlet()
@@ -78,17 +75,8 @@ public override void ExecuteCmdlet()
7875
ReturnWorkflowId = true
7976
};
8077

81-
if (WaitForComplete.IsPresent)
82-
{
83-
var taskstatusInfo = StorSimpleClient.TriggerFailover(deviceId, drRequest);
84-
HandleSyncTaskResponse(taskstatusInfo, "start");
85-
}
86-
else
87-
{
88-
//async scenario
89-
var taskresult = StorSimpleClient.TriggerFailoverAsync(deviceId, drRequest);
90-
HandleAsyncTaskResponse(taskresult, "start");
91-
}
78+
var taskResponse = StorSimpleClient.TriggerFailoverAsync(deviceId, drRequest);
79+
HandleDeviceJobResponse(taskResponse, "start");
9280
});
9381
}
9482
catch (Exception exception)

src/ServiceManagement/StorSimple/Commands.StorSimple/Properties/Resources.Designer.cs

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

src/ServiceManagement/StorSimple/Commands.StorSimple/Properties/Resources.resx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
<data name="NoBackupPolicyWithGivenNameFound" xml:space="preserve">
127127
<value>No backuppolicy with name : {0} found in your device: {1} !</value>
128128
</data>
129-
<data name="FailureMessageSubmitJob" xml:space="preserve">
129+
<data name="FailureMessageSubmitTask" xml:space="preserve">
130130
<value>The {0} task failed to submit. </value>
131131
</data>
132132
<data name="NotAllowedErrorDataContainerEncryption" xml:space="preserve">
@@ -192,7 +192,7 @@
192192
<data name="SuccessMessageSetResourceContext" xml:space="preserve">
193193
<value>Context set successfully for the given resource name.</value>
194194
</data>
195-
<data name="SuccessMessageSubmitJob" xml:space="preserve">
195+
<data name="SuccessMessageSubmitTask" xml:space="preserve">
196196
<value>The {0} task is submitted successfully. Please use the command Get-AzureStorSimpleTask -InstanceId {1} for tracking the task's status</value>
197197
</data>
198198
<data name="InvalidBackupIdParameter" xml:space="preserve">
@@ -435,4 +435,7 @@
435435
<data name="VolumeContainerGroupNotEligibleForFailoverError" xml:space="preserve">
436436
<value>Volume Container Group \"{0}\" is not eligible for failover due to the reason: {1}</value>
437437
</data>
438+
<data name="SuccessMessageSubmitDeviceJob" xml:space="preserve">
439+
<value>A device job for the {0} task is triggered successfully. Please use the command Get-AzureStorSimpleJob -InstanceId {1} for tracking the job's status</value>
440+
</data>
438441
</root>

src/ServiceManagement/StorSimple/Commands.StorSimple/StorSimpleCmdletBase.cs

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,51 @@ internal virtual void HandleAsyncTaskResponse(AzureOperationResponse opResponse,
6969

7070
if (opResponse.StatusCode != HttpStatusCode.Accepted && opResponse.StatusCode != HttpStatusCode.OK)
7171
{
72-
msg = string.Format(Resources.FailureMessageSubmitJob, operationName);
72+
msg = string.Format(Resources.FailureMessageSubmitTask, operationName);
7373
}
7474

7575
else
7676
{
7777
if (opResponse.GetType().Equals(typeof(TaskResponse)))
7878
{
7979
var taskResponse = opResponse as TaskResponse;
80-
msg = string.Format(Resources.SuccessMessageSubmitJob, operationName, taskResponse.TaskId);
80+
msg = string.Format(Resources.SuccessMessageSubmitTask, operationName, taskResponse.TaskId);
8181
WriteObject(taskResponse.TaskId);
8282
}
8383

8484
else if (opResponse.GetType().Equals(typeof(GuidTaskResponse)))
8585
{
8686
var guidTaskResponse = opResponse as GuidTaskResponse;
87-
msg = string.Format(Resources.SuccessMessageSubmitJob, operationName, guidTaskResponse.TaskId);
87+
msg = string.Format(Resources.SuccessMessageSubmitTask, operationName, guidTaskResponse.TaskId);
88+
WriteObject(guidTaskResponse.TaskId);
89+
}
90+
}
91+
92+
WriteVerbose(msg);
93+
}
94+
95+
internal virtual void HandleDeviceJobResponse(AzureOperationResponse opResponse, string operationName)
96+
{
97+
string msg = string.Empty;
98+
99+
if (opResponse.StatusCode != HttpStatusCode.Accepted && opResponse.StatusCode != HttpStatusCode.OK)
100+
{
101+
msg = string.Format(Resources.FailureMessageSubmitTask, operationName);
102+
}
103+
104+
else
105+
{
106+
if (opResponse.GetType().Equals(typeof(TaskResponse)))
107+
{
108+
var taskResponse = opResponse as TaskResponse;
109+
msg = string.Format(Resources.SuccessMessageSubmitDeviceJob, operationName, taskResponse.TaskId);
110+
WriteObject(taskResponse.TaskId);
111+
}
112+
113+
else if (opResponse.GetType().Equals(typeof(GuidTaskResponse)))
114+
{
115+
var guidTaskResponse = opResponse as GuidTaskResponse;
116+
msg = string.Format(Resources.SuccessMessageSubmitDeviceJob, operationName, guidTaskResponse.TaskId);
88117
WriteObject(guidTaskResponse.TaskId);
89118
}
90119
}

0 commit comments

Comments
 (0)