generate, upload: Fail with a FATAL error if there is no enough information
Goal
At "generate" stage, if during "collect" all hosts were unresponsive, we have to fail with a FATAL error, and this has to be a hard-stop (we do not continue any actions).
At "upload" stage, we also need some checks that will allow us to avoid uploading of empty reports.
TODO / How to implement
"generate": check all hosts and see if we have data collected at "collect" stage for at least one host. If not, trigger FATAL and stop.
"upload": some ideas are needed. We need to check if the report generated is not "empty". If so, we do not continue and trigger FATAL, again. This point should not be achievable – FATAL must happen before, at "generate" stage and there should be nothing to upload, but for additional protection let's consider implementing this anyway.
It is worth starting implementation from "upload" first.
Acceptance criteria
If all hosts are down, "generate" immediately fails with FATAL message to STDERR and non-zero exit code.
If somehow I've obtained a report without data (for example, using the tool before this fix), "upload" fails with FATAL and non-zero exit code.