2016-04-07 12 views
0

Ich verwende Salz-Stack, um meine Produktionsmaschine zu verwalten. Die Minions laufen Raspbian und meine und ich haben einen Systemdienst konfiguriert. Die Dienste-Konfigurationsdatei befindet sich auf /lib/systemd/system/my_service.service befindetStoppen Systemd Service mit Salz-Tack

Wenn ich den folgenden Befehl ausführen:

sudo salt my_minion service.stop my_service 

Der folgende Fehler zurückgegeben:

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 

Ich verstehe Dieses Salz versucht, sysvinit anstelle von systemd zu verwenden.

Gibt es eine Möglichkeit, Salz zu sagen, Systemd zu verwenden?

EDIT:

Versuchte

providers: 
    service: systemd 

/etc/Salz/Günstling Zugabe wie von Eric vorgeschlagen. Noch immer den gleichen Fehler

EDIT 2

Das Problem mithilfe von Erics Vorschlag wurde behoben + Salz-Günstling zu 2015.08.08 von 2015.8.3

+0

Überprüfung beiden salt.states.services, Es heißt "Der aktuelle Status eines Dienstes wird durch den Rückgabecode des Befehls init/rc script status bestimmt." . Verwenden Sie einfach salt modules.cmd als Arbeit um. – mootmoot

+0

Aber es gibt definitiv ein Salz-Modul, das sich mit Systemd-Dienstleistungen befasst: https://docs.saltstack.com/de/latest/ref/modules/all/salt.modules.systemd.html Ich weiß nur nicht wie Salz machen mit ihm –

Antwort

2

ist ein Upgrade Dieser fast sicher, weil neuerer Raspbian ist basierend auf Debian 8, und das Systemd-Ausführungsmodul von Salt erkennt neuere Raspbian nicht korrekt, da systemd benötigt wird. Kann das OP bitte auf diese Nachricht mit der Ausgabe von sudo salt my_minion grains.items antworten? Bitte redigiere alle Körner, von denen du persönlich identifizierbare Informationen empfindest, ich interessiere mich hauptsächlich für die Körner, die sich mit dem Betriebssystemnamen und der Version befassen.

EDIT: Eine weitere Sache. Bitte bestätigen Sie, dass /run/systemd/system auf der Raspbian-Box vorhanden ist. Was ich hier denke, ist, dass zwei Module behaupten, diejenigen zu sein, die das service Modul zur Verfügung stellen.

https://github.com/saltstack/salt/pull/32421 soll dieses Problem zu beheben, aber Sie können, indem Sie die folgenden /etc/salt/minion auf Ihrer Raspbian Günstlinge um diese sofort (für eine neue Salz Release ohne Wartezeit) arbeiten:

providers: 
    service: systemd 
+0

Auch die Antwort in http://stackoverflow.com/a/36479715/1200367 ist falsch. Bitte ignorieren Sie es. – Erik

+0

Ich lösche einfach meine Antwort. XD – mootmoot

+0

Vielen Dank für Ihre Antwort. Sie haben versucht, das zu tun, was Sie vorgeschlagen haben, aber immer noch den gleichen Fehler (weitere Details in der Frage) –