Example failed on mac
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"
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
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.
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)