Hi James,

Thank you for your insight.
Actually I could not use any ansible property/directive in the playbook to 
run it successfully.
I had to run the whole ansible command with sudo... Which is not the best 
option I guess.

In addition 2 strange things occur when I run this playbook:
- the wait_for directive hangs indefinitely so I had to comment it. 
- I was expecting a running container so in order to check the container 
status I listed containers (sudo docker ps -a): my container is there, 
created but not running. (No wonder why the wait_for directive hangs)

My next question to the community (if you don't mind helping me) is how do 
I make sure my container is created and listening to port 22?
I tried "state=present" and "state=running" my container is still down off.

Thank you for your help.

Le lundi 15 septembre 2014 22:28:36 UTC+2, James Cammarata a écrit :
>
> Hi Louis, it looks like you're running your playbook from a user account 
> that does not have access to the docker socket file. You should run the 
> playbook using the sudo: or su: options to switch to a user that does have 
> permission, or configure docker to allow your current user to connect using 
> the file socket shown in the error.
>
> On Mon, Sep 15, 2014 at 12:05 PM, louis gueye <[email protected] 
> <javascript:>> wrote:
>
>> Hi all,
>>
>> I've been trying the docker module and I'm facing permission issues.
>> My use case is the following:
>>
>> - I installed ansible (ubuntu package 1.7.1), python pip (ubuntu 
>> package), docker-py (pip package)
>> - I created a playbook with a simple task based on the docker module. I 
>> want to create my container with ansible and provision it with ansible. I 
>> don't want any ansible code to run inside my container.
>>
>> I get this error:
>> msg: ConnectionError(MaxRetryError("UnixHTTPConnectionPool(host='localhost', 
>> port=None): Max retries exceeded with url: /run/docker.sock/v1.12/
>> containers/json?all=1&limit=-1&trunc_cmd=1&size=0 (Caused by <class 
>> 'socket.error'>: [Errno 13] Permission denied)",),)
>>
>> Intent : *create one container on localhost via ansible, (**maybe the 
>> playbook does not understand it the same way)*
>> Pre-requisites: docker server is already up and running on localhost
>>
>> I would be very grateful if anyone could explain me what I'm  doing wrong 
>> because I must be doing somthing wrong as my script is so trivial.
>>
>> Thank you for your help.
>>
>> Regards,
>>
>> Louis
>>
>> Below various additional information (console outputs + playbook)
>>
>> python version
>> $ python --version
>> Python 2.7.6
>>
>> docker version
>> $ docker --version
>> Docker version 1.2.0, build fa7b24f
>>
>> pip list
>> $ pip list
>> ansible (1.7.1)
>> apt-xapian-index (0.45)
>> argparse (1.2.1)
>> backports.ssl-match-hostname (3.4.0.2)
>> chardet (2.0.1)
>> colorama (0.2.5)
>> command-not-found (0.3)
>> debtagshw (0.1)
>> defer (1.0.6)
>> dirspec (13.10)
>> docker-py (0.5.0)
>> dopy (0.2.3)
>> html5lib (0.999)
>> httplib2 (0.8)
>> Jinja2 (2.7.2)
>> lxml (3.3.3)
>> MarkupSafe (0.18)
>> oauthlib (0.6.1)
>> oneconf (0.3.7)
>> PAM (0.4.2)
>> paramiko (1.10.1)
>> pexpect (3.1)
>> Pillow (2.3.0)
>> pip (1.5.4)
>> piston-mini-client (0.7.5)
>> psutil (1.2.1)
>> pycrypto (2.6.1)
>> pycups (1.9.66)
>> pycurl (7.19.3)
>> pygobject (3.12.0)
>> pyOpenSSL (0.13)
>> pyserial (2.6)
>> pysmbc (1.0.14.1)
>> python-apt (0.9.3.5)
>> python-debian (0.1.21-nmu2ubuntu2)
>> pyxdg (0.25)
>> PyYAML (3.10)
>> reportlab (3.0)
>> requests (2.3.0)
>> sessioninstaller (0.0.0)
>> setuptools (3.3)
>> six (1.5.2)
>> software-center-aptd-plugins (0.0.0)
>> Twisted-Core (13.2.0)
>> Twisted-Web (13.2.0)
>> urllib3 (1.7.1)
>> websocket-client (0.18.0)
>> wsgiref (0.1.2)
>> zope.interface (4.0.5)
>>
>> playbook
>> ---
>> - hosts: localhost
>>   vars:
>>   - image: "ubuntu:14.04"
>>   - host_name: "risk-data"
>>
>>   tasks:
>>     - name: "bring up container for {{ host_name }} from {{ image }}"
>>       docker: hostname="{{ host_name }}" image="{{ image }}" name="{{ 
>> host_name }}" expose=22
>>
>>     - name: "wait for {{ host_name }}'s sshd to come up"
>>       wait_for: host="{{ host_name }}" port=22 state=started
>>
>>     - name: "dump facts"
>>       debug: msg="Container {{ item.key }}"
>>       with_items: docker_containers
>>
>>     - name: "add {{ host_name }} to inventory"
>>       add_host: name="{{ host_name }}" groups=risk ansible_ssh_host="{{ 
>> item.NetworkSettings.IPAddress }}" ansible_ssh_port=22
>>       with_items: docker_containers
>>
>> playbook command line
>> $ ansible-playbook playbook.yml
>>
>> PLAY [localhost] ******************************
>> ******************************** 
>>
>> GATHERING FACTS ******************************
>> ********************************* 
>> ok: [localhost]
>>
>> TASK: [bring up container for risk-data from ubuntu:14.04] 
>> ******************** 
>> failed: [localhost] => {"changed": false, "failed": true}
>> msg: ConnectionError(MaxRetryError("UnixHTTPConnectionPool(host='localhost', 
>> port=None): Max retries exceeded with url: /run/docker.sock/v1.12/
>> containers/json?all=1&limit=-1&trunc_cmd=1&size=0 (Caused by <class 
>> 'socket.error'>: [Errno 13] Permission denied)",),)
>>
>> FATAL: all hosts have already failed -- aborting
>>
>> PLAY RECAP ************************************************************
>> ******** 
>>            to retry, use: --limit @/home/louis/playbook.retry
>>
>> localhost                  : ok=1    changed=0    unreachable=0   
>>  failed=1   
>>
>>
>>  -- 
>> 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/32b01b4f-7365-44c1-99ac-caf1d6a12cb6%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/32b01b4f-7365-44c1-99ac-caf1d6a12cb6%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/43b428f3-f044-4b97-bc13-189aafd3440d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to