2021-02-03 16:17:32 UTC - Pavel Kravchenko: Exactly, invoker host able to communicate with the host while docker containers running on invoker host fail to communicate. Sorry, meanwhile i moved to KubernetesContainerFactory and the issue self-resolved. But i don't think its a dns issue. I tried to communicate manually with OW APIHOST using IP and failed. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1612369052078400?thread_ts=1611496643.032700&cid=C3TPCAQG1 ---- 2021-02-03 16:25:58 UTC - Pavel Kravchenko: Can someone point me what am i doing wrong? I have k8s cluster with 3 worker nodes and one master. All 3 worker nodes labeled as ow invokers and using KubernetesContainerFactory. For some reason, although one of the worker nodes running several OpenWhisk control plane pods, it is not used to run action pods. Not sure if it is important, but i do have multiple invoker and controller replicas. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1612369558083400 ---- 2021-02-03 19:02:47 UTC - Yevhen Sentiabov: Hello, I’m new in OW and I thought if you could help me to understand some things.
I implemented a custom load balancer which supposed to serve all blocking actions. So far, what I see is that the OW message content has a different structure depending on the type of action. Playground action ```{"__ow_method":"post","__ow_body":"{\"code\":\"function main(args) {\\n let name = args.name || 'stranger'\\n let greeting = 'Hello ' + name + '!'\\n console.log(greeting)\\n return {\\\"body\\\": greeting}\\n}\",\"params\":{\"param1\":\"value1\",\"param2\":\"value2\"},\"playgroundId\":\"623917\",\"actionName\":\"sampleJavaScript\",\"runtime\":\"nodejs:default\"}","__ignore_certs":true,"__ow_headers":{"accept":"*/*","host":"localhost:3233","content-type":"text/plain; charset=UTF-8","origin":"<http://localhost:3232>","dnt":"1","referer":"<http://localhost:3232/>","connection":"keep-alive","accept-encoding":"gzip, deflate, br"},"__ow_path":""}``` The `__ow_body` contains the action code and params. And invocation for that action with Json: ```{"param1":"value1","param2":"value2"}``` Web action with `{"param1":"value1","param2":"value2"}` JSON request: ```{"param1":"value1","__ow_method":"post","__ow_headers":{"accept":"*/*","host":"localhost:3233","cache-control":"no-cache","content-type":"application/json","connection":"keep-alive","accept-encoding":"gzip, deflate, br"},"__ow_path":"","param2":"value2"}``` Here, params outside of `__ow_body`. Regular action with `--param param1 value1 --param param2 value2` ```{"param1":"value1","param2":"value2"}``` For some actions, and OW message content contains `__ow` prefixes and data inside `__ow_body` for some the content is already a JsonObject. I have a custom invoker that expects incoming data as regular Json like `{"param1":"value1","param2":"value2"}`. Is there any way how to unify content data regardless of the action type and the all params in the same format? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1612378967083800 ----