Ich versuche, eine wirklich grundlegende Salz-api-Konfiguration einzurichten, nur um es zu testen. Ich bin mit Salz-Master und Salz-Günstling 2016.3.0 Boron auf Ubuntu 14,04Warum funktioniert die Salz-API nicht mit dieser Konfiguration?
Ich verwende this tutorial, und meine Konfiguration ist unten.
/srv/salt/top.sls
base:
'*':
- reactor
/etc/salt/master.d/reactor.conf
reactor:
- 'salt/netapi/hook/restart':
- /srv/reactor/test.sls
/srv/Reaktor/Test. sls
{% set postdata = data.get('post', {}) %}
{% if postdata.secretkey == "replacethiswithsomethingbetter" %}
test:
local.cmd.run:
- tgt: '{{ postdata.tgt }}'
-arg:
- touch /home/username/test.txt
{% endif %}
Ich habe den Master neu gestartet, und wenn ich salt '*' state.sls reactor
ausführen, dann funktioniert alles in dem Zustand gut. Alles, was es tut, ist touch /home/username/test.txt
, und diese Datei wird erstellt, wenn ich den Status ausführen.
Der Befehl Ich bin mit der API zu verwenden, ist
curl -H "Accept: application/json" -d tgt='*' -d secretkey="replacethiswithsomethingbetter" -k https://192.168.1.1:8080/hook/services/restart
und dass Befehl gibt {"success": true}
Dann habe ich auf dem Günstling überprüfen und die Datei erstellt worden ist.
Die Ausgabe von salt-run state.event pretty=True
ist
salt/netapi/hook/services/restart {
"_stamp": "2016-06-29T19:30:04.193832",
"body": "",
"headers": {
"Accept": "application/json",
"Content-Length": "46",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "192.168.1.1:8080",
"Remote-Addr": "192.168.1.3",
"User-Agent": "curl/7.35.0"
},
"post": {
"secretkey": "replacethiswithsomethingbetter",
"tgt": "*"
}
}
ich durch all die Selbst cert Schritte unterzeichnet ging. Ich bin nicht 100% sicher, warum ich diese brauche, aber es ist fertig und sie sind in den rest_cherrypy-Konfigurationen aufgelistet.
Jede Hilfe wird geschätzt.
EDIT 1
Ich habe das Reaktor Zeug, weil es ein Beispiel ist cmd.run der Verwendung oder local.cmd.run befindet int er Salz docs here
Es ist immer noch ist der Rückkehr wahr und funktioniert nicht.
Dies endete nicht mein tatsächliches Problem. Aus irgendeinem Grund nimmt mein Meister kein "*" als Ziel. Also, das ist ein ganz anderes Problem, aber ich hatte das auch als Fehler.Danke für die Hilfe. – trueCamelType