We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
see below my template :
name: patch description: patch connections long_description: patch connections doc_link: https://en.wikipedia.org/wiki/%22Hello,_World!%22_program
title_format: patch connections
allowed_resolver_usernames: [] allow_all_resolver_usernames: true auto_runnable: true blocked: false hidden: false
retry_max: 100
inputs:
name: tower_url description: tower_url optional: true default: '{{.config.towerurl}}'
name: tower_endpoint description: tower_endpoint optional: true default: '{{.config.towerendpoint}}'
name: hosts_list description: hosts_list optional: true
name: create_snapshot description: create_snapshot optional: true
name: erratas description: erratas optional: true
name: mailAddress description: mailAddress optional: true
name: reboot description: reboot optional: true
name: remove_snapshot description: remove_snapshot optional: true
name: kafka_url description: kafka url optional: true
name: kafka_message description: kafka message optional: true
name: kafka_key description: kafka key optional: true runPatch: description: run patch via ansible tower action: type: http configuration: method: POST url: '{{.config.towerurl}}{{.config.towerendpoint}}' auth: basic: user: '{{.config.toweruser}}' password: '{{.config.towerpassword}}' insecure_skip_verify: "true" headers: - name: Content-Type value: "application/json" - name: Accept value: "application/json" body: |- { "extra_vars": { "hosts_list": "{{.input.hosts_list}}", "create_snapshot": "{{.input.create_snapshot}}", "erratas": "{{.input.erratas}}", "mailAddress": "{{.input.mailAddress}}", "reboot": "{{.input.reboot}}", "remove_snapshot": "{{.input.remove_snapshot}}" } }
getStatus: description: get status from tower job dependencies: [runPatch] action: type: http configuration: method: GET #timeout_seconds: "2" url: '{{.config.towerurl}}/api/v2/jobs/{{.step.runPatch.output.job}}/' insecure_skip_verify: "true" auth: basic: user: '{{.config.toweruser}}' password: '{{.config.towerpassword}}' conditions: - type: check if: - value: '{{.step.getStatus.metadata.HTTPStatus}}' operator: GE expected: '300' then: this: FATAL_ERROR message: 'FAILED'
getContent: description: get status from tower job dependencies: [runPatch] #timeout: "5s" action: type: http configuration: method: GET #timeout_seconds: "2" url: '{{.config.towerurl}}/api/v2/jobs/{{.step.runPatch.output.job}}/stdout/?format=json' insecure_skip_verify: "true" auth: basic: user: '{{.config.toweruser}}' password: '{{.config.towerpassword}}' conditions: - type: skip if: - value: '{{.step.getStatus.output.status}}' operator: NE expected: 'failed' then: this: DONE
informKafka: dependencies: [getContent,getStatus] description: post message to kafka regarding patch progress retry_pattern: minutes action: type: http configuration: method: POST #timeout_seconds: "2" url: '{{.config.kafkaurl}}' headers: - name: Content-Type value: "application/vnd.kafka.json.v2+json" - name: Accept value: "application/vnd.kafka.v2+json" #"records":[{"key":"{{.step.runPatch.output.job}}","value": "{{.step.getStatus.output.status}}" body: |- { "records":[{"key":"{{.step.runPatch.output.job}}_request_ID", "value": "[{'id': '{{.step.runPatch.output.job}}','status':'{{.step.getStatus.output.status}}','comments': '','failureReason': '{{.step.getContent.output.content}}','category': 'patch','userName': 'ansible'}]"}] }
conditions: - type: check if: - value: 'failed,successful' operator: NOTIN expected: '{{.step.getStatus.output.status}}' then: this: TO_RETRY getContent: TO_RETRY getStatus: TO_RETRY
- type: skip if: - value: '{{.step.getStatus.output.status}}' operator: EQ expected: '<no value>' then: this: TO_RETRY
Retry mechanism is running every 10 sec , doesn't matter what i put in retry_pattern
The text was updated successfully, but these errors were encountered:
No branches or pull requests
see below my template :
name: patch
description: patch connections
long_description: patch connections
doc_link: https://en.wikipedia.org/wiki/%22Hello,_World!%22_program
title_format: patch connections
allowed_resolver_usernames: []
allow_all_resolver_usernames: true
auto_runnable: true
blocked: false
hidden: false
retry_max: 100
inputs:
name: tower_url
description: tower_url
optional: true
default: '{{.config.towerurl}}'
name: tower_endpoint
description: tower_endpoint
optional: true
default: '{{.config.towerendpoint}}'
name: hosts_list
description: hosts_list
optional: true
name: create_snapshot
description: create_snapshot
optional: true
name: erratas
description: erratas
optional: true
name: mailAddress
description: mailAddress
optional: true
name: reboot
description: reboot
optional: true
name: remove_snapshot
description: remove_snapshot
optional: true
name: kafka_url
description: kafka url
optional: true
name: kafka_message
description: kafka message
optional: true
name: kafka_key
description: kafka key
optional: true
runPatch:
description: run patch via ansible tower
action:
type: http
configuration:
method: POST
url: '{{.config.towerurl}}{{.config.towerendpoint}}'
auth:
basic:
user: '{{.config.toweruser}}'
password: '{{.config.towerpassword}}'
insecure_skip_verify: "true"
headers:
- name: Content-Type
value: "application/json"
- name: Accept
value: "application/json"
body: |-
{
"extra_vars":
{
"hosts_list": "{{.input.hosts_list}}",
"create_snapshot": "{{.input.create_snapshot}}",
"erratas": "{{.input.erratas}}",
"mailAddress": "{{.input.mailAddress}}",
"reboot": "{{.input.reboot}}",
"remove_snapshot": "{{.input.remove_snapshot}}"
}
}
getStatus:
description: get status from tower job
dependencies: [runPatch]
action:
type: http
configuration:
method: GET
#timeout_seconds: "2"
url: '{{.config.towerurl}}/api/v2/jobs/{{.step.runPatch.output.job}}/'
insecure_skip_verify: "true"
auth:
basic:
user: '{{.config.toweruser}}'
password: '{{.config.towerpassword}}'
conditions:
- type: check
if:
- value: '{{.step.getStatus.metadata.HTTPStatus}}'
operator: GE
expected: '300'
then:
this: FATAL_ERROR
message: 'FAILED'
getContent:
description: get status from tower job
dependencies: [runPatch]
#timeout: "5s"
action:
type: http
configuration:
method: GET
#timeout_seconds: "2"
url: '{{.config.towerurl}}/api/v2/jobs/{{.step.runPatch.output.job}}/stdout/?format=json'
insecure_skip_verify: "true"
auth:
basic:
user: '{{.config.toweruser}}'
password: '{{.config.towerpassword}}'
conditions:
- type: skip
if:
- value: '{{.step.getStatus.output.status}}'
operator: NE
expected: 'failed'
then:
this: DONE
informKafka:
dependencies: [getContent,getStatus]
description: post message to kafka regarding patch progress
retry_pattern: minutes
action:
type: http
configuration:
method: POST
#timeout_seconds: "2"
url: '{{.config.kafkaurl}}'
headers:
- name: Content-Type
value: "application/vnd.kafka.json.v2+json"
- name: Accept
value: "application/vnd.kafka.v2+json"
#"records":[{"key":"{{.step.runPatch.output.job}}","value": "{{.step.getStatus.output.status}}"
body: |-
{
"records":[{"key":"{{.step.runPatch.output.job}}_request_ID", "value": "[{'id': '{{.step.runPatch.output.job}}','status':'{{.step.getStatus.output.status}}','comments': '','failureReason': '{{.step.getContent.output.content}}','category': 'patch','userName': 'ansible'}]"}]
}
conditions:
- type: check
if:
- value: 'failed,successful'
operator: NOTIN
expected: '{{.step.getStatus.output.status}}'
then:
this: TO_RETRY
getContent: TO_RETRY
getStatus: TO_RETRY
Retry mechanism is running every 10 sec , doesn't matter what i put in retry_pattern
The text was updated successfully, but these errors were encountered: