Issue #6324 has been updated by Jesse Wolfe. Status changed from Ready For Testing to Available In Testing Branch
Merged to `next` as of commit:12f5a15305ce7dc86dbd21f4f77162cae637cbfd ---------------------------------------- Bug #6324: SMF provider generates occasional "Must pass an array to execute()" errors https://projects.puppetlabs.com/issues/6324 Author: Dominic Cleal Status: Available In Testing Branch Priority: Normal Assignee: Category: Solaris Target version: Affected Puppet version: 0.25.4 Keywords: smf solaris Branch: 1. In Solaris 10, the following manifest snippet causes occasional errors: err: //services::nfs::solaris/Service[/network/nfs/nlockmgr]/ensure: change from stopped to running failed: Could not set true on enable: Must pass an array to execute() at /etc/puppet/..../modules/services/manifests/nfs.pp:33 <pre>service { "/network/nfs/status": ensure => running, enable => true, } service { "/network/nfs/nlockmgr": ensure => running, enable => true, require => Service["/network/nfs/status"], } service { "/network/nfs/client": ensure => running, enable => true, require => Service["/network/nfs/nlockmgr"], }</pre> Before running Puppet, the services are in the following states: <pre># svcs -a | grep nfs/ disabled 10:19:10 svc:/network/nfs/status:default offline 10:19:15 svc:/network/nfs/nlockmgr:default offline 10:19:26 svc:/network/nfs/client:default</pre> The nfs/client service depends on nfs/nlockmgr, which in turn depends on nfs/status. I believe there's a race between the dependent services being started by SMF after nfs/status is started and Puppet also trying to start them up, e.g. 1. Puppet starts the nfs/status service 1. Puppet checks the nfs/nlockmgr service, which is "offline" and so status is :stopped 1. SMF starts the two dependent nlockmgr and client services in the background 1. Puppet runs startcmd, which calls status, which now returns :running 1. No startcmd is returned, hence the error It's rather hard to reproduce, but tends to happen on big/fast boxes. -- 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://projects.puppetlabs.com/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.
