turbinia
turbinia copied to clipboard
Add task result error/trace info into datastore
We should add the TurbiniaTaskResult.error attribute to datastore so that the client can access it. It's a dict, so we might just have to save specific keys like 'error' and 'traceback'.
This has a few parts:
- Make sure we're recording the error/trace info into the TurbiniaTaskResult object where needed. This happens in at least one place, but we should make sure that we are also capturing this in other places where we trap exceptions, etc.
- Once this is in the TurbniaTaskResult, we need to also put this into datastore.
- Lastly, we'll need to be able to query this information from turbiniactl
Couple notes:
- We might need to change the cloud functions in order to return this as well
- I'm not sure what the best way to map the existing dict into datastore should be, but we might need to flatten (not serialize) the objects first.
@aarontp Given the upcoming architecture changes and mvoe to redis, should we close or keep this issue?
I think now that we have a better way of collecting the worker logs that as long as we're logging the relevant errors to the task (via self.log
) that we wouldn't necessarily need this.