Skip to content

Commit ff12f61

Browse files
authored
Merge pull request #88 from xebialabs-community/displayStepLogs
Adding display step logs to all running tasks
2 parents 9a10b0e + a96ebae commit ff12f61

File tree

5 files changed

+21
-19
lines changed

5 files changed

+21
-19
lines changed

src/main/resources/synthetic.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
description="Polling interval in seconds to check task status."/>
3737
<property name="numberOfPollingTrials" category="input" label="Polling Retry Count" required="true"
3838
kind="integer" description="Number of times to retry check for task status."/>
39+
<property name="displayStepLogs" category="input" kind="boolean" required="false" default="true"/>
3940
</type>
4041

4142
<type type="xldeploy.DeployTask" label="XL Deploy: Deploy extended" extends="xldeploy.TaskRunningTask"
@@ -58,7 +59,6 @@
5859
label="Cancel If Not Rollbacking" default="true"
5960
description="Cancel the task in XL Deploy if the tasks fails and Rollback On Error is not selected."/>
6061
<property name="failOnPause" category="input" kind="boolean" required="false" default="true"/>
61-
<property name="displayStepLogs" category="input" kind="boolean" required="false" default="true"/>
6262
</type>
6363

6464
<type type="xldeploy.UndeployTask" label="XL Deploy: Undeploy extended" extends="xldeploy.TaskRunningTask"

src/main/resources/xlr_xldeploy/XLDeployClient.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ def prepare_control_task(self, control_task_name, target_ci_id, parameters=None)
146146

147147
def invoke_task_and_wait_for_result(self, task_id, polling_interval=10, number_of_trials=None,
148148
continue_if_step_fails=False, number_of_continue_retrials=0,
149-
fail_on_pause=True):
149+
fail_on_pause=True, display_step_logs = False):
150150
start_task_url = "/deployit/task/%s/start" % task_id
151151
self.http_request.post(start_task_url, '', contentType='application/xml')
152152
trial = 0
@@ -175,6 +175,9 @@ def invoke_task_and_wait_for_result(self, task_id, polling_interval=10, number_o
175175
if status in ('FAILED', 'ABORTED', 'CANCELLED', 'DONE', 'EXECUTED'):
176176
break
177177
time.sleep(polling_interval)
178+
if display_step_logs:
179+
print "Display the step logs"
180+
self.display_step_logs(task_id)
178181
return status
179182

180183
def get_deployment_package(self, deployed_application_id):

src/main/resources/xlr_xldeploy/controlTask.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,13 @@
1212
import sys
1313
from xlr_xldeploy.XLDeployClientUtil import XLDeployClientUtil
1414

15-
1615
xld_client = XLDeployClientUtil.create_xldeploy_client(xldeployServer, username, password)
1716

18-
print 'DEBUG: About to prepare %s on %s\n' % (controlTaskName, ciId)
1917
task_id = xld_client.prepare_control_task(controlTaskName, ciId, parameters)
20-
print 'DEBUG: About to invoke task and wait for response', task_id, '\n'
21-
task_state = xld_client.invoke_task_and_wait_for_result(task_id, pollingInterval, numberOfPollingTrials, continueIfStepFails, numberOfContinueRetrials)
22-
print 'DEBUG: Task state for', task_id, ':', task_state, '\n'
18+
task_state = xld_client.invoke_task_and_wait_for_result(task_id, pollingInterval, numberOfPollingTrials,
19+
continueIfStepFails, numberOfContinueRetrials,
20+
display_step_logs=displayStepLogs)
2321
xld_client.archive_task(task_id)
24-
if task_state in ('DONE','EXECUTED'):
22+
if task_state in ('DONE', 'EXECUTED'):
2523
sys.exit(0)
2624
sys.exit(1)
27-
28-

src/main/resources/xlr_xldeploy/deployTask.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
# Mapping deployables to the target environment
2626
# deploymentProperties + configure orchestrators
2727
print "Mapping all deployables \n"
28-
deployment = xld_client.deployment_prepare_deployeds(deployment, orchestrators, deployedApplicationProperties, overrideDeployedProps, deployedProperties)
28+
deployment = xld_client.deployment_prepare_deployeds(deployment, orchestrators, deployedApplicationProperties,
29+
overrideDeployedProps, deployedProperties)
2930

3031
print "Validating the deployment\n"
3132
validation_messages = xld_client.validate(deployment)
@@ -41,11 +42,9 @@
4142
taskId = xld_client.get_deployment_task_id(deployment)
4243

4344
print "Execute task with id: %s" % taskId
44-
taskState = xld_client.invoke_task_and_wait_for_result(taskId, pollingInterval, numberOfPollingTrials, continueIfStepFails, numberOfContinueRetrials, failOnPause)
45-
46-
if displayStepLogs:
47-
print "Display the step logs"
48-
xld_client.display_step_logs(taskId)
45+
taskState = xld_client.invoke_task_and_wait_for_result(taskId, pollingInterval, numberOfPollingTrials,
46+
continueIfStepFails, numberOfContinueRetrials, failOnPause,
47+
display_step_logs=displayStepLogs)
4948

5049
if taskState in ('DONE', 'EXECUTED'):
5150
print "Deployment ended in %s \n" % taskState
@@ -58,7 +57,9 @@
5857
print "Going to rollback \n"
5958
xld_client.stop_task(taskId)
6059
rollBackTaskId = xld_client.deployment_rollback(taskId)
61-
taskState = xld_client.invoke_task_and_wait_for_result(rollBackTaskId, pollingInterval, numberOfPollingTrials, continueIfStepFails, numberOfContinueRetrials)
60+
taskState = xld_client.invoke_task_and_wait_for_result(rollBackTaskId, pollingInterval, numberOfPollingTrials,
61+
continueIfStepFails, numberOfContinueRetrials,
62+
display_step_logs=displayStepLogs)
6263
xld_client.archive_task(rollBackTaskId)
6364
elif cancelOnError:
6465
print "Task failed; cancelling task. \n"

src/main/resources/xlr_xldeploy/undeployTask.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535

3636
print "Execute task with id: %s" % task_id
3737
task_state = xld_client.invoke_task_and_wait_for_result(task_id, pollingInterval, numberOfPollingTrials,
38-
continueIfStepFails, numberOfContinueRetrials, failOnPause)
38+
continueIfStepFails, numberOfContinueRetrials, failOnPause,
39+
display_step_logs=displayStepLogs)
3940

4041
xld_client.display_step_logs(task_id)
4142

@@ -50,7 +51,8 @@
5051
xld_client.stop_task(task_id)
5152
rollback_task_id = xld_client.deployment_rollback(task_id)
5253
task_state = xld_client.invoke_task_and_wait_for_result(rollback_task_id, pollingInterval, numberOfPollingTrials,
53-
continueIfStepFails, numberOfContinueRetrials)
54+
continueIfStepFails, numberOfContinueRetrials,
55+
display_step_logs=displayStepLogs)
5456
xld_client.archive_task(rollback_task_id)
5557
sys.exit(1)
5658
elif task_state in ('FAILED', 'STOPPED'):

0 commit comments

Comments
 (0)