Comment 3 for bug 1276766

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1276766] Re: 'status startpar-bridge' fails with 'status: Unknown parameter: JOB'

Hi Stig,

On Sat, Mar 15, 2014 at 08:19:04PM +0100, Stig Sandbeck Mathisen wrote:
> Steve Langasek <email address hidden> writes:

> > This is a bug in puppet, then; there's no reason that puppet should be
> > trying to call 'status startpar-bridge', and the fact that it's doing
> > so is a bug in the puppet code in question.

> When you run "puppet resource service", puppet will enumerate _all_
> services on that server (init scripts, upstart jobs, systemd services,
> whatnot, and then check if it is running, and if it is enabled on boot.

> When the operatingsystem is "ubuntu", the service provider is "upstart",
> The relevant code for handling services on ubuntu is:

> defaultfor :operatingsystem => :ubuntu

> commands :start => "/sbin/start",
> :stop => "/sbin/stop",
> :restart => "/sbin/restart",
> :status_exec => "/sbin/status",
> :initctl => "/sbin/initctl"

> Is this wrong for Ubuntu?

Not being particularly familiar with puppet's internals, I don't know if the
above is wrong per se. But startpar-bridge (and other jobs present on
Ubuntu by default, such as network-interface and network-interface-security)
are instantiated jobs; calling 'status network-interface' without specifying
a network interface is not meaningful, and any errors returned from 'status'
about 'unknown parameter' or 'unknown instance' should not be treated as
failures by puppet.

If puppet needs to get a list of all jobs running on the system, including
instantiated jobs, it should use the 'initctl list' interface.