saz/puppet-sudo

Module fails with resolving custom fact "sudoversion"

mimmus opened this issue · 3 comments

I'm getting this error only on three RHEL7 servers:

Error: Facter: error while resolving custom fact "sudoversion": undefined method `[]' for nil:NilClass
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 'versioncmp' parameter 'a' expects a String value, got Undef (file: /etc/puppetlabs/code/environments/Produzione_RHEL7_w_EPEL7_22/modules/sudo/manifests/conf.pp, line: 83, column: 9) (file: /etc/puppetlabs/code/environments/Produzione_RHEL7_w_EPEL7_22/modules/sudo/manifests/configs.pp, line: 23) 

I already read about:
#226

Any idea where I can indagate furtherly?

Thanks in advance

saz commented

This might be related to legacy facts usage. All legacy facts are replaced and there will be a new release.

@saz weren't legacy facts removed, maybe this is something else (seeing this in v7.0.2):

2021-11-08T12:41:14.485-05:00 ERROR [qtp2035649582-24288] [puppetserver] Puppet Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 'versioncmp' parameter 'a' expects a String value, got Undef (file: /etc/puppetlabs/code/environments/kapi_qa_v76615_pe951021_j68/thirdparty/sudo/manifests/conf.pp, line: 87, column: 9) (file: /etc/puppetlabs/code/environments/kapi_qa_v76615_pe951021_j68/modules/profile_base/manifests/linux/sudo.pp, line: 7) on node i-0e1e8b35c792cfe47

if $facts['os']['family'] == 'RedHat' {
if (versioncmp($::sudoversion, '1.7.2p1') < 0) {
warning("Found sudo with version ${::sudoversion}, but at least version 1.7.2p1 is required!")

Our internal profile_base::linux::sudo is just doing a sudo::conf:

     1	# @summary
     2	#   Sudo configuration
     3	#
     4	# 
     5	class profile_base::linux::sudo {
     6
     7	  sudo::conf {'admins':
     8	    content  => '%admin ALL=(ALL) ALL',
     9	    priority => 20,
    10	  }
...

#264 (comment)

Updated old issue.