Jira (PUP-8048) puppet / facter fails randomly in low memory situations

2 views
Skip to first unread message

Florian Klink (JIRA)

unread,
Oct 13, 2017, 10:41:03 AM10/13/17
to puppe...@googlegroups.com
Florian Klink created an issue
 
Puppet / Bug PUP-8048
puppet / facter fails randomly in low memory situations
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2017/10/13 7:39 AM
Priority: Normal Normal
Reporter: Florian Klink

I accidentially created a VM with only 128MB RAM. Puppet run looks like this:

{{Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass
Error: Could not autoload puppet/provider/service/openbsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass
Error: Could not retrieve local facts: Could not autoload puppet/provider/service/openbsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass
Error: Failed to apply catalog: Could not retrieve local facts: Could not autoload puppet/provider/service/openbsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass}}

This is due to Facter.value(:operatingsystem) being NilClass. When running with --debug, I see a lot of the following messages:Debug: Facter: value for <foo> is still nil

It took me a while to find out the puppet run succeeds with more memory just fine. I didn't see any OOM-Killings in dmesg. Of course, it might be not supported/advised to run puppet on such low memory, but I'd still expect puppet to somehow fail in a better way… This might boil down to facter failing in weird ways, puppet not noticing that, or something in between.

puppet-4.8.2-5 on Debian Stretch with packages provided by Debian directly.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe)
Atlassian logo

Eric Sorenson (JIRA)

unread,
Nov 6, 2017, 5:34:02 PM11/6/17
to puppe...@googlegroups.com
Eric Sorenson assigned an issue to Florian Klink
Change By: Eric Sorenson
Assignee: Florian Klink
This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db)
Atlassian logo

Eric Sorenson (JIRA)

unread,
Nov 6, 2017, 5:35:02 PM11/6/17
to puppe...@googlegroups.com
Eric Sorenson commented on Bug PUP-8048
 
Re: puppet / facter fails randomly in low memory situations

Florian - this will be a bit hard to reproduce, and you're right that it's not really "supported" to run puppet in 128mb RAM. Ruby is probably going to fail in bizarre ways that Puppet does not have visibility into. Can you confirm that running facter --debug by itself fails on this system?

Florian Klink (JIRA)

unread,
Nov 7, 2017, 2:23:02 PM11/7/17
to puppe...@googlegroups.com
Florian Klink commented on Bug PUP-8048

Running facter --debug alone doesn't fail, and shows a value for operatingsystem.

Doing the initial puppet run fails reproducible on a VM with 128MB RAM.

Josh Cooper (JIRA)

unread,
Oct 1, 2019, 5:08:02 PM10/1/19
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-8048

The Debian packages of puppet install facter 2.4.6 (the ruby version). It is entirely possible that the old ruby facter implementation required more/excessive amount of memory due to the way it executed the same facts multiple times. We don’t have the engineering resources to investigate this issue, so I'm going to close it. Feel free to reopen if you see the same issue with the puppet-agent packages provided by Puppet.

This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages