Hey Daniel! This stem from ticket #02582900. Since the stance from Support is “we don’t debug playbooks”, I care here.
Their suggestion was to make sure that no healing operation was going on, stop Gluster, do the “yum update “, then restart Gluster & move to the next server. So what I’m trying to accomplish is start with server1, wait for any healing operations on our 3 volumes to finish, stop/update/start then move to the next. I’m sure this will lead to a “workflow template” discussion/approach, but right now this is my starting point. Thanks, Harry On Thu, Feb 27, 2020 at 12:48 PM Daniel Whitley <[email protected]> wrote: > Hey Harry- > I saw this over my lunch break and thought I'd ask if it really matters > (meaning, do you use it later or something) what the count/sum is or if you > just want to wait until something is true (such as the number of "heals" is > 0). If the count doesn't really matter, I wonder if you could take > advantage of until > <https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#retrying-a-task-until-a-condition-is-met> > in your "Find out the healing status of /home" task? It looks like the > gluster_heal_info > <https://docs.ansible.com/ansible/latest/modules/gluster_heal_info_module.html> > module returns a list of files in "heal_info" so you may just want to wait > "until" that list is empty before moving on to the next task? I've not > tried this nor ever used the module. I also realize it doesn't address the > question you asked, but you should be used to that from me at this point. :) > -Daniel > > > On Thu, Feb 27, 2020 at 9:38 AM harry devine <[email protected]> wrote: > >> I'm using the gluster_heal_info module to check the heal status of a >> gluster volume. What I'd like to do is gather the "no_of_entries" >> parameter, sum them up, and it if it is 0, move to the next step of >> stopping gluster on that server, update it, and restart the service. The >> playbook below is my initial test to see how to grab that information. It >> is giving me the following error: >> >> [root@test-server ~]#ansible-playbook gluster_heal_info.yml --limit >> storage1.tc.secure-ose.faa.gov -K >> BECOME password: >> >> PLAY [gluster] >> ************************************************************************************************************************************* >> >> TASK [Find out the healing status of /home] >> ******************************************************************************************************** >> ok: [gluster1] >> >> TASK [set_fact] >> ************************************************************************************************************************************ >> fatal: [gluster1]: FAILED! => {"msg": "Unexpected templating type error >> occurred on ({{ home_heal_status.glusterfs.heal_info | >> sum(attribute='no_of_entries', start=[]) }}): can only concatenate list >> (not \"AnsibleUnsafeText\") to list"} >> >> >> I'm not too familiar with jinja2 templates yet, so I'm sure I'm not doing >> something correct. Can anyone point me in the right direction? >> >> Thanks, >> Harry >> >> --- >> - hosts: gluster >> become: yes >> become_method: sudo >> gather_facts: no >> >> tasks: >> >> - name: Find out the healing status of /home >> gluster_heal_info: >> name: home >> status_filter: self-heal >> register: home_heal_status >> >> - set_fact: >> home_heal_entries: "{{ home_heal_status.glusterfs.heal_info | >> sum(attribute='no_of_entries', start=[]) }}" >> - debug: >> msg: "Heal entries: {{ home_heal_entries }}" >> >> -- >> >> -- > You received this message because you are subscribed to the Google Groups > "Ansible Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/CA%2BM63kcQw_UTUMW%2BmLXd0uNv3Bgowfdy9yP_v%2B55yW9cKkKN6A%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CA%2BM63kcQw_UTUMW%2BmLXd0uNv3Bgowfdy9yP_v%2B55yW9cKkKN6A%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CALYKJ26a02xq6HdogAF4jXKY9V542CysVm37vSnJgVvA9y7r8A%40mail.gmail.com.
