jailbait

Puppet WTF

Jun 8th, 2012
11,351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. classes.pp
  2.  
  3. class devuser {
  4. group { "myuser":
  5. provider => groupadd,
  6. ensure => present,
  7. gid => 501,
  8. allowdupe => true
  9. }
  10.  
  11. user { "myuser":
  12. ensure => present,
  13. gid => 501,
  14. provider => useradd,
  15. comment => "my User",
  16. home => "/home/myuser",
  17. shell => "/bin/bash",
  18. uid => 900,
  19. password => '$1$1234567890123456789012345678901',
  20. managehome => true,
  21. allowdupe => true,
  22. require => Group["myuser"]
  23. }
  24. notify {"I am actually trying to run this class: ${name}":}
  25. }
  26.  
  27. = = = = =
  28. nodes.pp
  29.  
  30. if $domain == "slams.domain.net" {
  31. include devuser
  32. }
  33.  
  34. = = = = =
  35.  
  36. On the agent side, generates:
  37. Jun 8 19:34:43 rts-am01 puppet-agent[4426]: (/Stage[main]/my-user/User[myuser]/password) change from [old password hash redacted] to [new password hash redacted] failed: Could not set password on user[myuser]: Execution of '/usr/sbin/usermod -p $1$1234567890123456789012345678901 myuser' returned 6: usermod: myuser not found in /etc/passwd
  38.  
  39. Without " password => '$1$1234567890123456789012345678901',"
  40. NOTHING is generated in the log.
  41.  
  42. The group always fails silently.
  43.  
  44. = = = = =
  45. Debug output
  46. [root@rts-am01 ~]# puppet agent -dv --server=myserver
  47. debug: Failed to load library 'rubygems' for feature 'rubygems'
  48. debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
  49. debug: Puppet::Type::User::ProviderPw: file pw does not exist
  50. debug: Puppet::Type::User::ProviderLdap: true value when expecting false
  51. debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
  52. debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing
  53. debug: Failed to load library 'ldap' for feature 'ldap'
  54. debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring File[/var/lib/puppet/state]
  55. debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl]
  56. debug: /File[/var/lib/puppet/classes.txt]: Autorequiring File[/var/lib/puppet]
  57. debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
  58. debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
  59. debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state]
  60. debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl]
  61. debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet]
  62. debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/puppet/ssl]
  63. debug: /File[/var/lib/puppet/ssl/certs/rts-am01.slams.domain.net.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
  64. debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state]
  65. debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl]
  66. debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet]
  67. debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl]
  68. debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet]
  69. debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
  70. debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl]
  71. debug: /File[/var/lib/puppet/ssl/private_keys/rts-am01.slams.domain.net.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]
  72. debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet]
  73. debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
  74. debug: /File[/var/lib/puppet/ssl/public_keys/rts-am01.slams.domain.net.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
  75. debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet]
  76. debug: Finishing transaction 23927726096400
  77.  
  78.  
  79. Once I add the notify as above, I get - in the normal non-debug output:
  80. Jun 8 20:36:12 rts-am01 puppet-agent[10122]: I am actually trying to run this class: my-user
  81. Jun 8 20:36:12 rts-am01 puppet-agent[10122]: (/Stage[main]/Devuser/Notify[I am actually trying to run this class: devuser]/message) defined 'message' as 'I am actually trying to run this class: devuser'
  82.  
  83.  
  84. # rpm -qa | grep puppet
  85. puppet-2.6.16-1.el5
Add Comment
Please, Sign In to add comment