2020-01-22 15:31:04 |
Graham Lenton |
description |
When defining `ceph_keyrings_dir` and providing keyring files as described at https://review.opendev.org/#/c/671762/ the task "ceph_client : From files | Retrieve keyrings for openstack clients" fails with "'item' is undefined".
I think there are two problems with this task.
Firstly the loop around `ceph_client_filtered_clients` refers to `item` instead of `client` when updating `_keys`.
Secondly, the _keys object is declared as an array when it should be a dictionary.
There is further problem with comes to light in the next task "From files | Provision ceph client keyrings" which fails with "ansible.vars.hostvars.HostVarsVars object' has no attribute 'ceph_client_keys'". This is because the first "retrieve" task was delegated to localhost, but `delegate_facts: yes` was not set, so the fact was never set on localhost..
I've attached a patch for roles/ceph_client/tasks/ceph_get_keyrings_from_files.yml |
When defining `ceph_keyrings_dir` and providing keyring files as described at https://review.opendev.org/#/c/671762/ the task "ceph_client : From files | Retrieve keyrings for openstack clients" fails with "'item' is undefined".
I think there are two problems with this task.
Firstly the loop around `ceph_client_filtered_clients` refers to `item` instead of `client` when updating `_keys`.
Secondly, the _keys object is declared as an array when it should be a dictionary.
There is a further problem which comes to light in the next task "From files | Provision ceph client keyrings" which fails with "ansible.vars.hostvars.HostVarsVars object' has no attribute 'ceph_client_keys'". This is because the first "retrieve" task was delegated to localhost, but `delegate_facts: yes` was not set, so the fact was never set on localhost..
I've attached a patch for roles/ceph_client/tasks/ceph_get_keyrings_from_files.yml |
|