I noticed that a fix attempt for this recently went into the devel branch 
thanks to help on the IRC channel. Thanks for pointing me in the right 
direction, all!

https://github.com/ansible/ansible/issues/8661

However, I'm having a similar problem with the following snippet:

  - name: "Try to inject commas in env strings"
    docker: image="readytalk/tomcat-native:8.0.9"
            state="running"
            env='CATALINA_OPTS="-Dconfig.zookeepers=zookeeper1,zookeeper2"'

Which dumps out (on devel branch with 
HEAD d63092ea45d70cb14c7633a8183a7a38a2726111)

fatal: [newman] => failed to parse: Traceback (most recent call last):
  File 
"/home/sgoings/.ansible/tmp/ansible-tmp-1408553551.73-77442219569203/docker", 
line 2163, in <module>
    main()
  File 
"/home/sgoings/.ansible/tmp/ansible-tmp-1408553551.73-77442219569203/docker", 
line 724, in main
    net             = dict(default=None)
  File 
"/home/sgoings/.ansible/tmp/ansible-tmp-1408553551.73-77442219569203/docker", 
line 1086, in __init__
    self._check_argument_types()
  File 
"/home/sgoings/.ansible/tmp/ansible-tmp-1408553551.73-77442219569203/docker", 
line 1623, in _check_argument_types
    self.params[k] = dict([x.strip().split("=", 1) for x in 
value.split(",")])
ValueError: dictionary update sequence element #1 has length 1; 2 is 
required

What could I do to avoid this problem?

On Thursday, August 14, 2014 6:13:36 AM UTC-6, Michael DeHaan wrote:
>
> I think this is the problem in the module:
>
>  env = dict(type='list'), 
> If it were type='dict' we could do:
>
> docker: 
>
>     env:
>
>           options: {"foo":"bar","baz":"qux"}
>
>    other_arguments_here: 1234
>
>
> And basically use full YAML, without any splitting magic.
>
>
> If someone would like to help test that change, that would be great, 
> otherwise, please file a github ticket and we can try it.
>
> It would also be nice if we could do it in a compatible way, but this is 
> probably not be possible.
>
> Docker is new and has broken APIs in the past, we may also have to :)
>
>
>
>
> On Wed, Aug 13, 2014 at 11:51 PM, Dane Lipscombe <[email protected] 
> <javascript:>> wrote:
>
>> I use json to compact my docker environment variables, the problem is 
>> that the docker module parser splits on ',' character to signify a new 
>> key/value pair, meaning that more than one key doesn't work. eg
>>
>> docker: env='options={"foo":"bar"}' //ok
>>
>> docker: env='options={"foo":"bar","baz":"qux"}' //error because of comma
>>
>> Is it possible to add an escape for the comma, eg '\,' or ',,' ?
>>
>>
>>
>>
>> Also, where do you see the latest docker module code? I found this link 
>> but it says its been merged into the main repository.
>>
>> https://github.com/cove/docker-ansible/blob/master/docker-ansible.py
>>  
>> -- 
>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/69fe3bf1-6a74-484c-b997-8c07dd229478%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/69fe3bf1-6a74-484c-b997-8c07dd229478%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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/a24d0c7e-11d2-4c79-8bc3-564fdb4e4876%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to