Pavel Ryvintsev
Pavel Ryvintsev

Reputation: 1008

Stopping systemd service with salt-tack

I am using salt-stack to manage my production machine. The minions run Raspbian and my and I have configured a systemd service. The services config file is located at /lib/systemd/system/my_service.service

When I run the following command:

sudo salt my_minion service.stop my_service

The following error is returned:

ERROR: Unable to run command ['/etc/init.d/my_service', 'stop'] with the context {'with_communicate': True, 'shell': False, 'env': {'LANG': 'en_GB.UTF-8', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'LC_ALL': 'C'}, 'stdout': -1, 'close_fds': True, 'stdin': None, 'stderr': -2, 'cwd': '/root'}, reason: [Errno 2] No such file or directory

I understand that salt tries to use sysvinit instead of systemd.

Is there any way to tell salt to use systemd?

EDIT:

Tried adding

providers:
  service: systemd

to /etc/salt/minion as suggested by Eric. Still getting the same error

EDIT 2

The issue was fixed by using Erics suggestion + upgrading salt-minion to 2015.8.8 from 2015.8.3

Upvotes: 0

Views: 950

Answers (1)

Erik
Erik

Reputation: 305

This is almost certainly because newer Raspbian is based off of Debian 8, and Salt's systemd execution module does not properly detect newer Raspbian as needing systemd. Can the OP please reply to this message with the output from sudo salt my_minion grains.items? Please redact any grains which you feel have personally-identifiable information, I'm mainly interested in the grains that deal with OS name and version.

EDIT: One more thing. Please confirm that /run/systemd/system exists on the Raspbian box. What I think is happening here is two modules are both claiming to be the ones to provide the service module.

https://github.com/saltstack/salt/pull/32421 should fix this, but you can work around this immediately (without waiting for a new Salt release) by adding the following to /etc/salt/minion on your Raspbian minions:

providers:
  service: systemd

Upvotes: 2

Related Questions