Parse ceph_client_ansible_vars in ceph-ansible workbook

We might emit ceph_client_ansible_vars when configuring a Ceph
client in the overcloud with an external Ceph cluster.

Also refactors the YAQL to collect ceph-ansible parameters to
be safer.

Co-Authored-By: John Fulton <fulton@redhat.com>
Change-Id: Ifc57c9cf6ca8017a2abc78d6320c0675ad49ca9f
Related-Bug: #1714271
Related-Bug: #1712912
(cherry picked from commit e325fffb8e)
This commit is contained in:
Giulio Fidente 2017-08-31 16:40:55 +02:00 committed by Emilien Macchi
parent 3d1ddce104
commit ed0c9c31a1
1 changed files with 6 additions and 5 deletions

View File

@ -47,15 +47,16 @@ workflows:
set_role_vars:
publish:
# NOTE(gfidente): collect role settings from all tht roles
mon_vars: <% env().get('role_merged_configs').items().select($[1].get('ceph_mon_ansible_vars', {})).aggregate($1.mergeWith($2)) %>
osd_vars: <% env().get('role_merged_configs').items().select($[1].get('ceph_osd_ansible_vars', {})).aggregate($1.mergeWith($2)) %>
mds_vars: <% env().get('role_merged_configs').items().select($[1].get('ceph_mds_ansible_vars', {})).aggregate($1.mergeWith($2)) %>
rgw_vars: <% env().get('role_merged_configs').items().select($[1].get('ceph_rgw_ansible_vars', {})).aggregate($1.mergeWith($2)) %>
mon_vars: <% env().get('role_merged_configs', {}).values().select($.get('ceph_mon_ansible_vars', {})).aggregate($1 + $2) %>
osd_vars: <% env().get('role_merged_configs', {}).values().select($.get('ceph_osd_ansible_vars', {})).aggregate($1 + $2) %>
mds_vars: <% env().get('role_merged_configs', {}).values().select($.get('ceph_mds_ansible_vars', {})).aggregate($1 + $2) %>
rgw_vars: <% env().get('role_merged_configs', {}).values().select($.get('ceph_rgw_ansible_vars', {})).aggregate($1 + $2) %>
client_vars: <% env().get('role_merged_configs', {}).values().select($.get('ceph_client_ansible_vars', {})).aggregate($1 + $2) %>
on-success: build_extra_vars
build_extra_vars:
publish:
# NOTE(gfidente): merge vars from all ansible roles
extra_vars: <% {'fetch_directory'=> $.fetch_directory} + $.mon_vars + $.osd_vars + $.mds_vars + $.rgw_vars + $.ceph_ansible_extra_vars %>
extra_vars: <% {'fetch_directory'=> $.fetch_directory} + $.mon_vars + $.osd_vars + $.mds_vars + $.rgw_vars + $.client_vars + $.ceph_ansible_extra_vars %>
on-success: ceph_install
ceph_install:
action: tripleo.ansible-playbook