Jira (PUP-10790) user provider with uid/gid as Integer raises warning

26 views
Skip to first unread message

Peter Meier (Jira)

unread,
Nov 20, 2020, 6:59:03 PM11/20/20
to puppe...@googlegroups.com
Peter Meier created an issue
 
Puppet / Bug PUP-10790
user provider with uid/gid as Integer raises warning
Issue Type: Bug Bug
Affects Versions: PUP 7.0.0
Assignee: Unassigned
Components: Types and Providers
Created: 2020/11/20 3:58 PM
Priority: Normal Normal
Reporter: Peter Meier

 

 # cat foo.pp 
user { 'user1':
  ensure             => 'present',
  gid                => 10008,
  groups             => ['bla'],
  home               => '/home/user1',
  provider           => 'useradd',
  shell              => '/bin/bash',
  uid                => '10008',
}
 
# puppet apply --noop foo.pp
Notice: Compiled catalog for foo in environment production in 0.02 seconds
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/user.rb:468: warning: deprecated Object#=~ is called on Integer; it always returns nil
Notice: /Stage[main]/Main/User[user1]/ensure: current_value 'absent', should be 'present' (noop)
Notice: Class[Main]: Would have triggered 'refresh' from 1 event Notice: Stage[main]: Would have triggered 'refresh' from 1 event Notice: Applied catalog in 0.41 seconds

vs.

 # cat foo.pp 
user { 'user1':
  ensure             => 'present',
  gid                => '10008',
  groups             => ['bla'],
  home               => '/home/user1',
  provider           => 'useradd',
  shell              => '/bin/bash',
  uid                => '10008',
}
 
 
 # puppet apply --noop foo.pp 
Notice: Compiled catalog for foo in environment production in 0.02 seconds
Notice: /Stage[main]/Main/User[user1]/ensure: current_value 'absent', should be 'present' (noop)
Notice: Class[Main]: Would have triggered 'refresh' from 1 event
Notice: Stage[main]: Would have triggered 'refresh' from 1 event
Notice: Applied catalog in 0.42 seconds

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Peter Meier (Jira)

unread,
Nov 20, 2020, 7:05:04 PM11/20/20
to puppe...@googlegroups.com
Peter Meier commented on Bug PUP-10790
 
Re: user provider with uid/gid as Integer raises warning

Same thing happens on exec, when user is a uid:

 

 /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/exec.rb:599: warning: deprecated Object#=~ is called on Integer; it always returns nil

Josh Cooper (Jira)

unread,
Nov 23, 2020, 12:54:04 PM11/23/20
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-10790

The warning comes from ruby 2.7 due to these lines in the user type:

          if group =~ /^\d+$/
            Integer(group)
          else
            group
          end

If group is already an Integer then the regex match is non-sensical. It would be better to check for the Integer case explicitly, like is done below those lines:

if group.is_a?(Integer)
  group
else
  Integer(group)
end

If group can't be converted into an array, then the catalog should fail.

 

Josh Cooper (Jira)

unread,
Nov 23, 2020, 12:54:05 PM11/23/20
to puppe...@googlegroups.com

Gheorghe Popescu (Jira)

unread,
Nov 25, 2020, 2:30:03 AM11/25/20
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Dec 2, 2020, 1:02:05 PM12/2/20
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Dec 9, 2020, 4:37:02 AM12/9/20
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: ready for triage NW - 2020-12-23

Mihai Buzgau (Jira)

unread,
Dec 9, 2020, 4:37:04 AM12/9/20
to puppe...@googlegroups.com

Luchian Nemes (Jira)

unread,
Dec 9, 2020, 4:43:03 AM12/9/20
to puppe...@googlegroups.com

Claire Cadman (Jira)

unread,
Dec 16, 2020, 2:43:15 PM12/16/20
to puppe...@googlegroups.com
Claire Cadman updated an issue
Change By: Claire Cadman
Labels: doc_reviewed platform_7.1
Reply all
Reply to author
Forward
0 new messages