2016-06-30 15 views
0

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.

Antwort

1

URL ist falsch:

https://192.168.1.1:8080/hook/services/restart 

sollte sich ändern:

https://192.168.1.1:8080/hook/restart 

weil Sie definiert, was ist:

reactor: 
    - 'salt/netapi/hook/restart': 
    - /srv/reactor/test.sls 

Sie können als Debug-Protokoll durch Lauf Salz-Master-Ansicht salt-master -l debug.

+0

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