2020-02-18 06:26:44 UTC - Anuradha Natarajan: Hi All, a generic doubt, can we have print statements included in openwhisk actions to notify errors or completion of loops? i have a python action that does a "print stdout.readlines()" inside a loop however when invoking the action, got an error with the print statement https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582007204061600?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:28:53 UTC - Dominic Kim: If you print any logs to stdout/stderr in an action, it will be stored as (info/error) logs for the action. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582007333061700?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:29:49 UTC - Dominic Kim: Btw, do you want to read lines from the standard out in an action? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582007389061900?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:30:16 UTC - Anuradha Natarajan: yes https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582007416062200?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:30:44 UTC - Dominic Kim: Welcome @Pranay. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582007444062700 ---- 2020-02-18 06:34:50 UTC - drholmie: You can see logs of an action using `wsk activation logs <activation_id>`. Also all openwhisk actions need to return a dictionary and in python your function definition should follow this format: `main(params)` https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582007690062800?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:41:18 UTC - Dominic Kim: I think it would be enough to print any logs if you want to notify errors or completion of loops. What exactly do you want to achieve with stdout? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582008078063000?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:42:58 UTC - Anuradha Natarajan: to get into logs.. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582008178063200?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 06:48:44 UTC - Dominic Kim: @Anuradha Natarajan Could you share your code snippets? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582008524063400?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:18:35 UTC - Anuradha Natarajan: import paramiko def main(args): hostname = '192.168.33.10' username = 'vagrant' password = 'vagrant' cmd=["sudo yum update -y","sudo yum install docker-ce -y","sudo systemctl start docker","docker pull websphere-liberty:webProfile8","sudo docker run -d -p 80:9080 -p 443:9443 websphere-liberty:webProfile8"] ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=hostname,username=username,password=password) for x in cmd: stdin,stdout,stderr=ssh_client.exec_command(x) greeting = "Installed successfully docker and websphere container is running now" return {"greeting": greeting } https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010315063600?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:19:09 UTC - Anuradha Natarajan: my print was in the for-loop after the exec_command https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010349063800?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:19:29 UTC - Anuradha Natarajan: however openwhisk complained about the print statement and so had to remove it https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010369064000?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:25:01 UTC - Dominic Kim: Have you tried with `print(stdout.readlines())` ? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010701064200?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:25:52 UTC - Anuradha Natarajan: no https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010752064400?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:28:04 UTC - Dominic Kim: I suspect your default python runtime would be python:3 https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010884064600?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:29:22 UTC - Anuradha Natarajan: after closing it with brackets, am able to invoke the action and the prints get in the logs section +1 : Dominic Kim https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010962064800?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 07:29:30 UTC - Anuradha Natarajan: thanks :slightly_smiling_face: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582010970065000?thread_ts=1582007204.061600&cid=C3TPCAQG1 ---- 2020-02-18 12:37:29 UTC - Justin Halsall: Ah b*lls, would have hoped that that part would have been fixed by now https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582029449065400?thread_ts=1581701740.029400&cid=C3TPCAQG1 ---- 2020-02-18 16:17:12 UTC - Will Plusnick: Sorry, dude! https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582042632065700?thread_ts=1581701740.029400&cid=C3TPCAQG1 ---- 2020-02-18 17:30:48 UTC - giusdp: Hello, I wanted to understand more the load balancer relationship with the invokers. What kind of info the load balancer has about the invokers? I've only found about the isUsable (healthy unhealhty offline) stuff. Does it have access of cpu/memory usage etc? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047048067700?thread_ts=1582047048.067700&cid=C3TPCAQG1 ---- 2020-02-18 17:34:07 UTC - Rodric Rabbah: `JsNull == null` https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047247067800?thread_ts=1581970593.058500&cid=C3TPCAQG1 ---- 2020-02-18 17:34:40 UTC - Will Plusnick: Thanks! I was able to figure it out and get that test working this morning! +1 : Rodric Rabbah https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047280068000?thread_ts=1581970593.058500&cid=C3TPCAQG1 ---- 2020-02-18 17:35:58 UTC - Rodric Rabbah: iirc the high water mark on each invoker is known in the loadblancer https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047358068400?thread_ts=1582047048.067700&cid=C3TPCAQG1 ---- 2020-02-18 17:36:04 UTC - Rodric Rabbah: i dont think cpu usage is tracked https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047364068600?thread_ts=1582047048.067700&cid=C3TPCAQG1 ---- 2020-02-18 17:36:48 UTC - Rodric Rabbah: there may be some tracking of reservation slots for memory - @Markus Thömmes might know better https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047408068800?thread_ts=1582047048.067700&cid=C3TPCAQG1 ---- 2020-02-18 17:39:25 UTC - giusdp: Thanks for the reply, I was checking out these slots now. I'd love to know more https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582047565069000?thread_ts=1582047048.067700&cid=C3TPCAQG1 ---- 2020-02-18 18:22:57 UTC - Bilal: Is this the only python3 image/runtime using the faster go implementation? <https://hub.docker.com/r/openwhisk/actionloop-python-v3.7>
Or are there plans to have <https://hub.docker.com/r/openwhisk/python3action> utilize the go/actionloop implementation in teh future? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582050177069300?thread_ts=1581956348.052300&cid=C3TPCAQG1 ---- 2020-02-18 18:27:06 UTC - Rodric Rabbah: we’re in the process of doing this switch +1 : Bilal https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582050426069500?thread_ts=1581956348.052300&cid=C3TPCAQG1 ---- 2020-02-18 18:54:19 UTC - Kostis Kaffes: I suggest reading the comment here: <https://github.com/apache/openwhisk/blob/master/core/controller/src/main/scala/org/apache/openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala#L47> https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582052059069800?thread_ts=1582047048.067700&cid=C3TPCAQG1 ---- 2020-02-18 22:51:09 UTC - Kostis Kaffes: Hi all, is it possible to limit the number of concurrent actions per invoker? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582066269072000?thread_ts=1582066269.072000&cid=C3TPCAQG1 ---- 2020-02-18 22:55:15 UTC - Rodric Rabbah: You typically do that by limiting the cpu and memory variables. There’s a setting in the invoker config for this. I can’t look it up atm though. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582066515073500?thread_ts=1582066269.072000&cid=C3TPCAQG1 ---- 2020-02-18 23:05:37 UTC - Kostis Kaffes: Thank you! So that isn’t what `CONFIG_whisk_concurrencyLimit_max` ansible/roles/invoker/tasks/deploy.yml is doing? I would appreciate it if you could send me the link to the cpu/memory limits when you have some time. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582067137073700?thread_ts=1582066269.072000&cid=C3TPCAQG1 ----