I've tried to set up a new server via our puppet-master. It was supposed to be a quick affair, everything in there has been running pretty reliably, and still is on the older servers.
Just that the new server is the first that is running Ubuntu 18, and puppet seems unable to start the services. Here's an example of an error I'm getting when trying to ensure a service is running:
Error: /Stage[main]/Influxdb/Service[influxdb]/ensure: change from stopped to running failed: Could not find init script for 'influxdb'
In the debug output I can see the following things:
Executing: '/usr/sbin/service influxdb status' Service[influxdb](provider=debian): Could not find influxdb in /etc/init.d Service[influxdb](provider=debian): Could not find influxdb.sh in /etc/init.d
There is in fact no file relating to the service in /etc/init.d, but that was never required before. If I run
sudo /usr/sbin/service influxdb status from the console, the command works. So why is the puppet agent unable to manage the service exactly?
Note that I'm not 100% sure that the problem is with ubuntu 18. That's just the only significant thing I can think of that's changed, and apparently there were some changes with systemd in Ubuntu 18, though I'm not quite clear yet on what they are exactly. What I would like is a solution that does not require me to rewrite all my service files, and have a puppet setup that works on the servers still running the old OS as well as servers running the new one. Can anybody help me achieve this?