apisix-python-plugin-runner icon indicating copy to clipboard operation
apisix-python-plugin-runner copied to clipboard

Example failed on mac

Open oosugi84 opened this issue 4 years ago • 3 comments

I followed https://apisix.apache.org/docs/python-plugin-runner/getting-started/,
apisix version is 2.10.
cloned python-plugin-runner from git.

When I call curl http://127.0.0.1:9080/get -i, the result is 503, and the log of apisix is

2021/10/22 09:41:33 [warn] 44#44: *2 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 09:41:33 [warn] 45#45: *1 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 09:41:33 [warn] 49#49: *6 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 09:41:33 [warn] 46#46: *5 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 09:41:33 [warn] 47#47: *4 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 09:41:33 [warn] 48#48: *3 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 09:41:33 [warn] 52#52: *7 [lua] plugin.lua:192: load_stream(): new plugins: {"limit-conn":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua*
2021/10/22 10:11:36 [crit] 48#48: *164901 connect() to unix:/tmp/runner.sock failed (2: No such file or directory), client: 172.25.0.1, server: _, request: "GET /get HTTP/1.1", host: "127.0.0.1:9080"
2021/10/22 10:11:36 [error] 48#48: *164901 [lua] init.lua:617: phase_func(): failed to connect to the unix socket unix:/tmp/runner.sock: no such file or directory, client: 172.25.0.1, server: _, request: "GET /get HTTP/1.1", host: "127.0.0.1:9080"
2021/10/22 10:11:36 [warn] 48#48: *164901 [lua] plugin.lua:680: run_plugin(): ext-plugin-pre-req exits with http status code 503, client: 172.25.0.1, server: _, request: "GET /get HTTP/1.1", host: "127.0.0.1:9080"

oosugi84 avatar Oct 22 '21 10:10 oosugi84

And I tried production mode, the error is

2021/10/22 10:51:54 [warn] 48#48: *2330 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:54 [warn] 49#49: *2332 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:54 [warn] 47#47: *2333 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:54 [warn] 45#45: *2334 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:54 [warn] 46#46: *2335 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:54 [warn] 44#44: *2336 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:57 [warn] 52#52: *137 [lua] init.lua:699: respawning new runner..., context: ngx.timer
2021/10/22 10:51:57 [error] 52#69: lua pipe child execvp() failed while executing python3 (2: No such file or directory)
2021/10/22 10:51:57 [warn] 52#52: *137 [lua] init.lua:687: runner exited with reason: exit, status: 1, context: ngx.timer
2021/10/22 10:51:57 [warn] 52#52: *137 [lua] init.lua:592: flush conf token lrucache, context: ngx.timer
2021/10/22 10:51:57 [warn] 52#52: *137 [lua] init.lua:697: respawn runner 3 seconds later with cmd: ["python3","\/Users\/oosugi\/workspace\/apisix\/apisix-python-plugin-runner\/apisix\/main.py","start"], context: ngx.timer

But I do have a python3 in path:

oosugi@zphzs-MacBook-Pro ~ % which python3
/usr/bin/python3
oosugi@zphzs-MacBook-Pro ~ % python3 -V
Python 3.8.2

oosugi84 avatar Oct 22 '21 10:10 oosugi84

After downloading, you must first execute make install to install it. In production mode, the execution path of python needs to be in the global variable or configure the full path of the python executable file.

shuaijinchao avatar Dec 03 '21 12:12 shuaijinchao

facing same issue, i am not able to add python plugin runner in Kubernetes environment in production mode. can someone help with this. error : lua pipe child execvp() failed while executing python3 (2: No such file or directory)

avnihs02 avatar Jun 08 '23 07:06 avnihs02