Issue #2249 has been updated by Fraser Scott.

puppetmasterd first run:

<pre>
r...@fscott-ubuntu:/etc/puppet# puppetmasterd --trace --debug --verbose 
--no-daemonize
info: Starting server for Puppet version 0.24.8
err: Removing mount ssh_keys: /var/puppet/fileserver/ssh_keys does not exist
info: mount[ssh_keys]: allowing * access
debug: No modules mount given; autocreating with default permissions
debug: No plugins mount given; autocreating with default permissions
debug: Creating interpreter
debug: Creating default schedules
debug: Failed to load library 'ldap' for feature 'ldap'
debug: /Settings[top]/Settings[main]/File[/var/puppet/state]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[reporting]/File[/var/puppet/reports]: 
Autorequiring File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/var/puppet/log]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/etc/puppet/ssl]: Autorequiring 
File[/etc/puppet]
debug: /Settings[top]/Settings[main]/File[/var/puppet/run]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/var/puppet/lib]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[metrics]/File[/var/puppet/rrd]: Autorequiring 
File[/var/puppet]
debug: Finishing transaction 69824179140840 with 0 changes
debug: Creating default schedules
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/requests]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/ca_pub.pem]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/inventory.txt]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/public_keys/fscott-ubuntu.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/public_keys]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/ca_crl.pem]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs/ca.pem]: 
Autorequiring File[/etc/puppet/ssl/certs]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/ca_key.pem]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private_keys/fscott-ubuntu.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/private_keys]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/private/ca.pass]: 
Autorequiring File[/etc/puppet/ssl/ca/private]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/ca_crt.pem]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/signed]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs/fscott-ubuntu.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/certs]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/private]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: /Settings[top]/Settings[ca]/File[/etc/puppet/ssl/ca/serial]: 
Autorequiring File[/etc/puppet/ssl/ca]
debug: Finishing transaction 69824178492760 with 0 changes
debug: Creating default schedules
debug: Finishing transaction 69824178138580 with 0 changes
debug: Creating default schedules
debug: 
/Settings[top]/Settings[puppetmasterd]/File[/etc/puppet/manifests/site.pp]: 
Autorequiring File[/etc/puppet/manifests]
debug: Finishing transaction 69824177835820 with 0 changes
debug: Creating default schedules
debug: 
/Settings[top]/Settings[puppetmasterd]/File[/etc/puppet/manifests/site.pp]: 
Autorequiring File[/etc/puppet/manifests]
debug: Finishing transaction 69824177502040 with 0 changes
debug: Creating default schedules
debug: 
/Settings[top]/Settings[puppetmasterd]/File[/etc/puppet/manifests/site.pp]: 
Autorequiring File[/etc/puppet/manifests]
debug: Finishing transaction 69824179304760 with 0 changes
info: Listening on port 8140
notice: Starting Puppet server version 0.24.8
debug: Overriding 192.168.0.214 with cert name debian5-test.jaildog.com
debug: Allowing authenticated client debian5-test.jaildog.com(192.168.0.214) 
access to puppetmaster.getconfig
debug: Our client is remote
info: Expiring the node cache of debian5-test.jaildog.com
info: Not using expired node for debian5-test.jaildog.com from cache; expired 
at Mon May 18 10:18:15 +0100 2009
info: Caching node for debian5-test.jaildog.com
notice: Compiled catalog for debian5-test.jaildog.com in 0.02 seconds
</pre>

puppetd first run:

