apache / openwhisk-wskdeploy

Apache OpenWhisk utility for deploying and managing OpenWhisk projects and packages
https://openwhisk.apache.org/
Apache License 2.0
77 stars 74 forks source link

Dumps base64 (?) on failures #977

Closed ScottChapman closed 6 years ago

ScottChapman commented 6 years ago

I've been running into a problem for the past few days, I suspect it is due to a network timeout.

But what is happening is that I am running wskdeploy and it creates a few artifacts then appears to stop. It will eventually error out by flooding stdout with what appears to be base64 encoded data.

It might be a legit timeout issue, but it should behave better than that...

pritidesai commented 6 years ago

@ScottChapman please send me some sample so that I can take a look

ScottChapman commented 6 years ago

Nothing to do with the manifest file, I was able to find the error string:

Info: Deploying action [Slack/SendMessage] ...
Error: Deployment did not complete sucessfully. Run `wskdeploy undeploy` to remove partially deployed assets.
Error: servicedeployer.go [1660]: [ERROR_WHISK_CLIENT_ERROR]: Error code: 3: net/http: request canceled (Client.Timeout exceeded while reading body): HTTP Response Status: 200 OK HTTP Response Body: {"name":"SendMessage","publish":false,"annotations":[{"key":"exec","value":"nodejs:8"}],"version":"0.0.1","exec":{"kind":"nodejs:8","code":"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXguanO0VF9r2z4UffenuD/zgzgQ1EHfHMKWNYN5kLQsYX0oJb2xbx0RWfIkOW4I/u5D/pM4bR9GYXmIJd17zj33HtmxksbCEe5pcyM4SQsVTEDT74JrCgZfjMB4dxXXocFw7O1RQ0kbmIAshGj2KidZbrnZ9ZGnw8GwSSovMOt+rlAJmq2j966uYLXlBlCnRebkxChhQ4AQb1FKEhDNRoAwm7eL+V27VBoQUq2KHKKZ42lai5XckzZouZJRAhMY3Hy9/rS8nv78Phh7HpqDjOG5kLFLAEMymZMxmFKAOjVDOHoATnCspKUXCxMnzbBu+/lyG8KxGntQ11aCmFBp8GN5u2DGai5T/nxoaIctazPzldqR7JiXbuKsF3B8CQmy1Etwh/wZgv9K2jQiofOFyrObQY9n6DBVh1NlB6udOdkVnNKcPmNRu55naIlJVQadcE0md4pL5NYVZvEWLcuVsf3xsazZOFSTeqdVxg0xFCJ4aMszq3makjaMy73aUdDoApCYUQj+SqM0WBvkj9pQjhozE0KXCp1BYbcYnSKY54LH9Q0Iwa9vtH+O2kPuirjLSMb2Aq7ivkYtah25VjEZw0ju2Xp9e7+e3qyiX9NVdLtYL6bzb+8ho+QC9+C/BkYz//EMbBtenm9hT0/tRdg8zqckk/DSHver6mc1HP2bEa+ZyrgNukn7ak8ahfCHb8baRXptqELHdLKJNfseEHVK9h2jPjzVjxvZTOfp/+Ol2Aqsglre0xt7usy2cfbKroQEHt5m1cc9LpLvUZH8a+M9gEf3p8kWWsLx9dtRjb3K8+glV9oaliF335/e12/seX8CAAD//1BLBwijxwbnbwIAABsGAABQSwMEFAAIAAgAAAAAAAAAAAAAAAAAAAAAAC0AAABub2RlX21vZHVsZXMvQHNpbmRyZXNvcmh1cy9pcy9kaXN0L2V4YW1wbGUuanMEwMEKwjAMBuD7niLUi8Lo7g7fwKEInkftfqWjW0OSykR8dz9XFaQmKZrrm8t...

In this case there are well over 1 million characters in that one error message. I won't paste then entire thing here... ;-)

csantanapr commented 6 years ago

Thanks @ScottChapman this error logs are helpful. I see that the response includes the code artifact "code":"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5

@pritidesai if the code is a 48MB zip the response will include this, are you doing a GET on the action after deplployment to verify that it got deploy correctly?

You need to the query parameter code=false and only do code=true which is the default when no present when you actually trying to download the code artifact.

For example

https://openwhisk.ng.bluemix.net/api/v1/namespaces/_/actions/foo?code=false

I believe the client-go library was updated to always include code=false

pritidesai commented 6 years ago

Yeah the code is set to true explicitly which was needed for export functionality, let me change this behavior to only set it to true for export otherwise set it to false.