I'm seeing a funny behavior when using Ansible to manage an installation on 
a Raspberry Pi running Raspbian Jessie lite.

The playbook includes the following, to install a Python program called 
'power-cycle' from a GitHub repo:

- hosts: power_controllers
  tasks:
    - name: Install the power cycle utility
      pip: 
name='git+http://github.com/burlington-arc/power-cycle.git#egg=power-cycle'

After running the playbook, the 'power-cycle' command is available and 
works fine.  However, if I run it after a reboot, it fails with a 
'distribution not found':

pi@barcpi004:~ $ power-cycle
Traceback (most recent call last):
  File "/usr/local/bin/power-cycle", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2876, in 
<module>
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 449, in 
_build_master
    ws.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 745, in 
require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 639, in 
resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: power-cycle==1.0.2

In other words, the installation with 'pip' didn't survive a reboot.

If I install the same egg from the command line, it all works fine and 
survives the reboot.

It appears that the pip module is doing some kind of incomplete or perhaps 
temporary installation.  After the playbook has run, the 
'/usr/local/lib/python2.7/dist-packages/' dir looks like this:

pi@barcpi004:~ $ ls /usr/local/lib/python2.7/dist-packages/
daemon                     lockfile
docutils                   lockfile-0.12.2.dist-info
docutils-0.13.1.dist-info  power-cycle.egg-link
easy-install.pth           python_daemon-2.1.2.dist-info

...whereas, after running 'sudo pip install 
git+http://github.com/burlington-arc/power-cycle.git#egg=power-cycle' from 
the command line, it looks like:
pi@barcpi004:~ $ ls /usr/local/lib/python2.7/dist-packages/
daemon                     lockfile-0.12.2.dist-info
docutils                   power_cycle-1.0.2.egg-info
docutils-0.13.1.dist-info  power-cycle.egg-link
easy-install.pth           powerpi
lockfile                   python_daemon-2.1.2.dist-info
...which has a directory for 'powerpi', which has the required scripts in 
it.

Any ideas?  Am I missing something with the 'pip' task?

Thanks in advance,

Greg

-- 
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/a123d280-17e0-4bc7-a8c8-b0bcefe15023%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to