This worked for me:

- name: Upgrade pip
  pip:
    name: pip
    extra_args: --upgrade

Den tisdag 17 februari 2015 kl. 19:23:10 UTC+1 skrev Jilles van Gurp:
>
> I just ran into an obscure issue where I actually had a version of 
> docker-py installed on a target system but not the latest version. Long 
> version below but the tldr; is that I eventually solved it with a manual 
> pip install --upgrade.
>
> I was looking at the pip module documentation and there's nothing about 
> --upgrade there. I guess I could pass it in via extra_args="--upgrade" but 
> this sounds like it deserves a bit more prominent mention. Also it sounds 
> like it might actually be a useful default even if the user specifies no 
> version (latest is implied) and the installed version is outdated. Either 
> that or it should fail because it can't get the latest version installed 
> unless you specify --upgrade.
>
> Long version:
>
> So, I was getting the error that 
>
> Traceback (most recent call last):
>   File 
> "/home/linko/.ansible/tmp/ansible-tmp-1424196296.48-135783178760818/docker", 
> line 2422, in <module>
>     main()
>   File 
> "/home/linko/.ansible/tmp/ansible-tmp-1424196296.48-135783178760818/docker", 
> line 729, in main
>     docker_api_version = 
> dict(default=docker.client.DEFAULT_DOCKER_API_VERSION),
> NameError: global name 'docker' is not defined
>
> When trying to run my ansible playbook that first installs docker and then 
> boots up a docker image. Basically it looked like I didn't have docker-py 
> installed; except I had.
>
> Actually I was installing it via a docker role: 
>
> ---
> - name: Install Python Pip
>   yum: name=python-pip state=latest
>
> - name: ensure docker is installed
>   yum: name=docker state=latest
>
> - name: Install Docker-py
>   pip: name=docker-py
>
> - name: Start docker daemon
>   service: name=docker state=started enabled=yes sleep=1
>
>
> The problem as it turned out to be, was that pip was basically 
> 'succeeding' with the following message:
>
> ok: [testing.inbot.io] => {"changed": false, "cmd": "/bin/pip install 
> docker-py", "name": "docker-py", "requirements": null, "state": "present", 
> "stderr": "", "stdout": "Requirement already satisfied (use --upgrade to 
> upgrade): docker-py in /usr/lib/python2.7/site-packages\nRequirement 
> already satisfied (use --upgrade to upgrade): requests>=2.2.1,<2.5.0 in 
> /usr/lib/python2.7/site-packages (from docker-py)\nRequirement already 
> satisfied (use --upgrade to upgrade): six>=1.3.0 in 
> /usr/lib/python2.7/site-packages (from docker-py)\nRequirement already 
> satisfied (use --upgrade to upgrade): websocket-client>=0.11.0 in 
> /usr/lib/python2.7/site-packages (from docker-py)\nRequirement already 
> satisfied (use --upgrade to upgrade): backports.ssl-match-hostname in 
> /usr/lib/python2.7/site-packages (from 
> websocket-client>=0.11.0->docker-py)\nCleaning up...\n", "version": null, 
> "virtualenv": null}
>
>  Solution: 
>
> sudo pip install docker-py --upgrade
>
> After that everything works as it is supposed to.
>

-- 
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/8c34d0eb-d5ed-4151-a193-e3d691ea4f8e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to