Bug 1229703 - Error 400 on SERVER: Could not retrieve facts for ...: undefined method `sanitize'
Summary: Error 400 on SERVER: Could not retrieve facts for ...: undefined method `sani...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: puppet
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jeroen van Meeuwen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-06-09 13:18 UTC by Michael J. Chudobiak
Modified: 2016-07-19 14:43 UTC (History)
19 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-07-19 14:43:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Michael J. Chudobiak 2015-06-09 13:18:06 UTC
I'm try to get a basic puppet install working after the mid-distro upgrade to 4.x, and I'm stuck. My test system has the master and agent on the same machine. The agent reports that it can not fetch its node definition. audit2allow and iptables --list report nothing interesting.

Agent error:

[root@karsh puppet]# puppet agent --test
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: Error 400 on SERVER: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x007fe6c0760558>
Info: Retrieving pluginfacts
Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node karsh.domain.avtechpulse.com: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x007fe6c09ad338>
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run


Master log:

[root@karsh puppet]# journalctl -r -u puppetmaster --no-pager
Jun 09 09:09:10 karsh puppet[30913]: Error: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x007fe6c04060b0>
Jun 09 09:09:01 karsh puppet[30913]: Error: Failed when searching for node karsh.domain.avtechpulse.com: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x00000001573f90>
Jun 09 09:09:01 karsh puppet[30913]: Error: Failed when searching for node karsh.domain.avtechpulse.com: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x00000001573f90>
Jun 09 09:09:00 karsh puppet[30913]: Error: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x00000001ced190>
Jun 09 09:09:00 karsh puppet[30913]: You can avoid this warning in the future by setting the SafeYAML::OPTIONS[:default_mode] option (to :safe or :unsafe).
Jun 09 09:09:00 karsh puppet[30913]: Called 'load_file' without the :safe option -- defaulting to safe mode.
Jun 09 09:08:40 karsh puppet[30913]: Notice: Starting Puppet master version 4.1.0
Jun 09 09:08:40 karsh puppet[30913]: (at /usr/share/ruby/vendor_ruby/puppet/application/master.rb:209:in `main')
Jun 09 09:08:40 karsh puppet[30913]: Warning: The WEBrick Puppet master server is deprecated and will be removed in a future release. Please use Puppet Server instead. See http://links.puppetlabs.com/deprecate-rack-webrick-servers for more information.
Jun 09 09:08:38 karsh systemd[1]: Starting Puppet master...



puppet.conf:
[main]
     dns_alt_names = puppet4,puppet4.domain.avtechpulse.com,puppet4.avtechpulse.com

     server = puppet4.domain.avtechpulse.com
     environment = production


manifests/site.pp:
Service { provider => 'systemd' }

node default {
	include default_services	
}

class default_services {
        # disabled and stopped
        $svc_off = ["isdn", "yum-updatesd", "bluetooth", "cpuspeed", "iscsi", "iscsid", "firewalld"]
        service { $svc_off: ensure => "stopped", enable => "false" }

        # enabled and running
        $svc_on = ["crond", "chronyd", "auditd", "rsyslog", "NetworkManager" ]
        service { $svc_on: ensure => "running", enable => "true" }

        # enabled only
        service { "NetworkManager-wait-online": enable => "true" }
}



Full debug output:

[root@karsh puppet]# puppet agent --test --debug
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Using settings: adding file resource 'confdir': 'File[/etc/puppet]{:path=>"/etc/puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dsimport does not exist
Debug: Puppet::Type::User::ProviderPw: file pw does not exist
Debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
Debug: Failed to load library 'ldap' for feature 'ldap'
Debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
Debug: Puppet::Type::Group::ProviderDirectoryservice: file /usr/bin/dscl does not exist
Debug: Puppet::Type::Group::ProviderPw: file pw does not exist
Debug: Failed to load library 'ldap' for feature 'ldap'
Debug: Puppet::Type::Group::ProviderLdap: feature ldap is missing
Debug: Using settings: adding file resource 'vardir': 'File[/var/lib/puppet]{:path=>"/var/lib/puppet", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'logdir': 'File[/var/log/puppet]{:path=>"/var/log/puppet", :mode=>"750", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'statedir': 'File[/var/lib/puppet/state]{:path=>"/var/lib/puppet/state", :mode=>"1755", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'rundir': 'File[/var/run/puppet]{:path=>"/var/run/puppet", :mode=>"755", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'libdir': 'File[/var/lib/puppet/lib]{:path=>"/var/lib/puppet/lib", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'preview_outputdir': 'File[/var/lib/puppet/preview]{:path=>"/var/lib/puppet/preview", :mode=>"750", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'certdir': 'File[/etc/puppet/ssl/certs]{:path=>"/etc/puppet/ssl/certs", :mode=>"755", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'ssldir': 'File[/etc/puppet/ssl]{:path=>"/etc/puppet/ssl", :mode=>"771", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'publickeydir': 'File[/etc/puppet/ssl/public_keys]{:path=>"/etc/puppet/ssl/public_keys", :mode=>"755", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'requestdir': 'File[/etc/puppet/ssl/certificate_requests]{:path=>"/etc/puppet/ssl/certificate_requests", :mode=>"755", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'privatekeydir': 'File[/etc/puppet/ssl/private_keys]{:path=>"/etc/puppet/ssl/private_keys", :mode=>"750", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'privatedir': 'File[/etc/puppet/ssl/private]{:path=>"/etc/puppet/ssl/private", :mode=>"750", :owner=>"puppet", :group=>"puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostcert': 'File[/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem]{:path=>"/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem", :mode=>"644", :owner=>"puppet", :group=>"puppet", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostprivkey': 'File[/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem]{:path=>"/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem", :mode=>"640", :owner=>"puppet", :group=>"puppet", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostpubkey': 'File[/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem]{:path=>"/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem", :mode=>"644", :owner=>"puppet", :group=>"puppet", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'localcacert': 'File[/etc/puppet/ssl/certs/ca.pem]{:path=>"/etc/puppet/ssl/certs/ca.pem", :mode=>"644", :owner=>"puppet", :group=>"puppet", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'hostcrl': 'File[/etc/puppet/ssl/crl.pem]{:path=>"/etc/puppet/ssl/crl.pem", :mode=>"644", :owner=>"puppet", :group=>"puppet", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'clientyamldir': 'File[/var/lib/puppet/client_yaml]{:path=>"/var/lib/puppet/client_yaml", :mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'client_datadir': 'File[/var/lib/puppet/client_data]{:path=>"/var/lib/puppet/client_data", :mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'clientbucketdir': 'File[/var/lib/puppet/clientbucket]{:path=>"/var/lib/puppet/clientbucket", :mode=>"750", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'lastrunfile': 'File[/var/lib/puppet/state/last_run_summary.yaml]{:path=>"/var/lib/puppet/state/last_run_summary.yaml", :mode=>"644", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'lastrunreport': 'File[/var/lib/puppet/state/last_run_report.yaml]{:path=>"/var/lib/puppet/state/last_run_report.yaml", :mode=>"640", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'graphdir': 'File[/var/lib/puppet/state/graphs]{:path=>"/var/lib/puppet/state/graphs", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'pluginfactdest': 'File[/var/lib/puppet/facts.d]{:path=>"/var/lib/puppet/facts.d", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: /File[/etc/puppet]/seluser: Found seluser default 'system_u' for /etc/puppet
Debug: /File[/etc/puppet]/selrole: Found selrole default 'object_r' for /etc/puppet
Debug: /File[/etc/puppet]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet
Debug: /File[/etc/puppet]/selrange: Found selrange default 's0' for /etc/puppet
Debug: /File[/var/lib/puppet]/seluser: Found seluser default 'system_u' for /var/lib/puppet
Debug: /File[/var/lib/puppet]/selrole: Found selrole default 'object_r' for /var/lib/puppet
Debug: /File[/var/lib/puppet]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet
Debug: /File[/var/lib/puppet]/selrange: Found selrange default 's0' for /var/lib/puppet
Debug: /File[/var/log/puppet]/seluser: Found seluser default 'system_u' for /var/log/puppet
Debug: /File[/var/log/puppet]/selrole: Found selrole default 'object_r' for /var/log/puppet
Debug: /File[/var/log/puppet]/seltype: Found seltype default 'puppet_log_t' for /var/log/puppet
Debug: /File[/var/log/puppet]/selrange: Found selrange default 's0' for /var/log/puppet
Debug: /File[/var/lib/puppet/state]/seluser: Found seluser default 'system_u' for /var/lib/puppet/state
Debug: /File[/var/lib/puppet/state]/selrole: Found selrole default 'object_r' for /var/lib/puppet/state
Debug: /File[/var/lib/puppet/state]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/state
Debug: /File[/var/lib/puppet/state]/selrange: Found selrange default 's0' for /var/lib/puppet/state
Debug: /File[/var/run/puppet]/seluser: Found seluser default 'system_u' for /var/run/puppet
Debug: /File[/var/run/puppet]/selrole: Found selrole default 'object_r' for /var/run/puppet
Debug: /File[/var/run/puppet]/seltype: Found seltype default 'puppet_var_run_t' for /var/run/puppet
Debug: /File[/var/run/puppet]/selrange: Found selrange default 's0' for /var/run/puppet
Debug: /File[/var/lib/puppet/lib]/seluser: Found seluser default 'system_u' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/lib]/selrole: Found selrole default 'object_r' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/lib]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/lib]/selrange: Found selrange default 's0' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/preview]/seluser: Found seluser default 'system_u' for /var/lib/puppet/preview
Debug: /File[/var/lib/puppet/preview]/selrole: Found selrole default 'object_r' for /var/lib/puppet/preview
Debug: /File[/var/lib/puppet/preview]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/preview
Debug: /File[/var/lib/puppet/preview]/selrange: Found selrange default 's0' for /var/lib/puppet/preview
Debug: /File[/etc/puppet/ssl/certs]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/certs
Debug: /File[/etc/puppet/ssl/certs]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/certs
Debug: /File[/etc/puppet/ssl/certs]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/certs
Debug: /File[/etc/puppet/ssl/certs]/selrange: Found selrange default 's0' for /etc/puppet/ssl/certs
Debug: /File[/etc/puppet/ssl]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl
Debug: /File[/etc/puppet/ssl]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl
Debug: /File[/etc/puppet/ssl]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl
Debug: /File[/etc/puppet/ssl]/selrange: Found selrange default 's0' for /etc/puppet/ssl
Debug: /File[/etc/puppet/ssl/public_keys]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/public_keys
Debug: /File[/etc/puppet/ssl/public_keys]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/public_keys
Debug: /File[/etc/puppet/ssl/public_keys]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/public_keys
Debug: /File[/etc/puppet/ssl/public_keys]/selrange: Found selrange default 's0' for /etc/puppet/ssl/public_keys
Debug: /File[/etc/puppet/ssl/certificate_requests]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/certificate_requests
Debug: /File[/etc/puppet/ssl/certificate_requests]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/certificate_requests
Debug: /File[/etc/puppet/ssl/certificate_requests]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/certificate_requests
Debug: /File[/etc/puppet/ssl/certificate_requests]/selrange: Found selrange default 's0' for /etc/puppet/ssl/certificate_requests
Debug: /File[/etc/puppet/ssl/private_keys]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/private_keys
Debug: /File[/etc/puppet/ssl/private_keys]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/private_keys
Debug: /File[/etc/puppet/ssl/private_keys]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/private_keys
Debug: /File[/etc/puppet/ssl/private_keys]/selrange: Found selrange default 's0' for /etc/puppet/ssl/private_keys
Debug: /File[/etc/puppet/ssl/private]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/private
Debug: /File[/etc/puppet/ssl/private]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/private
Debug: /File[/etc/puppet/ssl/private]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/private
Debug: /File[/etc/puppet/ssl/private]/selrange: Found selrange default 's0' for /etc/puppet/ssl/private
Debug: /File[/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem]/selrange: Found selrange default 's0' for /etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem]/selrange: Found selrange default 's0' for /etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem]/selrange: Found selrange default 's0' for /etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem
Debug: /File[/etc/puppet/ssl/certs/ca.pem]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/certs/ca.pem
Debug: /File[/etc/puppet/ssl/certs/ca.pem]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/certs/ca.pem
Debug: /File[/etc/puppet/ssl/certs/ca.pem]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/certs/ca.pem
Debug: /File[/etc/puppet/ssl/certs/ca.pem]/selrange: Found selrange default 's0' for /etc/puppet/ssl/certs/ca.pem
Debug: /File[/etc/puppet/ssl/crl.pem]/seluser: Found seluser default 'system_u' for /etc/puppet/ssl/crl.pem
Debug: /File[/etc/puppet/ssl/crl.pem]/selrole: Found selrole default 'object_r' for /etc/puppet/ssl/crl.pem
Debug: /File[/etc/puppet/ssl/crl.pem]/seltype: Found seltype default 'puppet_etc_t' for /etc/puppet/ssl/crl.pem
Debug: /File[/etc/puppet/ssl/crl.pem]/selrange: Found selrange default 's0' for /etc/puppet/ssl/crl.pem
Debug: /File[/var/lib/puppet/client_yaml]/seluser: Found seluser default 'system_u' for /var/lib/puppet/client_yaml
Debug: /File[/var/lib/puppet/client_yaml]/selrole: Found selrole default 'object_r' for /var/lib/puppet/client_yaml
Debug: /File[/var/lib/puppet/client_yaml]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/client_yaml
Debug: /File[/var/lib/puppet/client_yaml]/selrange: Found selrange default 's0' for /var/lib/puppet/client_yaml
Debug: /File[/var/lib/puppet/client_data]/seluser: Found seluser default 'system_u' for /var/lib/puppet/client_data
Debug: /File[/var/lib/puppet/client_data]/selrole: Found selrole default 'object_r' for /var/lib/puppet/client_data
Debug: /File[/var/lib/puppet/client_data]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/client_data
Debug: /File[/var/lib/puppet/client_data]/selrange: Found selrange default 's0' for /var/lib/puppet/client_data
Debug: /File[/var/lib/puppet/clientbucket]/seluser: Found seluser default 'system_u' for /var/lib/puppet/clientbucket
Debug: /File[/var/lib/puppet/clientbucket]/selrole: Found selrole default 'object_r' for /var/lib/puppet/clientbucket
Debug: /File[/var/lib/puppet/clientbucket]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/clientbucket
Debug: /File[/var/lib/puppet/clientbucket]/selrange: Found selrange default 's0' for /var/lib/puppet/clientbucket
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]/seluser: Found seluser default 'system_u' for /var/lib/puppet/state/last_run_summary.yaml
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]/selrole: Found selrole default 'object_r' for /var/lib/puppet/state/last_run_summary.yaml
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/state/last_run_summary.yaml
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]/selrange: Found selrange default 's0' for /var/lib/puppet/state/last_run_summary.yaml
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]/seluser: Found seluser default 'system_u' for /var/lib/puppet/state/last_run_report.yaml
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]/selrole: Found selrole default 'object_r' for /var/lib/puppet/state/last_run_report.yaml
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/state/last_run_report.yaml
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]/selrange: Found selrange default 's0' for /var/lib/puppet/state/last_run_report.yaml
Debug: /File[/var/lib/puppet/state/graphs]/seluser: Found seluser default 'system_u' for /var/lib/puppet/state/graphs
Debug: /File[/var/lib/puppet/state/graphs]/selrole: Found selrole default 'object_r' for /var/lib/puppet/state/graphs
Debug: /File[/var/lib/puppet/state/graphs]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/state/graphs
Debug: /File[/var/lib/puppet/state/graphs]/selrange: Found selrange default 's0' for /var/lib/puppet/state/graphs
Debug: /File[/var/lib/puppet/facts.d]/seluser: Found seluser default 'system_u' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/facts.d]/selrole: Found selrole default 'object_r' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/facts.d]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/facts.d]/selrange: Found selrange default 's0' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/state]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/lib]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/preview]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/etc/puppet/ssl/certs]: Adding autorequire relationship with File[/etc/puppet/ssl]
Debug: /File[/etc/puppet/ssl]: Adding autorequire relationship with File[/etc/puppet]
Debug: /File[/etc/puppet/ssl/public_keys]: Adding autorequire relationship with File[/etc/puppet/ssl]
Debug: /File[/etc/puppet/ssl/certificate_requests]: Adding autorequire relationship with File[/etc/puppet/ssl]
Debug: /File[/etc/puppet/ssl/private_keys]: Adding autorequire relationship with File[/etc/puppet/ssl]
Debug: /File[/etc/puppet/ssl/private]: Adding autorequire relationship with File[/etc/puppet/ssl]
Debug: /File[/etc/puppet/ssl/certs/karsh.domain.avtechpulse.com.pem]: Adding autorequire relationship with File[/etc/puppet/ssl/certs]
Debug: /File[/etc/puppet/ssl/private_keys/karsh.domain.avtechpulse.com.pem]: Adding autorequire relationship with File[/etc/puppet/ssl/private_keys]
Debug: /File[/etc/puppet/ssl/public_keys/karsh.domain.avtechpulse.com.pem]: Adding autorequire relationship with File[/etc/puppet/ssl/public_keys]
Debug: /File[/etc/puppet/ssl/certs/ca.pem]: Adding autorequire relationship with File[/etc/puppet/ssl/certs]
Debug: /File[/etc/puppet/ssl/crl.pem]: Adding autorequire relationship with File[/etc/puppet/ssl]
Debug: /File[/var/lib/puppet/client_yaml]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/client_data]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/clientbucket]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Adding autorequire relationship with File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]: Adding autorequire relationship with File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/state/graphs]: Adding autorequire relationship with File[/var/lib/puppet/state]
Debug: /File[/var/lib/puppet/facts.d]: Adding autorequire relationship with File[/var/lib/puppet]
Debug: /File[/var/lib/puppet/state/last_run_summary.yaml]/seluser: seluser changed 'unconfined_u' to 'system_u'
Debug: /File[/var/lib/puppet/state/last_run_report.yaml]/seluser: seluser changed 'unconfined_u' to 'system_u'
Debug: Finishing transaction 9303500
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Runtime environment: puppet_version=4.1.0, ruby_version=2.2.2, run_mode=agent, default_encoding=UTF-8
Debug: Using cached certificate for ca
Debug: Using cached certificate for karsh.domain.avtechpulse.com
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Failed to load library 'msgpack' for feature 'msgpack'
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: node supports formats: pson yaml binary
Debug: Using cached certificate for ca
Debug: Using cached certificate for karsh.domain.avtechpulse.com
Debug: Creating new connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Using cached certificate_revocation_list for ca
Debug: Starting connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Caching connection for https://puppet4.domain.avtechpulse.com:8140
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: Error 400 on SERVER: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x007fe6c08b3180>
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Info: Retrieving pluginfacts
Debug: /File[/var/lib/puppet/facts.d]/seluser: Found seluser default 'system_u' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/facts.d]/selrole: Found selrole default 'object_r' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/facts.d]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/facts.d
Debug: /File[/var/lib/puppet/facts.d]/selrange: Found selrange default 's0' for /var/lib/puppet/facts.d
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Failed to load library 'msgpack' for feature 'msgpack'
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: file_metadata supports formats: pson yaml binary
Debug: Using cached connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Caching connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Finishing transaction 10903920
Info: Retrieving plugin
Debug: /File[/var/lib/puppet/lib]/seluser: Found seluser default 'system_u' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/lib]/selrole: Found selrole default 'object_r' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/lib]/seltype: Found seltype default 'puppet_var_lib_t' for /var/lib/puppet/lib
Debug: /File[/var/lib/puppet/lib]/selrange: Found selrange default 's0' for /var/lib/puppet/lib
Debug: Failed to load library 'msgpack' for feature 'msgpack'
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: file_metadata supports formats: pson yaml binary
Debug: Using cached connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Caching connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Finishing transaction 10379040
Debug: Evicting cache entry for environment 'production'
Debug: Caching environment 'production' (cache ttl: 0)
Debug: Loading external facts from /var/lib/puppet/facts.d
Debug: Facter: Found no suitable resolves of 1 for ec2_metadata
Debug: Facter: value for ec2_metadata is still nil
Debug: Facter: Found no suitable resolves of 1 for ec2_metadata
Debug: Facter: value for ec2_metadata is still nil
Debug: Facter: Found no suitable resolves of 1 for ec2_userdata
Debug: Facter: value for ec2_userdata is still nil
Debug: Facter: Found no suitable resolves of 1 for gce
Debug: Facter: value for gce is still nil
Debug: Facter: value for dhcp_servers is still nil
Debug: Facter: value for zpool_version is still nil
Debug: Facter: value for vlans is still nil
Debug: Facter: Found no suitable resolves of 1 for xendomains
Debug: Facter: value for xendomains is still nil
Debug: Facter: value for cfkey is still nil
Debug: Facter: value for ipaddress6 is still nil
Debug: Facter: Found no suitable resolves of 1 for zonename
Debug: Facter: value for zonename is still nil
Debug: Facter: value for lsbminordistrelease is still nil
Debug: Facter: value for ipaddress6_enp0s25 is still nil
Debug: Facter: value for ipaddress6_lo is still nil
Debug: Facter: value for macaddress_lo is still nil
Debug: Facter: value for zfs_version is still nil
Debug: Facter: Found no suitable resolves of 1 for system32
Debug: Facter: value for system32 is still nil
Debug: Facter: Found no suitable resolves of 1 for processor
Debug: Facter: value for processor is still nil
Debug: Facter: value for is_rsc is still nil
Debug: Facter: value for is_rsc is still nil
Debug: Facter: Found no suitable resolves of 1 for rsc_region
Debug: Facter: value for rsc_region is still nil
Debug: Facter: value for is_rsc is still nil
Debug: Facter: Found no suitable resolves of 1 for rsc_instance_id
Debug: Facter: value for rsc_instance_id is still nil
Debug: Facter: Found no suitable resolves of 2 for iphostnumber
Debug: Facter: value for iphostnumber is still nil
Debug: Facter: Found no suitable resolves of 2 for swapencrypted
Debug: Facter: value for swapencrypted is still nil
Debug: Failed to load library 'msgpack' for feature 'msgpack'
Debug: Puppet::Network::Format[msgpack]: feature msgpack is missing
Debug: catalog supports formats: pson yaml dot binary
Debug: Using cached connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Caching connection for https://puppet4.domain.avtechpulse.com:8140
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node karsh.domain.avtechpulse.com: Could not retrieve facts for karsh.domain.avtechpulse.com: undefined method `sanitize' for #<Hash:0x00000001b570d8>
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Debug: Using cached connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Caching connection for https://puppet4.domain.avtechpulse.com:8140
Debug: Closing connection for https://puppet4.domain.avtechpulse.com:8140
[root@karsh puppet]#

Comment 1 Michael J. Chudobiak 2015-06-09 13:18:52 UTC
Versions:

puppet-4.1.0-1.fc22.noarch
puppet-server-4.1.0-1.fc22.noarch

Comment 2 Joel Nimety 2015-06-10 22:27:47 UTC
We're receiving the same error trying to upgrade to 4.1.0-1, running puppet master with  --trace identifies the offending line of code.
#/usr/bin/ruby-mri /usr/bin/puppet master --no-daemonize --trace
...
Error: Failed when searching for node bastion: Could not retrieve facts for bastion: undefined method `sanitize' for #<Hash:0x000000017c7e68>
/usr/share/ruby/vendor_ruby/puppet/node.rb:103:in `fact_merge'
/usr/share/ruby/vendor_ruby/puppet/indirector/node/plain.rb:17:in `find'
/usr/share/ruby/vendor_ruby/puppet/indirector/indirection.rb:194:in `find'
/usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:109:in `block in find_node'
/usr/share/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/usr/share/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:106:in `find_node'
/usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:145:in `node_from_request'
/usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:47:in `find'
/usr/share/ruby/vendor_ruby/puppet/indirector/indirection.rb:194:in `find'
/usr/share/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:134:in `do_find'
/usr/share/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:48:in `block in call'
/usr/share/ruby/vendor_ruby/puppet/context.rb:64:in `override'
/usr/share/ruby/vendor_ruby/puppet.rb:223:in `override'
/usr/share/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:47:in `call'
/usr/share/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'
/usr/share/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `each'
/usr/share/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'
/usr/share/ruby/vendor_ruby/puppet/network/http/route.rb:87:in `process'
/usr/share/ruby/vendor_ruby/puppet/network/http/route.rb:87:in `process'
/usr/share/ruby/vendor_ruby/puppet/network/http/handler.rb:60:in `block in process'
/usr/share/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/usr/share/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/usr/share/ruby/vendor_ruby/puppet/network/http/handler.rb:58:in `process'
/usr/share/ruby/vendor_ruby/puppet/network/http/webrick/rest.rb:49:in `block in service'
/usr/share/ruby/vendor_ruby/puppet/network/http/webrick/rest.rb:48:in `synchronize'
/usr/share/ruby/vendor_ruby/puppet/network/http/webrick/rest.rb:48:in `service'
/usr/share/ruby/webrick/httpserver.rb:138:in `service'
/usr/share/ruby/webrick/httpserver.rb:94:in `run'
/usr/share/ruby/vendor_ruby/puppet/network/http/webrick.rb:33:in `block (2 levels) in listen'
/usr/share/ruby/webrick/server.rb:294:in `call'
/usr/share/ruby/webrick/server.rb:294:in `block in start_thread'

Comment 3 Joel Nimety 2015-06-11 16:16:35 UTC
It turns out that puppet requires SafeYAML::OPTIONS[:default_mode] = :unsafe

this warning tipped me off:

Called 'load_file' without the :safe option -- defaulting to safe mode.
You can avoid this warning in the future by setting the SafeYAML::OPTIONS[:default_mode] option (to :safe or :unsafe).

My very temporary solution:

Modify /usr/share/ruby/vendor_ruby/puppet/indirector/yaml.rb directly and added "SafeYAML::OPTIONS[:default_mode] = :unsafe" to the top of the file.

Comment 4 Michael J. Chudobiak 2015-06-11 16:29:30 UTC
That temporary override does fix the issue here too.

Comment 5 Joel Nimety 2015-06-11 19:31:38 UTC
maybe rubygem-safe_yaml shouldn't be a prereq for puppet/puppet-server.

Comment 6 Erik Logtenberg 2015-07-21 00:05:22 UTC
That does indeed fix the issue. I am still seeing this warning on the agent:

# puppet agent --no-daemonize --onetime --logdest console
Called 'load_file' without the :safe option -- defaulting to safe mode.
You can avoid this warning in the future by setting the SafeYAML::OPTIONS[:default_mode] option (to :safe or :unsafe).
Notice: Applied catalog in 0.35 seconds

However it appears to work nontheless.

Comment 7 Erik Logtenberg 2015-07-27 15:50:50 UTC
That workaround sort of fixed the issue, but not completely. For instance "puppet cert list" still has the same problem.

It seems unfortunate to make puppet depend on safe_yaml only to effectively disable it right away by putting it in unsafe mode. Anyway, I now completely disabled it by commenting out the one line in /usr/share/ruby/vendor_ruby/puppet/vendor/require_vendored.rb (this is where safe_yaml is pulled in).

It would be great if upstream could make puppet work with safe_yaml in safe mode, but in the mean time disabling safe_yaml is the way to make puppet work in Fedora.

Comment 8 Matt 2015-09-16 23:45:55 UTC
I have started to see the error with the latest version of Fedora.  These manifests ran fine a couple of weeks ago and still run correctly on RHEL 6.4 and RHEL 7.  They ran correctly on the Fedora22 nodes until last week's dnf update.

matt@aslan:54% uname -a
Linux aslan.campbell.littlelionstudios.com 4.1.6-201.fc22.x86_64 #1 SMP Fri Sep 4 17:49:24 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

matt@aslan:55% cat /etc/redhat-release 
Fedora release 22 (Twenty Two)

matt@aslan:56% rpm -qa puppet
puppet-4.1.0-4.fc22.noarch

matt@aslan:57% rpm -qa ruby
ruby-2.2.3-44.fc22.x86_64

matt@aslan:58% sudo puppet agent -t
Called 'load_file' without the :safe option -- defaulting to safe mode.
You can avoid this warning in the future by setting the SafeYAML::OPTIONS[:default_mode] option (to :safe or :unsafe).
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: Error 400 on SERVER: Could not retrieve facts for aslan.campbell.littlelionstudios.com: undefined method `sanitize' for #<Hash:0x007f5c5c65b5e8>
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node aslan.campbell.littlelionstudios.com: Could not retrieve facts for aslan.campbell.littlelionstudios.com: undefined method `sanitize' for #<Hash:0x007f5c5c4d0638>
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Comment 9 Fedora End Of Life 2016-07-19 14:43:43 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.