To Reproduce
- docker run --privileged -p 8080:80 -ti direktiv/direktiv-kube
- Connect to the UI on http://localhost:8080
- Run the examples/greeting/greeting example
- You will receive the following error:
[10:05:41.877] Preparing workflow triggered by api. [10:05:41.901] Running state logic (step:1) -- validate-input [10:05:41.908] Transitioning to next state: greeter (2). [10:05:41.915] Running state logic (step:2) -- greeter [10:05:41.916] Sleeping until child '50690a1a-52a6-42e7-b5ea-e6b285900d3e' returns (greeter). [10:08:51.853] Child '50690a1a-52a6-42e7-b5ea-e6b285900d3e' returned. [10:08:51.860] Action crashed due to an internal error: Post "http://workflow-13087262918469761732-greeter.direktiv-services-direktiv": dial tcp: lookup workflow-13087262918469761732-greeter.direktiv-services-direktiv on 10.43.0.10:53: no such host [10:08:51.882] Instance failed with uncatchable error: Post "http://workflow-13087262918469761732-greeter.direktiv-services-direktiv": dial tcp: lookup workflow-13087262918469761732-greeter.direktiv-services-direktiv on 10.43.0.10:53: no such host (github.com/direktiv/direktiv/pkg/flow/states.(*actionLogic).processActionResults /src/pkg/flow/states/action.go:235)
Expected behaviour
As delivered, the workflow uses the image direktiv/greeting:v4, which does not exist on GitHub. Only v3 and earlier exist.
I would expect that somewhere in the logs it would tell me this fact. Perhaps the error is going somewhere else, but it is not in the docker terminal, nor anywhere I can find in the web UI.
NOTE: that if v4 is ever created, or if the example workflow text is fixed, this will no longer be a valid reproduction recipe. However, that is not the issue I'm concerned about. Making failed workflow runs debuggable/fixable is very important.
Notes from Direktiv team:
NOTE: We totally agree and we discussed that in the past. I'm wondering if that should be in the logs or rather a status section on the instance. For UI use, a status page would be better but I'm using the CLI mostly so it has to go into the logs. We just need to find the best way to get it into the logs because this would not be coming from the container or flow but has to be an additional request to get the Knative service information.
We are doing this request already and it is available in the UI but it is not obvious. If you go to the "Overview section:
There you can find a list of actual and past containers used in that workflow.
If there is an error you can expand the "Show Details" links at the end and it would show you what is wrong.
Again, we just need to find a good way to get this into the logs. I have marked this issue as an improvement and let it open (https://github.com/direktiv/direktiv/issues/753)
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article