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.

Reply via email to