Amos Shapira
2013-Jun-06 04:30 UTC
[Puppet Users] installing carbon / passing PYTHONPATH to pip package provider?
My environment: Ubuntu LTS 12.04, carbon (https://github.com/graphite-project/carbon) 0.9.9 installed using "pip". I just learned why when I run "pip freeze" on a system I don''t see the "carbon" package even when it installed successfully - I should run it with "PYTHONPATH=/opt/graphite/lib/ pip freeze". (ref: https://github.com/graphite-project/carbon/issues/86) This causes Puppet to re-install the package on every run (and reload dependant servers), even though it''s already installed and there is nothing that really needs to be done. I guess this is the package''s fault, but it made me hit once more a limitation in Puppet i.e. that I don''t have a way to pass options or environment variables to "pip". Apparently there are already a couple of issues and pull requests for this in https://github.com/puppetlabs/puppet/pull/1507 and https://projects.puppetlabs.com/issues/18029, but they don''t seem likely to be accepted. Alternatively - can anyone point me to how they solved the carbon package (or a similar) issue? i.e. that it doesn''t get re-installed on every Puppet run? Thanks, --Amos -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Ben Whaley
2013-Jun-06 13:23 UTC
[Puppet Users] Re: installing carbon / passing PYTHONPATH to pip package provider?
Yep, I ran in to this as well, both with carbon and graphite-web. I solved it by adding the Python metadata in the appropriate location on my system. Check this gist for the code https://gist.github.com/bwhaley/5721421 Hope this helps. - Ben On Wednesday, June 5, 2013 9:30:56 PM UTC-7, Amos Shapira wrote:> > My environment: Ubuntu LTS 12.04, carbon ( > https://github.com/graphite-project/carbon) 0.9.9 installed using "pip". > > I just learned why when I run "pip freeze" on a system I don''t see the > "carbon" package even when it installed successfully - I should run it with > "PYTHONPATH=/opt/graphite/lib/ pip freeze". > (ref: https://github.com/graphite-project/carbon/issues/86) > > This causes Puppet to re-install the package on every run (and reload > dependant servers), even though it''s already installed and there is nothing > that really needs to be done. > > I guess this is the package''s fault, but it made me hit once more a > limitation in Puppet i.e. that I don''t have a way to pass options or > environment variables to "pip". > > Apparently there are already a couple of issues and pull requests for this > in https://github.com/puppetlabs/puppet/pull/1507 and > https://projects.puppetlabs.com/issues/18029, but they don''t seem likely > to be accepted. > > Alternatively - can anyone point me to how they solved the carbon package > (or a similar) issue? i.e. that it doesn''t get re-installed on every Puppet > run? > > Thanks, > > --Amos > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Amos Shapira
2013-Jun-06 22:32 UTC
[Puppet Users] Re: installing carbon / passing PYTHONPATH to pip package provider?
Thanks. This is similar to a solution suggested in https://github.com/graphite-project/carbon/issues/86#issuecomment-16200739 (there he adds a symlink instead of providing a copy). What I don''t like about these (practical) solutions is that they are fragile - either the symlink target could change (newer version, for instance) or the content of the copied file could change (and the change could be lost). In the meantime I''m exploring a different direction - there are .deb packages for the version I want in later versions of Ubuntu than 12.04. They install cleanly on 12.04 (I assume this is because they are pure Python) and even if they didn''t, I could rebuild them for 12.04 from source-deb. I intend to make them available on our internal repository and install them with the "apt" provider instead. Cheers, --Amos On Thursday, 6 June 2013 23:23:21 UTC+10, Ben Whaley wrote:> > Yep, I ran in to this as well, both with carbon and graphite-web. I solved > it by adding the Python metadata in the appropriate location on my system. > > Check this gist for the code > https://gist.github.com/bwhaley/5721421 > > Hope this helps. > > - Ben > > On Wednesday, June 5, 2013 9:30:56 PM UTC-7, Amos Shapira wrote: >> >> My environment: Ubuntu LTS 12.04, carbon ( >> https://github.com/graphite-project/carbon) 0.9.9 installed using "pip". >> >> I just learned why when I run "pip freeze" on a system I don''t see the >> "carbon" package even when it installed successfully - I should run it with >> "PYTHONPATH=/opt/graphite/lib/ pip freeze". >> (ref: https://github.com/graphite-project/carbon/issues/86) >> >> This causes Puppet to re-install the package on every run (and reload >> dependant servers), even though it''s already installed and there is nothing >> that really needs to be done. >> >> I guess this is the package''s fault, but it made me hit once more a >> limitation in Puppet i.e. that I don''t have a way to pass options or >> environment variables to "pip". >> >> Apparently there are already a couple of issues and pull requests for >> this in https://github.com/puppetlabs/puppet/pull/1507 and >> https://projects.puppetlabs.com/issues/18029, but they don''t seem likely >> to be accepted. >> >> Alternatively - can anyone point me to how they solved the carbon package >> (or a similar) issue? i.e. that it doesn''t get re-installed on every Puppet >> run? >> >> Thanks, >> >> --Amos >> >>-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Nikola Petrov
2013-Jun-11 09:20 UTC
Re: [Puppet Users] Re: installing carbon / passing PYTHONPATH to pip package provider?
I also have some packages that were produced with fpm. Here is the script that I am using - https://gist.github.com/nikolavp/5755563 which was borrowed from a blog post I found on the net. You can of course change the versions if you want. Feel free to add dependency metadata to fpm when building the packages and please comment on the gist if you end up with something useful ;) -- Nikola On Thu, Jun 06, 2013 at 03:32:35PM -0700, Amos Shapira wrote:> Thanks. > > This is similar to a solution suggested > in https://github.com/graphite-project/carbon/issues/86#issuecomment-16200739 > (there he adds a symlink instead of providing a copy). > What I don''t like about these (practical) solutions is that they are > fragile - either the symlink target could change (newer version, for > instance) or the content of the copied file could change (and the change > could be lost). > > In the meantime I''m exploring a different direction - there are .deb > packages for the version I want in later versions of Ubuntu than 12.04. > They install cleanly on 12.04 (I assume this is because they are pure > Python) and even if they didn''t, I could rebuild them for 12.04 from > source-deb. I intend to make them available on our internal repository and > install them with the "apt" provider instead. > > Cheers, > > --Amos > > On Thursday, 6 June 2013 23:23:21 UTC+10, Ben Whaley wrote: > > > > Yep, I ran in to this as well, both with carbon and graphite-web. I solved > > it by adding the Python metadata in the appropriate location on my system. > > > > Check this gist for the code > > https://gist.github.com/bwhaley/5721421 > > > > Hope this helps. > > > > - Ben > > > > On Wednesday, June 5, 2013 9:30:56 PM UTC-7, Amos Shapira wrote: > >> > >> My environment: Ubuntu LTS 12.04, carbon ( > >> https://github.com/graphite-project/carbon) 0.9.9 installed using "pip". > >> > >> I just learned why when I run "pip freeze" on a system I don''t see the > >> "carbon" package even when it installed successfully - I should run it with > >> "PYTHONPATH=/opt/graphite/lib/ pip freeze". > >> (ref: https://github.com/graphite-project/carbon/issues/86) > >> > >> This causes Puppet to re-install the package on every run (and reload > >> dependant servers), even though it''s already installed and there is nothing > >> that really needs to be done. > >> > >> I guess this is the package''s fault, but it made me hit once more a > >> limitation in Puppet i.e. that I don''t have a way to pass options or > >> environment variables to "pip". > >> > >> Apparently there are already a couple of issues and pull requests for > >> this in https://github.com/puppetlabs/puppet/pull/1507 and > >> https://projects.puppetlabs.com/issues/18029, but they don''t seem likely > >> to be accepted. > >> > >> Alternatively - can anyone point me to how they solved the carbon package > >> (or a similar) issue? i.e. that it doesn''t get re-installed on every Puppet > >> run? > >> > >> Thanks, > >> > >> --Amos > >> > >> > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. > To post to this group, send email to puppet-users@googlegroups.com. > Visit this group at http://groups.google.com/group/puppet-users?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.