The previous changes to the upstart provider didn't take into account services
that may have upstart jobs in /etc/init with no corresponding symlink to
upstart-job in /etc/init.d. This fix adds /etc/init/$service.conf to the search
path in the upstart provider.
In order to allow upstart to use debian as its parent, this commit adds methods
for enabled?, enable and disable. Without this fix, using a debian style init
script on ubuntu requires manually specifying the debian provider be used.
With this commit, the upstart provider can be the default for ubuntu and
still fail up to its parent, debian.
The enabled?, disable, and enable methods are complicated because upstart has 3
behaviors to account for. Upstart < 0.6.7 have only the conf file and start on
stanzas to worry about, 0.6.7 < upstart < 0.9.0 has a manual stanza which
removes any previous start on declaration, and upstart >= 0.9.0 has an override
file. In upstart >= 0.9.0, the provider does all of its work using override files
to leave the upstart conf file for the service intact and unchanged.
Because of the need to know which upstart version is being used, this commit
also adds a method and a class variable to hold and access the upstart version,
obtained by a call to `initctl --version`.
The previous twoscope lookup of the inheritied scope tried to find the
inherited scope by looking up the class_scope() directly. Unfortunately,
this does not work correctly in cases where the inherited scope is
qualified to the topscope (::parent) or where the scope is implicitly
qualified (class a { class b {} class c inherits b {} }).
By using the same mechanism that variables use for looking up scope (the
qualified_scope() method) variable lookup will find a scope consistent
with what qualified variable lookups will find.
This release includes contributions from Matthaus Litteken and Andrew Parker
Puppet 2.7.15rc3 Changelog
===
Matthaus Litteken (7)
a45942b (#14297) Don't remove tty1 or rsyslog during upstart acceptance
466ab49 (#14297) Define agent in upstart acceptance test
f5d1f74 (#14297) Update upstart provider acceptance tests
3c5ef40 (#14297) Clean up upstart provider and tests
6cca061 (#14297) Add acceptance test for upstart provider
b9ed026 (#14297) Update spec tests for upstart provider
91827e8 (#14297) Handle upstart services better
Andrew Parker (3)
36c41e1 (#14343) Test cases for more forms of variable lookup
3541db6 (#14343) Lookup in correct inherited scope
2d83e22 (Maint) Added test for fully qualified variable