@@ -49,21 +49,20 @@ def run(self, tmp=None, task_vars=None):
49
49
self ._setup (tmp , task_vars )
50
50
self ._execute_stop_module ()
51
51
52
- if self .result . get ( FAILED ) :
53
- return self .result
52
+ if self .failed :
53
+ return self .get_result ()
54
54
55
55
self ._parse_module_params ()
56
56
57
57
try :
58
58
self ._get_job_data ()
59
59
except AnsibleActionFail as e :
60
- self .result .update (
61
- {MSG : e .args [0 ], FAILED : True , CHANGED : False })
62
- return self .result
60
+ self .failed = True
61
+ return self .get_result (e .args [0 ])
63
62
64
63
if not self .job_id or not self .job_name or self .job_status != EXECUTING :
65
- self .result . update ({ FAILED : False , CHANGED : False , })
66
- return self .result
64
+ self .failed = True
65
+ return self .get_result ()
67
66
68
67
self .logger .debug (RUNNING_ATTEMPTING_TO_STOP )
69
68
try :
@@ -72,17 +71,17 @@ def run(self, tmp=None, task_vars=None):
72
71
else :
73
72
self ._perform_shutdown ()
74
73
except AnsibleActionFail as e :
75
- self .result .update (
76
- {MSG : e .args [0 ], FAILED : True , CHANGED : False })
77
- return self .result
74
+ self .failed = True
75
+ return self .get_result (e .args [0 ])
78
76
79
77
try :
80
78
self .wait_for_shutdown ()
81
- self .result . update ({ CHANGED : True })
79
+ self .changed = True
82
80
except TimeoutError as e :
83
- self .result .update ({MSG : e .args [0 ], FAILED : True })
81
+ self .failed = True
82
+ self .msg = e .args [0 ]
84
83
85
- return self .result
84
+ return self .get_result ()
86
85
87
86
def _cancel_region (self ):
88
87
run_command_result = self .execute_cancel_shell_cmd (
@@ -104,21 +103,28 @@ def _setup(self, tmp, task_vars):
104
103
self .module_args = self ._task .args .copy ()
105
104
self .logger = logging .getLogger (__name__ )
106
105
107
- self .result = {
108
- FAILED : False ,
109
- CHANGED : False ,
110
- MSG : "" ,
111
- EXECUTIONS : [],
106
+ self .failed = False
107
+ self .changed = False
108
+ self .msg = ""
109
+ self .executions = []
110
+
111
+ def get_result (self , msg = None ):
112
+ return {
113
+ FAILED : self .failed ,
114
+ CHANGED : self .changed ,
115
+ MSG : msg if msg else self .msg ,
116
+ EXECUTIONS : self .executions ,
112
117
}
113
118
114
119
def _execute_stop_module (self ):
115
- self .result .update (
116
- self ._execute_module (
117
- module_name = STOP_MODULE_NAME ,
118
- module_args = self .module_args ,
119
- task_vars = self .task_vars ,
120
- tmp = self .tmp ,
121
- ))
120
+ stop_module_output = self ._execute_module (
121
+ module_name = STOP_MODULE_NAME ,
122
+ module_args = self .module_args ,
123
+ task_vars = self .task_vars ,
124
+ tmp = self .tmp ,
125
+ )
126
+ self .failed = stop_module_output .get (FAILED , self .failed )
127
+ self .msg = stop_module_output .get (MSG , self .msg )
122
128
123
129
def _parse_module_params (self ):
124
130
self .job_name = self .module_args .get (JOB_NAME )
@@ -141,7 +147,8 @@ def _get_job_data(self):
141
147
if len (running_jobs ) > 1 :
142
148
self .job_status = "MULTIPLE"
143
149
raise AnsibleActionFail (
144
- "Cannot ambiguate between multiple running jobs with the same name ({0}). Use `job_id` as a parameter to specify the correct job." .format (self .job_name ))
150
+ "Cannot ambiguate between multiple running jobs with the same name ({0}). Use `job_id` as a parameter to specify the correct job." .format (
151
+ self .job_name ))
145
152
146
153
self .job_id = running_jobs [0 ][JOB_ID ]
147
154
self .job_status = running_jobs [0 ][STATUS ]
@@ -186,7 +193,7 @@ def _get_running_jobs(self):
186
193
return running
187
194
188
195
def _add_status_execution (self , job , result ):
189
- self .result [ EXECUTIONS ] .append ({
196
+ self .executions .append ({
190
197
NAME : CHECK_CICS_STATUS .format (job ),
191
198
RETURN : result ,
192
199
})
@@ -195,7 +202,7 @@ def wait_for_shutdown(self):
195
202
end_time = calculate_end_time (
196
203
self .timeout ) if self .timeout > 0 else None
197
204
198
- self .result [ EXECUTIONS ] .append ({})
205
+ self .executions .append ({})
199
206
status = EXECUTING
200
207
while status == EXECUTING and (
201
208
get_datetime_now () < end_time if end_time else True
@@ -207,7 +214,7 @@ def wait_for_shutdown(self):
207
214
TSO_STATUS_ID_COMMAND .format (self .job_name , self .job_id )
208
215
)
209
216
210
- self .result [ EXECUTIONS ] .pop ()
217
+ self .executions .pop ()
211
218
self ._add_status_execution (self .job_id , tso_cmd_response )
212
219
213
220
status = _get_job_status_name_id (
@@ -232,7 +239,7 @@ def execute_zos_job_query(self, job_id):
232
239
module_args = {JOB_ID : job_id },
233
240
task_vars = self .task_vars ,
234
241
)
235
- self .result [ EXECUTIONS ] .append ({
242
+ self .executions .append ({
236
243
NAME : "ZOS Job Query - {0}" .format (job_id ),
237
244
RETURN : query_response
238
245
})
@@ -244,7 +251,7 @@ def execute_zos_operator_cmd(self, command):
244
251
module_args = {"cmd" : command },
245
252
task_vars = self .task_vars ,
246
253
)
247
- self .result [ EXECUTIONS ] .append ({
254
+ self .executions .append ({
248
255
NAME : "ZOS Operator Command - {0}" .format (command ),
249
256
RETURN : operator_response ,
250
257
})
@@ -267,7 +274,7 @@ def execute_cancel_shell_cmd(self, job_name, job_id):
267
274
shared_loader_obj = self ._shared_loader_obj ,
268
275
)
269
276
cancel_response = command_action .run (task_vars = self .task_vars )
270
- self .result [ EXECUTIONS ] .append ({
277
+ self .executions .append ({
271
278
NAME : "Cancel command - {0}({1})" .format (job_name , job_id ),
272
279
RETURN : cancel_response ,
273
280
})
0 commit comments