The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using https://tickets.puppetlabs.com. See the following page for information on filing tickets with JIRA:

Bug #23279

When installing PIP packages from Git, the install and any notifies are triggered during every run.

Added by Ryan Conway over 2 years ago. Updated almost 2 years ago.

Status:UnreviewedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Affected Puppet version:2.7.13 Branch:
Keywords:pip, package

We've Moved!

Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com

This ticket is now tracked at: https://tickets.puppetlabs.com/browse/PUP-2905


Description

I have a plugin for a Python application, Sentry, which I am installing via GitHub like so:

package{ 'sentry-hipchat':
  ensure   => 'cfac72b33dc8468745669ea65998a5b911e9aae0',
  provider => 'pip',
  source   => 'git+git://github.com/invisiblehand/sentry-hipchat.git'
}

When running the Puppet agent with —debug —trace —test, I can see Puppet checks the output of ‘pip freeze’, however the output from this command, for packages installed from GitHub seems to differ, and I don’t believe it will match the regex used here:

https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/pip.rb#L16-L22

Here is some sample output from ‘pip freeze’ on my system:

raven==3.5.1
redis==2.8.0
sentry==6.3.3
-e git://github.com/invisiblehand/sentry-hipchat.git@cfac72b33dc8468745669ea65998a5b911e9aae0#egg=sentry_hipchat-master
setproctitle==1.1.8
simplejson==3.3.1

I’m using Puppet 2.7.13, installed via RubyGems, on Ubuntu 12.04 LTS 64-bit, running Ruby 1.9.3p448.

The output from the Puppet agent run is as follows:

debug: Puppet::Type::Package::ProviderPip: Executing '/usr/bin/pip freeze'
debug: Puppet::Type::Package::ProviderPip: Executing '/usr/bin/pip freeze'
debug: Puppet::Type::Package::ProviderPip: Executing '/usr/bin/pip install -q -e git+git://github.com/invisiblehand/sentry-hipchat.git@cfac72b33dc8468745669ea65998a5b911e9aae0#egg=sentry-hipchat'
notice: /Stage[main]/Ih-sentry/Package[sentry-hipchat]/ensure: created
info: /Stage[main]/Ih-sentry/Package[sentry-hipchat]: Scheduling refresh of Service[sentry]
info: /Stage[main]/Ih-sentry/Package[sentry-hipchat]: Scheduling refresh of Service[sentry-udp]
info: /Stage[main]/Ih-sentry/Package[sentry-hipchat]: Scheduling refresh of Service[sentry-celery]

As you can see, the package is ‘created’, which triggers a refresh of the services, even though there is no need.

Does anyone have any advice?

Thanks!

Ryan

History

#1 Updated by Nacho Barrientos almost 2 years ago

Redmine Issue #23279 has been migrated to JIRA:

https://tickets.puppetlabs.com/browse/PUP-2905

Also available in: Atom PDF