Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
PUP 4.10.10, PUP 5.3.5
-
None
-
AIX 7.1 SP5 and AIX 7.2 SP1
-
-
Platform OS
-
Platform OS Kanban
-
Customer Feedback
-
Major
-
2 - 5-25% of Customers
-
4 - Major
-
5 - $$$$$$
-
The user resource no longer works after AIX Service Packs. As AIX is a PE only platform it's important that we keep it working with new OS updates.
-
33340,34953
-
2
-
Bug Fix
-
Puppet on AIX can correctly manage users on the latest AIX service packs.
Description
New versions of AIX have changed the behavior of the chpasswd command to report errors when the command syntax is incorrect. See the links below.
http://www-01.ibm.com/support/docview.wss?uid=isg1IV95055
http://www-01.ibm.com/support/docview.wss?uid=isg1IJ04629
The change to behavior went into 7100-05-01-1731 and 7200-02-01-1731, so setting the password in these AIX versions will fail. This will also cause new user creations to fail on these SPs.
The issue is that in https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/user/aix.rb#L279 we use chpasswd -e -c username, where as the username is not a valid option to the command. Since the behavior change, customers have seen failures in the user resources on these new SPs.
Errors
Debug: Executing: '/usr/bin/mkuser shell=/usr/bin/ksh minage=0 maxage=0 groups=patrol patrol'
|
Debug: Executing: '/bin/chpasswd -e -c patrol'
|
Error: Could not set 'present' on ensure: undefined local variable or method `param' for User[patrol](provider=aix):Puppet::Type::User::ProviderAix at /root/newuser.pp:10
|
Error: Could not set 'present' on ensure: undefined local variable or method `param' for User[patrol](provider=aix):Puppet::Type::User::ProviderAix at /root/newuser.pp:10
|
Wrapped exception:
|
undefined local variable or method `param' for User[patrol](provider=aix):Puppet::Type::User::ProviderAix
|
Error: /Stage[main]/Main/User[patrol]/ensure: change from absent to present failed: Could not set 'present' on ensure: undefined local variable or method `param' for User[patrol](provider=aix):Puppet::Type::User::ProviderAix at /root/newuser.pp:10
|