Answering my own question, hopefully will help someone else who might
encounter this. I spent some time looking into this:

  File "<stdin>", line 406, in main

is actually:

        if rebalance:
            rebalance(volume_name)

which in turn runs:

    def rebalance(name):
        run_gluster(['volume', 'rebalance', name, 'start'])

effectively resulting in:

# gluster volume rebalance brain start
volume rebalance: brain: failed: Volume brain is not a distribute volume or
contains only 1 brick. Not performing rebalance

# echo $?
1

There's no need to rebalance anything in my cluster configuration (3 x 1
mirrors, no distribution). Removing *rebalance=yes* from my task causes the
problem to go away for me.

Nevertheless I think the module should catch this case and handle it
gracefully.

Regards,

On Fri, Mar 27, 2015 at 3:52 PM, Rumen Telbizov <[email protected]> wrote:

> For what is worth, changing any option to an already established volume
> results in the same behavior.
>
> On Fri, Mar 27, 2015 at 2:32 PM, Rumen Telbizov <[email protected]>
> wrote:
>
>> Dear Taneli, Ansible list,
>>
>> I started using the new gluster_volume module which was released as part
>> of ansible 1.9. It comes right on time for me. Thank you for your efforts
>> maintaining the project and delivering new functionality. Unfortunately I
>> seem to be running into a problem with it every time I try to create a
>> brand new GlusterFS volume and cluster. It seems like the actual underlying
>> operation does succeed since the glusterfs volume is created successfully
>> and everything seems to be fine when I check on the command line but the
>> playbook operation returns and error and the playbook terminates.
>>
>> Here's the error message that I get:
>>
>> failed: [host1] => {"failed": true, "parsed": false}
>> OpenSSH_5.9p1, OpenSSL 0.9.8za 5 Jun 2014
>> debug1: Reading configuration data /Users/rumen/.ssh/config
>> debug1: /Users/rumen/.ssh/config line 41: Applying options for *
>> debug1: /Users/rumen/.ssh/config line 80: Applying options for *
>> debug1: Reading configuration data /etc/ssh_config
>> debug1: /etc/ssh_config line 20: Applying options for *
>> debug1: /etc/ssh_config line 55: Applying options for *
>> debug1: auto-mux: Trying existing master
>> debug1: mux_client_request_session: master session id: 2
>> Traceback (most recent call last):
>>   File "<stdin>", line 2009, in <module>
>>   File "<stdin>", line 406, in main
>> *TypeError: 'bool' object is not callable*
>>
>> FATAL: all hosts have already failed -- aborting
>>
>>
>> ​Ansible playbook gluster_volume​ snippet:
>>
>> -   name:           glusterfs volume
>>     run_once:       true
>>     gluster_volume: state=present name=brain rebalance=yes transport=tcp
>> start_on_create=yes host={{
>> ​proj​
>> _hostname }}
>>                     brick=/
>> ​path/to​
>> /brick
>>                     replicas={{
>> ​proj​
>> _hostnames_array|length }}
>>                     cluster={{
>> ​proj​
>> _hostnames }}
>>                     options="{ 'nfs.disable':'on',
>> 'network.ping-timeout':'5', 'storage.health-check-interval':'5',
>> 'auth.allow':'{{
>> ​proj​
>> _hostnames }}' }"
>>
>> Variables above expand to:
>>
>> proj_hostname = 'host1'                              # string: current
>> host running this run_once job
>> proj_hostname = 'host1,host2,host3'                  # string: all three
>> hosts participating in the cluster
>> proj_hostnames_array = [ 'host1', 'host2', 'host3' ]​ # array:  same as
>> above, but an array of strings
>>
>>
>> ​Also worth mentioning that subsequent reruns of the same playbook are
>> fine and report no errors and no changes. So again, the underlying action
>> has been successful.
>>
>> ​Please let me know if I could provide any additional details.
>> Your help is appreciated.​
>>
>> ​Regards,​
>> --
>> Rumen Telbizov
>> Unix Systems Administrator <http://telbizov.com>
>>
>
>
>
> --
> Rumen Telbizov
> Unix Systems Administrator <http://telbizov.com>
>



-- 
Rumen Telbizov
Unix Systems Administrator <http://telbizov.com>

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAENR%2B_UMLDtkMj5%2BPt4i0K_LtNxBeV14nypcDLjZijevE9amYQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to