<pre>
debian5-test:~# puppetd --trace --debug --verbose --no-daemonize --server 
fscott-ubuntu.jaildog.com
debug: Creating default schedules
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private_keys/debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/private_keys]
debug: /Settings[top]/Settings[main]/File[/var/puppet/run]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/var/puppet/state]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/etc/puppet/ssl]: Autorequiring 
File[/etc/puppet]
debug: /Settings[top]/Settings[puppetd]/File[/var/puppet/state/classes.txt]: 
Autorequiring File[/var/puppet/state]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private_keys]: 
Autorequiring File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private]: 
Autorequiring File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/public_keys]: 
Autorequiring File[/etc/puppet/ssl]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/csr_debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs]: Autorequiring 
File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[main]/File[/var/puppet/lib]: Autorequiring 
File[/var/puppet]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/public_keys/debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/public_keys]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs/debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/certs]
debug: /Settings[top]/Settings[main]/File[/var/puppet/facts]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs/ca.pem]: 
Autorequiring File[/etc/puppet/ssl/certs]
debug: /Settings[top]/Settings[main]/File[/var/puppet/log]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[puppetd]/File[/var/puppet/state/state.yaml]: 
Autorequiring File[/var/puppet/state]
debug: Finishing transaction 70054470519200 with 0 changes
notice: Starting Puppet client version 0.24.8
debug: Loaded state in 0.02 seconds
debug: Retrieved facts in 1.68 seconds
debug: Retrieving catalog
debug: Calling puppetmaster.getconfig
debug: Retrieved catalog in 11.25 seconds
debug: Puppet::Type::Group::ProviderLdap: true value when expecting false
debug: Puppet::Type::Group::ProviderDirectoryservice: file /usr/bin/dscl does 
not exist
debug: Puppet::Type::Group::ProviderPw: file /usr/sbin/pw does not exist
debug: Puppet::Type::Group::ProviderNetinfo: file nireport does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does 
not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderNetinfo: file nireport does not exist
debug: Creating default schedules
info: Caching catalog at /var/puppet/state/localconfig.yaml
notice: Starting catalog run
debug: Loaded state in 0.00 seconds
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Autorequiring Group[pinky]
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Autorequiring Group[brain]
debug: //Node[debian5-test.jaildog.com]/Group[snowball]: Changing ensure
debug: //Node[debian5-test.jaildog.com]/Group[snowball]: 1 change(s)
debug: Group[snowball](provider=groupadd): Executing '/usr/sbin/groupadd 
snowball'
notice: //Node[debian5-test.jaildog.com]/Group[snowball]/ensure: created
debug: //Node[debian5-test.jaildog.com]/Group[pinky]: Changing ensure
debug: //Node[debian5-test.jaildog.com]/Group[pinky]: 1 change(s)
debug: Group[pinky](provider=groupadd): Executing '/usr/sbin/groupadd pinky'
notice: //Node[debian5-test.jaildog.com]/Group[pinky]/ensure: created
debug: //Node[debian5-test.jaildog.com]/Group[brain]: Changing ensure
debug: //Node[debian5-test.jaildog.com]/Group[brain]: 1 change(s)
debug: Group[brain](provider=groupadd): Executing '/usr/sbin/groupadd brain'
notice: //Node[debian5-test.jaildog.com]/Group[brain]/ensure: created
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Changing ensure
debug: //Node[debian5-test.jaildog.com]/User[pinky]: 1 change(s)
debug: User[pinky](provider=useradd): Executing '/usr/sbin/useradd -g pinky -G 
brain pinky'
notice: //Node[debian5-test.jaildog.com]/User[pinky]/ensure: created
debug: Finishing transaction 70054439348780 with 4 changes
debug: Storing state
debug: Stored state in 0.07 seconds
notice: Finished catalog run in 1.46 seconds
</pre>

puppetmasterd second run:

<pre>
debug: Overriding 192.168.0.214 with cert name debian5-test.jaildog.com
debug: Allowing authenticated client debian5-test.jaildog.com(192.168.0.214) 
access to puppetmaster.getconfig
debug: Our client is remote
info: Expiring the node cache of debian5-test.jaildog.com
info: Not using expired node for debian5-test.jaildog.com from cache; expired 
at Mon May 18 10:21:31 +0100 2009
info: Caching node for debian5-test.jaildog.com
notice: Compiled catalog for debian5-test.jaildog.com in 0.02 seco
</pre>

puppetd second run:

