Skip to content

Commit

Permalink
Make Beaker Dump useful data into RunDB
Browse files Browse the repository at this point in the history
  • Loading branch information
Clint Savage committed Apr 5, 2018
1 parent 040186e commit f7d5389
Showing 1 changed file with 39 additions and 14 deletions.
53 changes: 39 additions & 14 deletions linchpin/provision/roles/beaker/tasks/provision_resource_group.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,37 +17,62 @@
register: bkr

- block:
# stash job ids and urls for printing
- name: set bkr_id_values, set initial topology outputs for teardown with rundb
- name: set bkr ids from results
set_fact:
bkr_id_values: "{{ bkr_id_values | default({}) | combine(result['ids']) }}"
topology_outputs_beaker_server: "{{ topology_outputs_beaker_server }} + {{ result['hosts'] }}"
bkr_ids: "{{ bkr_ids | default({}) | combine(result['ids']) }}"
with_items: "{{ bkr.results }}"
loop_control:
loop_var: result

- name: set bkr hosts from results
set_fact:
bkr_hosts: "{{ bkr_hosts | default([]) }} + {{ result['hosts'] }}"
with_items: "{{ bkr.results }}"
loop_control:
loop_var: result

- name: "split id and url into separate components"
set_fact:
bkr_id_values: "{{ bkr_id_values | default([]) + [{ 'id': result.key, 'url': result.value }] }}"
with_dict: "{{ bkr_ids }}"
loop_control:
loop_var: result

- name: combine bkr_id_values with bkr_hosts
set_fact:
tmp_hosts: "{{ item | combine(bkr_hosts | selectattr('id', 'equalto', item.id) | first) }}"
with_items: "{{ bkr_id_values }}"
register: tmp_info

- name: "Set topology_outputs_beaker_server to the current job(s) data"
set_fact:
topology_outputs_beaker_server: "{{ tmp_info.results | map(attribute='ansible_facts.tmp_hosts') | list }}"

- name: "Add beaker job info to the rundb"
rundb:
conn_str: "{{ rundb_conn }}"
operation: update
table: "{{ target }}"
key: "outputs"
value: "[{{ {'resources': topology_outputs_beaker_server} }}]"
value: "[{{ {'resources': bkr_id_values} }}]"
run_id: "{{ rundb_id }}"
when: not generate_resources

- name: print beaker job ids and URLs
debug:
var: bkr_id_values

- name: "fetch beaker details"
bkr_info:
ids: "{{ bkr_id_values }}"
ids: "{{ bkr_ids }}"
# pull provision params from the first (should be only) result
provision_params: "{{ bkr.results[0].provision_params }}"
register: _topology_outputs_beaker_server
register: _topo_out_bkr_server

- name: "set topology_outputs_beaker_server"
set_fact:
tmp_topo_bkr_srvc: "{{ item | combine(_topo_out_bkr_server['hosts'] | selectattr('id', 'equalto', item.id) | first) }}"
when: state == 'present'
with_items: "{{ topology_outputs_beaker_server }}"
register: tmp_bkr

- name: "extract beaker outputs"
- name: "Set topology_outputs_beaker_server to the current job(s) data"
set_fact:
topology_outputs_beaker_server: "{{ _topology_outputs_beaker_server.hosts }}"
when: state == 'present'
topology_outputs_beaker_server: "{{ tmp_bkr.results | map(attribute='ansible_facts.tmp_topo_bkr_srvc') | list }}"

0 comments on commit f7d5389

Please sign in to comment.