Wrong service provider "debian" for ubuntu trusty
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-ceph |
New
|
Undecided
|
Unassigned |
Bug Description
File manifests/params.pp sets default provider to "debian" for Ubuntu Trusty and later the service tries to use file «/etc/init.
Running the acceptance tests shows the same error that we've found after upgrading puppet-ceph module in our ceph cluster:
$ BEAKER_
...
ceph mon osd
default parameters
localhost $ scp /tmp/beaker2016
should install one monitor and one OSD on /srv/data (FAILED - 1)
Destroying vagrant boxes
==> second: Forcing shutdown of VM...
==> second: Destroying VM and associated drives...
==> first: Forcing shutdown of VM...
==> first: Destroying VM and associated drives...
Failures:
1) ceph mon osd default parameters should install one monitor and one OSD on /srv/data
Failure/Error: apply_manifest(pp, :catch_failures => true)
Beaker:
Host 'first' exited with 6 running:
puppet apply --verbose --detailed-
Last 10 lines of output were:
Notice: /Stage[
Error: Execution of '/usr/sbin/
Error: /Stage[
Notice: /Stage[
Notice: /Stage[
Notice: /Stage[
Warning: /Stage[
Warning: /Stage[
Info: Creating state file /var/lib/
Notice: Finished catalog run in 70.55 seconds
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./vendor/
# ./spec/
Finished in 11 minutes 29 seconds (files took 4 minutes 5.6 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/
The following patch fixes the issue for trusty (haven't tried it in other platforms):
diff --git a/manifests/mon.pp b/manifests/mon.pp :params: :service_ provider, provider,
index a6b5712..4ac53c5 100644
--- a/manifests/mon.pp
+++ b/manifests/mon.pp
@@ -88,8 +88,8 @@ define ceph::mon (
if $::service_provider == 'upstart' {
$init = 'upstart'
Service {
- name => "ceph-mon-${id}",
- provider => $::ceph:
+ name => "ceph-mon",
+ provider => $::service_
start => "start ceph-mon id=${id}",
stop => "stop ceph-mon id=${id}",
status => "status ceph-mon id=${id}",
diff --git a/manifests/rgw.pp b/manifests/rgw.pp
index da5557e..4271ff9 100644
--- a/manifests/rgw.pp
+++ b/manifests/rgw.pp
@@ -170,11 +170,11 @@ define ceph::rgw (
}
Service { :params: :service_ provider, provider,
- name => "radosgw-${name}",
+ name => "radosgw",
start => "start radosgw id=${name}",
stop => "stop radosgw id=${name}",
status => "status radosgw id=${name}",
- provider => $::ceph:
+ provider => $::service_
}
# Everything else that is supported by puppet-ceph should run systemd.
} else {
It seems clear that provider should be $::service_provider instead of default value from params.pp.
On the other side, the name of an upstart service must match the file in "/etc/init/ ${name} .conf".
Hope this helps,
Alex