<pre>
debian5-test:~# puppetd --trace --debug --verbose --no-daemonize --server 
fscott-ubuntu.jaildog.com
debug: Creating default schedules
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs/ca.pem]: 
Autorequiring File[/etc/puppet/ssl/certs]
debug: /Settings[top]/Settings[main]/File[/var/puppet/log]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[puppetd]/File[/var/puppet/state/state.yaml]: 
Autorequiring File[/var/puppet/state]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private_keys/debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/private_keys]
debug: /Settings[top]/Settings[main]/File[/var/puppet/run]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/var/puppet/state]: Autorequiring 
File[/var/puppet]
debug: /Settings[top]/Settings[main]/File[/etc/puppet/ssl]: Autorequiring 
File[/etc/puppet]
debug: /Settings[top]/Settings[puppetd]/File[/var/puppet/state/classes.txt]: 
Autorequiring File[/var/puppet/state]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private_keys]: 
Autorequiring File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/private]: 
Autorequiring File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/public_keys]: 
Autorequiring File[/etc/puppet/ssl]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/csr_debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs]: Autorequiring 
File[/etc/puppet/ssl]
debug: /Settings[top]/Settings[main]/File[/var/puppet/lib]: Autorequiring 
File[/var/puppet]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/public_keys/debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/public_keys]
debug: 
/Settings[top]/Settings[ssl]/File[/etc/puppet/ssl/certs/debian5-test.jaildog.com.pem]:
 Autorequiring File[/etc/puppet/ssl/certs]
debug: /Settings[top]/Settings[main]/File[/var/puppet/facts]: Autorequiring 
File[/var/puppet]
debug: Finishing transaction 70202938032380 with 0 changes
notice: Starting Puppet client version 0.24.8
debug: Loaded state in 0.00 seconds
debug: Retrieved facts in 0.94 seconds
debug: Retrieving catalog
debug: Calling puppetmaster.getconfig
debug: Retrieved catalog in 10.40 seconds
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does 
not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderNetinfo: file nireport does not exist
debug: Puppet::Type::Group::ProviderLdap: true value when expecting false
debug: Puppet::Type::Group::ProviderDirectoryservice: file /usr/bin/dscl does 
not exist
debug: Puppet::Type::Group::ProviderPw: file /usr/sbin/pw does not exist
debug: Puppet::Type::Group::ProviderNetinfo: file nireport does not exist
debug: Creating default schedules
info: Caching catalog at /var/puppet/state/localconfig.yaml
notice: Starting catalog run
debug: Loaded state in 0.00 seconds
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Autorequiring Group[pinky]
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Autorequiring Group[brain]
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Autorequiring 
Group[snowball]
debug: //Node[debian5-test.jaildog.com]/User[pinky]: Changing groups
debug: //Node[debian5-test.jaildog.com]/User[pinky]: 1 change(s)
debug: User[pinky](provider=useradd): Executing '/usr/sbin/usermod -G 
brain,snowball pinky'
notice: //Node[debian5-test.jaildog.com]/User[pinky]/groups: groups changed 
'brain' to 'brain,snowball'
debug: Finishing transaction 70202906862480 with 1 changes
debug: Storing state
debug: Stored state in 0.03 seconds
notice: Finished catalog run in 0.55 seconds
</pre>

Let me know if anything is missing.
----------------------------------------
Bug #2249: Unexpected behavior when modifying users' groups
http://projects.reductivelabs.com/issues/2249

Author: Fraser Scott
Status: Needs more information
Priority: Normal
Assigned to: 
Category: group
Target version: 
Complexity: Unknown
Affected version: 0.24.8
Keywords: 


Somewhat similar to "1076":http://projects.reductivelabs.com/issues/1076 I am 
experiencing problems modifying a users' groups.

Test case:

<pre>
node "test" {
       $first_run = true
        if $first_run {
                group {"brain":    ensure => present }
                group {"pinky":    ensure => present }
                group {"snowball": ensure => present }
                user { "pinky": 
                        gid => "pinky",
                        ensure => present,
                        groups => "brain" 
                }
        }
        else {
                group {"brain":    ensure => present }
                group {"pinky":    ensure => present }
                group {"snowball": ensure => present }
                user { "pinky": 
                        gid => "pinky",
                        ensure => present,
                        groups => "snowball" 
                }
        }
}
</pre>

As in 1076, toggle the first_run variable.

First run:

'/usr/sbin/useradd -g pinky -G brain pinky' called as expected

Second run:

'/usr/sbin/usermod -G brain,snowball pinky' is run and retains the 'brain' 
group, '/usr/sbin/usermod -G snowball pinky' would be the expected behavior.

Environment:

Puppet: 0.24.8
OS: Linux debian5-test 2.6.26-2-amd64 #1 SMP Fri Mar 27 04:02:59 UTC 2009 
x86_64 GNU/Linux




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to