Michael O'Dea
2014-Mar-28 21:08 UTC
[Puppet Users] Yumhelper.py fails with exceptions.indexError on Python 2.7 hosts
In my Amazon Linux environment, I have a couple of images on which I've changed the default python installation from 2.6 to 2.7. These hosts have been running fine for a couple of months, but in the past couple of days I've discovered they've developed an error when running Puppet catalogs. The issue very closely mimics the one reported (but not answered) here<https://groups.google.com/forum/#!topic/puppet-users/uPbSRz_zY2A>. When running the catalog, I see (abbreviated output follows): info: Caching catalog for hostname.acme.com info: Applying configuration version '1396035115' err: Could not prefetch package provider 'yum': Execution of '/usr/bin/python /usr/lib/ruby/site_ruby/1.8/puppet/provider/package/yumhelper.py' returned 1: _pkg audit.x86_64 0 amzn main 2.3.2-3.19.amzn1 _pkg audit-libs.x86_64 0 amzn main 2.3.2-3.19.amzn1 _pkg augeas-devel.x86_64 0 amzn main 1.0.0-5.7.amzn1 _pkg augeas-libs.x86_64 0 amzn main 1.0.0-5.7.amzn1 [ much more of the same ] _pkg libgomp.x86_64 0 amzn main 4.8.2-7.87.amzn1 _pkg libicu.x86_64 0 amzn main 50.1.2-8.10.amzn1 <type 'exceptions.IndexError'> The catalog then runs as usual but there do seem to be some knock-on effects. Packages alphabetically later than libicu which should be subject to an update are not being updated, and if the catalog updates resources which should notify a service, that notification seems to be getting lost. There are no "service refresh" messages posted in the output (this is particularly troublesome on the nagios host!) So based on the 2011 post<https://groups.google.com/forum/#!topic/puppet-users/uPbSRz_zY2A>, I re-ran yumhelper.py with python 2.6, also installed on the system. In that case, it completes without error... although the output isn't alphabetical... here's a snippet of that output: Loaded plugins: priorities, update-motd, upgrade-helper 66 packages excluded due to repository priority protections _pkg perl-XML-SAX 0 0.99 8.12.amzn1 noarch _pkg rubygem19-rdoc 0 3.9.5 32.62.amzn1 noarch _pkg perl-TimeDate 1 2.30 1.6.amzn1 noarch And if I run just 'yum check-update', the next package alphabetically after libicu is as follows: libpcap.x86_64 14:1.4.0-1.20130826git2dbcaa1.10.amzn1 amzn-main If I uninstall libpcap, I still get the yumhelper.py error, this time occurring after yum-utils... and in the 'yum check-update' output, the next thing after that is: Obsoleting Packages coreutils.x86_64 8.21-13.31.amzn1 amzn-main coreutils-libs.x86_64 8.4-31.17.amzn1 @amzn-updates So it seems that depending on the python version, we are getting very different output from yumhelper.py. I wish I could provide more of a hint as to why things changed, but I'm drawing a blank. It might be worth noting that Amazon released a new image yesterday (details here<http://aws.amazon.com/amazon-linux-ami/2014.03-release-notes/>) which is probably in some way related as the errors began occurring almost at the exact same time (Amazon also update their yum repo to match the software changes in the new image)... but as I mentioned, I don't see any recent updates applied via yum that would've triggered this issue. Thanks for reading and any suggestions you can offer!! -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/45515277-f3ee-4ca2-b931-0af7e2a2d216%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.