Projet

Général

Profil

Tâche #21452

Mis à jour par Fabrice Barconnière il y a plus de 6 ans

Pour reproduire, ajouter le caractère *@*@* n'importe où dans le nom de la clé *@salt_command@* :

* *@curl -v -X 'POST' -d '{"kwargs":{"servername":"*", "sal*t_command":"test.ping"}}' http://eolebase.ac-test.fr:30005/api/v1/exec.salt@*

<pre>
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 192.168.0.24...
* Connected to eolebase.ac-test.fr (192.168.0.24) port 30005 (#0)
> POST /api/v1/exec.salt HTTP/1.1
> Host: eolebase.ac-test.fr:30005
> User-Agent: curl/7.47.0
> Accept: */*
> Content-Length: 58
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 58 out of 58 bytes
< HTTP/1.1 500 Internal Server Error
< Content-Type: text/plain; charset=utf-8
< Content-Length: 59
< Connection: keep-alive
< Date: Tue, 26 Sep 2017 13:13:31 GMT
< X-Kong-Upstream-Latency: 10003
< X-Kong-Proxy-Latency: 0
< Via: kong/0.11.0
<
{
"error": {
"message": "internal server error"
}
* Connection #0 to host eolebase.ac-test.fr left intact
</pre>

Ceci provoque le traceback suivant :
<pre>
saltmaster_1 | [INFO ] Got return from horus.ac-test.fr for job 20170926102419218434
api-bridge_1 | wamp-client> 2017/09/26 10:24:23 Call to 'v1.exec.salt' canceled (mode=killnowait)
crossbar_1 | 2017-09-26T10:24:23+0000 [Router 13] Traceback (most recent call last):
crossbar_1 | File "/usr/local/site-packages/autobahn/wamp/websocket.py", line 88, in onMessage
crossbar_1 | for msg in self._serializer.unserialize(payload, isBinary):
crossbar_1 | File "/usr/local/site-packages/autobahn/wamp/serializer.py", line 131, in unserialize
crossbar_1 | msg = Klass.parse(raw_msg)
crossbar_1 | File "/usr/local/site-packages/autobahn/wamp/message.py", line 2910, in parse
crossbar_1 | raise ProtocolError("invalid value '{0}' for 'mode' option in CANCEL".format(option_mode))
crossbar_1 | autobahn.wamp.exception.ProtocolError: invalid value 'killnowait' for 'mode' option in CANCEL
crossbar_1 |
crossbar_1 | 2017-09-26T10:24:23+0000 [Router 13] session "7836466719742994" left realm "realm1"
saltmaster_1 | [INFO ] User eole Published command saltutil.find_job with jid 20170926102424296600
api-bridge_1 | 2017/09/26 10:24:28 [cf1bc6870d09/M2mJENisSm-000001] error: timeout while waiting for reply
api-bridge_1 | 2017/09/26 10:24:28 [cf1bc6870d09/M2mJENisSm-000001] "POST http://api-bridge:3000/v1/exec.salt HTTP/1.1" from 172.18.0.8:49994 - 500 59B in 10.001656749s
saltmaster_1 | [INFO ] 127.0.0.1 - - [26/Sep/2017:10:24:34] "POST / HTTP/1.1" 200 68 "" "python-requests/2.18.4"
</pre>

Relancer le conteneur *@zephir_api-bridge_1@* permet de remettre l'api en état :
*@docker restart zephir_api-bridge_1@*

Retour