Hello, I am using the shell module to run a command inside a docker 
container and it is giving me a yaml error. The command is stupid silly 
complicated ;-) Is there a way to get Ansible to just send it as is and 
ignore \ escape out the characters that may be freaking out Yaml?

Here is an example of a  basic command that does work. 

*shell*: docker exec -it  9d5e563a6e9e  bash -c "cd /var/log ; ls; cat 
bootstrap.log"


However this command gives me a yaml eror 

*shell*: docker exec -it 9d5e563a6e9e  bash -c "echo 'rs.initiate({_id: 
\"mongors1conf\",configsvr: true, members: [{ _id : 0, host : \"mongocfg1\" 
},{ _id : 1, host : \"mongocfg2\" }, { _id : 2, host : \"mongocfg3\" }]})' 
| mongo"


Here is a snippet of the error 
*ERROR! Syntax Error while loading YAML.*
*  mapping values are not allowed in this context*

*    shell: docker exec -it 9d5e563a6e9e  bash -c "echo 'rs.initiate({_id: 
\"mongors1conf\",configsvr: true, members: [{ _id : 0, host : \"mongocfg1\" 
},{ _id : 1, host : \"mongocfg2\" }, { _id : 2, host : \"mongocfg3\" }]})' 
| mongo"*

*                                                                          
                      ^ here*

This command works just fine at the bash shell of the docker host. I have 
tried the ansible shell and the Ansible command module 

I know this command looks complicated but please keep in mind I am only 
asking how to format this to work in Ansible. I am not asking you to 
understand docker exec Mongodb commands ;-) 

Thanks for your help 



-- 
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/a8cf8352-2e86-4ca8-9179-2a1600b26a89n%40googlegroups.com.

Reply via email to