I must be close, but it's not working with uri module. Here's what I put
in the role. Setting the uri_body as a fact beforehand and using "to_json"
was an attempt to get around the error I'm getting, but that doesn't help
either.
- name: Set uri_body (workaround)
set_fact:
uri_body:
transient:
cluster.routing.allocation.enable: "none"
- name: Disable shard allocation to prevent es from rebalancing missing
shards
uri:
url: "http://localhost:9200/_cluster/settings"
method: PUT
body: "{{ uri_body | to_json }}"
body_format: json
When I run it I get this:
fatal: [vm2.example.com]: FAILED! => {"changed": false, "failed": true,
"module_stderr": "", "module_stdout": "Traceback (most recent call
last):\r\n File \"/tmp/ansible-tmp-1460491268.69-8119459959976/uri\", line
3363, in <module>\r\n main()\r\n File
\"/tmp/ansible-tmp-1460491268.69-8119459959976/uri\", line 374, in main\r\n
dict_headers['Content-Type'] = 'application/json'\r\nTypeError:
'NoneType' object does not support item assignment\r\n", "msg": "MODULE
FAILURE", "parsed": false}
On Tuesday, 12 April 2016 09:42:09 UTC-6, Matt Martz wrote:
>
> I know this isn't really a direct answer to your question, but why not use
> the `uri` module instead?
>
> - uri:
> url: "http://localhost:9200/_cluster/settings"
> method: PUT
> body:
> transient:
> cluster.routing.allocation.enable: "none"
> body_format: json
>
> On Tue, Apr 12, 2016 at 10:29 AM, Ryan Groten <[email protected]
> <javascript:>> wrote:
>
>> I am trying to execute a task that runs the following command (which
>> includes a number of quote, brackets, colons, etc):
>>
>> command: curl -XPUT "http://localhost:9200/_cluster/settings" -d'{
>> "transient" : { "cluster.routing.allocation.enable" : "none" } }'
>>
>> I tried escaping all the quotes and {}, but that doesn't seem to work.
>>
>> command: 'curl -XPUT "http://localhost:9200/_cluster/settings" -d\'\{
>> "transient" : \{ "cluster.routing.allocation.enable" : "none" \} \}''
>>
>> I also tried treating the whole command as a jinja string (I think?)
>>
>> command: {{ 'curl -XPUT "http://localhost:9200/_cluster/settings" -d'{
>> "transient" : { "cluster.routing.allocation.enable" : "none" } }'' }}
>>
>> Thanks,
>> Ryan
>>
>> --
>> 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/ef4f9432-a75e-4ab1-91f1-487c8e0a68a4%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/ef4f9432-a75e-4ab1-91f1-487c8e0a68a4%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Matt Martz
> @sivel
> sivel.net
>
--
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/ed844f06-71e6-4bcb-a403-e234d1971064%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.