Fix play-level when and teardown credential handling in webrunner.yml
Ansible does not support 'when' at the play level — moved
teardown_after_scan condition onto each individual teardown task.
Teardown Linode task now reads token from LINODE_TOKEN env var via
lookup('env') instead of the linode_token extra-var (which is now
filtered out of extra-vars by _SECRET_KEYS). AWS teardown removes
hardcoded aws_access_key/secret_key params — those are already set
as environment vars by set_provider_environment().
This commit is contained in:
@@ -99,7 +99,6 @@
|
|||||||
hosts: localhost
|
hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
when: teardown_after_scan | default(true) | bool
|
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Teardown Linode nodes
|
- name: Teardown Linode nodes
|
||||||
@@ -107,10 +106,11 @@
|
|||||||
url: "https://api.linode.com/v4/linode/instances/{{ hostvars[item]['linode_instance_id'] }}"
|
url: "https://api.linode.com/v4/linode/instances/{{ hostvars[item]['linode_instance_id'] }}"
|
||||||
method: DELETE
|
method: DELETE
|
||||||
headers:
|
headers:
|
||||||
Authorization: "Bearer {{ linode_token }}"
|
Authorization: "Bearer {{ lookup('env', 'LINODE_TOKEN') }}"
|
||||||
status_code: [200, 204]
|
status_code: [200, 204]
|
||||||
loop: "{{ groups['webrunner_nodes'] | default([]) }}"
|
loop: "{{ groups['webrunner_nodes'] | default([]) }}"
|
||||||
when:
|
when:
|
||||||
|
- teardown_after_scan | default(true) | bool
|
||||||
- hostvars[item]['provider'] == 'linode'
|
- hostvars[item]['provider'] == 'linode'
|
||||||
- hostvars[item]['linode_instance_id'] is defined
|
- hostvars[item]['linode_instance_id'] is defined
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
@@ -120,11 +120,10 @@
|
|||||||
instance_ids:
|
instance_ids:
|
||||||
- "{{ hostvars[item]['ec2_instance_id'] }}"
|
- "{{ hostvars[item]['ec2_instance_id'] }}"
|
||||||
region: "{{ aws_region | default('us-east-1') }}"
|
region: "{{ aws_region | default('us-east-1') }}"
|
||||||
aws_access_key: "{{ aws_access_key | default('') }}"
|
|
||||||
aws_secret_key: "{{ aws_secret_key | default('') }}"
|
|
||||||
state: terminated
|
state: terminated
|
||||||
loop: "{{ groups['webrunner_nodes'] | default([]) }}"
|
loop: "{{ groups['webrunner_nodes'] | default([]) }}"
|
||||||
when:
|
when:
|
||||||
|
- teardown_after_scan | default(true) | bool
|
||||||
- hostvars[item]['provider'] == 'aws'
|
- hostvars[item]['provider'] == 'aws'
|
||||||
- hostvars[item]['ec2_instance_id'] is defined
|
- hostvars[item]['ec2_instance_id'] is defined
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
@@ -132,4 +131,7 @@
|
|||||||
- name: Teardown complete
|
- name: Teardown complete
|
||||||
debug:
|
debug:
|
||||||
msg: "All WEBRUNNER scan nodes destroyed."
|
msg: "All WEBRUNNER scan nodes destroyed."
|
||||||
when: groups['webrunner_nodes'] is defined and groups['webrunner_nodes'] | length > 0
|
when:
|
||||||
|
- teardown_after_scan | default(true) | bool
|
||||||
|
- groups['webrunner_nodes'] is defined
|
||||||
|
- groups['webrunner_nodes'] | length > 0
|
||||||
|
|||||||
Reference in New Issue
Block a user