tidy gitlab-webhook-debug.yml; initial split-host-job-launch-webhook.yml implementation

This commit is contained in:
2022-05-04 17:14:21 -04:00
parent 84817b0c6c
commit d077127c7e
2 changed files with 66 additions and 3 deletions

View File

@ -9,9 +9,9 @@
- name: Debug Gitlab Webhook
debug:
msg:
- "{{ __message | default('Not defined', True) }}"
- "{{ tower_webhook_payload.event_name | default('Not defined', True) }}"
- "{{ tower_webhook_payload.checkout_sha | default('Not defined', True) }}"
- "{{ __message | default('Not defined', True) }}"
- "{{ tower_webhook_payload.event_name | default('Not defined', True) }}"
- "{{ tower_webhook_payload.checkout_sha | default('Not defined', True) }}"
- "{{ tower_webhook_payload.commits[0].message | default('Not defined', True) }}"
- "{{ tower_webhook_payload.commits[0].added | default('Not defined', True) }}"
- "{{ tower_webhook_payload.commits[0].modified | default('Not defined', True) }}"

View File

@ -0,0 +1,63 @@
---
- name: Create inventory based on extra_vars
hosts: all
gather_facts: no
become: no
vars_files:
- vars/defaults.yml
vars:
provision_host: "{{ tower_provision_host | default(ansible_play_hosts | join(',')) }}"
tasks:
- name: Set provision_host to Gitlab commit message if defined
set_fact:
provision_host: "{{ tower_webhook_payload.commits[0].message }}"
when: tower_webhook_payload.commits[0].message is defined
- name: "Create in-memory inventory"
add_host:
name: "{{ item }}"
groups:
- remdiation
delegate_to: localhost
loop: "{{ provision_host.split(',') }}"
# =========================================================================== #
- name: Split up hosts into single job runs
hosts: remdiation
become: no
gather_facts: no
vars_files:
- vars/defaults.yml
tasks:
- name: Launch job per each host
no_log : "{{ __no_log | default('yes') }}"
uri :
url : "{{ tower_remdiation_workflow }}"
force_basic_auth : yes
user : "{{ tower_user }}"
password : "{{ tower_password }}"
body_format : json
method : POST
status_code : 201
body:
extra_vars:
tower_provision_host: "{{ item }}"
loop: "{{ ansible_play_hosts }}"
run_once: yes
...