Marcelo Barbudas
2010-Apr-02 12:23 UTC
[Puppet Users] Uncaught exception failed to allocate memory
Hi! I have a recipe that''s supposed to download ree from a master and install it. It looks like: # Install ree file { "/root/puppet-setup/ruby- enterprise_1.8.7-2010.01_amd64.deb": source => "puppet://$servername/files/ruby- enterprise_1.8.7-2010.01_amd64.deb", mode => 0644, owner => root, group => root, notify => Exec[ree-install], ensure => present, } exec { ree-install: command => "/usr/bin/dpkg -i /root/puppet-setup/ruby- enterprise_1.8.7-2010.01_amd64.deb", refreshonly => true, require => [ File["/root/puppet-setup/ruby- enterprise_1.8.7-2010.01_amd64.deb"] ], } When I try to run this I get the error in the subject: info: Caching catalog at /var/lib/puppet/state/localconfig.yaml notice: Starting catalog run err: //Node[default]/lenny/default-class/base/File[/root/puppet-setup/ ruby-enterprise_1.8.7-2010.01_amd64.deb]/ensure: change from absent to file failed: Could not retrieve /files/ruby- enterprise_1.8.7-2010.01_amd64.deb: Uncaught exception failed to allocate memory in method fileserver.retrieve at /etc/puppet/manifests/ classes/base.pp:36 notice: //Node[default]/lenny/default-class/base/Exec[ree-install]: Dependency file[/root/puppet-setup/ruby- enterprise_1.8.7-2010.01_amd64.deb] has 1 failures warning: //Node[default]/lenny/default-class/base/Exec[ree-install]: Skipping because of failed dependencies notice: //Node[default]/lenny/default-class/apt-setup/Exec[apt-update]/ returns: executed successfully notice: //Node[default]/lenny/default-class/base/Exec[debian-backports- keyring]/returns: executed successfully notice: Finished catalog run in 106.13 seconds The puppet slave is a vmware Debian with 512MB ram. Ree is 17MB. Puppet version is Debian stable 0.24.5-3 -- M. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Nigel Kersten
2010-Apr-02 12:52 UTC
Re: [Puppet Users] Uncaught exception failed to allocate memory
On Fri, Apr 2, 2010 at 5:23 AM, Marcelo Barbudas <nostef@gmail.com> wrote:> Hi! > > I have a recipe that''s supposed to download ree from a master and > install it. It looks like: > > # Install ree > file { "/root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb": > source => "puppet://$servername/files/ruby- > enterprise_1.8.7-2010.01_amd64.deb", > mode => 0644, owner => root, group => root, > notify => Exec[ree-install], > ensure => present, > } > > exec { ree-install: > command => "/usr/bin/dpkg -i /root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb", > refreshonly => true, > require => [ File["/root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb"] ], > }Why aren''t you putting this in an apt repository? Puppet isn''t the fastest system in the world for sending large files around...> > > When I try to run this I get the error in the subject: > > info: Caching catalog at /var/lib/puppet/state/localconfig.yaml > notice: Starting catalog run > err: //Node[default]/lenny/default-class/base/File[/root/puppet-setup/ > ruby-enterprise_1.8.7-2010.01_amd64.deb]/ensure: change from absent to > file failed: Could not retrieve /files/ruby- > enterprise_1.8.7-2010.01_amd64.deb: Uncaught exception failed to > allocate memory in method fileserver.retrieve at /etc/puppet/manifests/ > classes/base.pp:36 > notice: //Node[default]/lenny/default-class/base/Exec[ree-install]: > Dependency file[/root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb] has 1 failures > warning: //Node[default]/lenny/default-class/base/Exec[ree-install]: > Skipping because of failed dependencies > notice: //Node[default]/lenny/default-class/apt-setup/Exec[apt-update]/ > returns: executed successfully > notice: //Node[default]/lenny/default-class/base/Exec[debian-backports- > keyring]/returns: executed successfully > notice: Finished catalog run in 106.13 seconds > > The puppet slave is a vmware Debian with 512MB ram. Ree is 17MB. > Puppet version is Debian stable 0.24.5-3 > > -- > M. > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. > >-- nigel -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Patrick
2010-Apr-02 16:04 UTC
Re: [Puppet Users] Uncaught exception failed to allocate memory
Puppet just doesn''t work well moving big files. Also, 0.24 is much worse for this than 0.25. Using an apt repository or wget in an exec would probably be better. If you really want to try to make this work your way, here are two things to check though: 1) Is the puppet-setup directory being created before you pull he file? 2) Is the file in a module, if so you need to put the module name in the file path. Here''s an easy way to create a custom repository: http://nerdica.com/?p=43 A second option is using wget. The wget recipe would look something like this (pesudo-code): Exec { "wget http://servername/ruby-enterprise_1.8.7-2010.01_amd64.deb": creates => "/root/puppet-setup/ruby-enterprise_1.8.7-2010.01_amd64.deb", working_path => "/root/puppet-setup/", } -Patrick Mohr On Apr 2, 2010, at 5:23 AM, Marcelo Barbudas wrote:> Hi! > > I have a recipe that''s supposed to download ree from a master and > install it. It looks like: > > # Install ree > file { "/root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb": > source => "puppet://$servername/files/ruby- > enterprise_1.8.7-2010.01_amd64.deb", > mode => 0644, owner => root, group => root, > notify => Exec[ree-install], > ensure => present, > } > > exec { ree-install: > command => "/usr/bin/dpkg -i /root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb", > refreshonly => true, > require => [ File["/root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb"] ], > } > > > When I try to run this I get the error in the subject: > > info: Caching catalog at /var/lib/puppet/state/localconfig.yaml > notice: Starting catalog run > err: //Node[default]/lenny/default-class/base/File[/root/puppet-setup/ > ruby-enterprise_1.8.7-2010.01_amd64.deb]/ensure: change from absent to > file failed: Could not retrieve /files/ruby- > enterprise_1.8.7-2010.01_amd64.deb: Uncaught exception failed to > allocate memory in method fileserver.retrieve at /etc/puppet/manifests/ > classes/base.pp:36 > notice: //Node[default]/lenny/default-class/base/Exec[ree-install]: > Dependency file[/root/puppet-setup/ruby- > enterprise_1.8.7-2010.01_amd64.deb] has 1 failures > warning: //Node[default]/lenny/default-class/base/Exec[ree-install]: > Skipping because of failed dependencies > notice: //Node[default]/lenny/default-class/apt-setup/Exec[apt-update]/ > returns: executed successfully > notice: //Node[default]/lenny/default-class/base/Exec[debian-backports- > keyring]/returns: executed successfully > notice: Finished catalog run in 106.13 seconds > > The puppet slave is a vmware Debian with 512MB ram. Ree is 17MB. > Puppet version is Debian stable 0.24.5-3 > > -- > M. > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.