I need to add the hosts that my docker container needs to contact, to the 
/etc/hosts file. The docker_container module has a provision for that but 
it's not working when I set etc_hosts to a variable. The error is: 
argument etc_hosts is of type <type 'str'> and we were unable to convert to 
dict: dictionary requested, could not parse JSON or key=value

The task looks like this:


    - name: Create mongo config server

      become: true

      docker_container:

        name: mongoconfig

        image: mongo

        command: mongod --configsvr --replSet cfgrs --dbpath /data/configdb

        state: started

        restart_policy: unless-stopped

        etc_hosts: docker_hosts

#        etc_hosts: >

#          {

#            "vegeta": "192.168.77.6",

#            "piccolo" : "192.168.77.7",

#            "gohan" : "192.168.77.5"

#          }

        volumes:

          - mongo_config: /data/configdb

        ports:

          - "27019:27019"


When I print docker_hosts, it looks like this:


TASK [Display docker_hosts] 
****************************************************

ok: [gohan] => {

    "docker_hosts": {

        "gohan": "192.168.77.5", 

        "piccolo": "192.168.77.7", 

        "vegeta": "192.168.77.6"

    }

}




If I uncomment the etc_hosts section above it works which is nice except I 
can't be hard coding the values in real life. I don't see any difference 
between the hard coded structure and the contents of the variable.

Any clues as to why the variable doesn't work?

Thanks

-- 
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/6df76a1b-512c-46f8-bbaa-8f49a43c08f4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to