I believe what you wanted to do with the pip module is actually provide
state=latest. Omitting state just means state=present which satisfies pip
if any current version is installed.

latest invokes pip with -U which is an alias for --upgrade

On Tuesday, February 17, 2015, Jilles van Gurp <[email protected]>
wrote:

> 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]
> <javascript:_e(%7B%7D,'cvml','ansible-project%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/fd9826b2-2520-433a-a48a-f5f39ef8af9c%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/fd9826b2-2520-433a-a48a-f5f39ef8af9c%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/CAD8N0v_KNKuFq6dLBiUwJpE-KtjNu3c6XMVOtwLFSqmOoLiqUw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to