When a node send reports with an unknow configID, no expected reports are showned
When a node sends reports with a bad config ID (for example, because someone changed the value of rudder_node_config_id to something that that node never had), then we get a VersionNotFound with the message "run received but no version in db", and no expected reports at all displayed above.
The correct behavior should be to:
- display a clear message explaining what is going wrong (better than the current one, at least with links toward documentation about how to debug/solve the situation)
- display the list of directive configured on the node but WITHOUT compliance, to make it clear that the reports received are not compatible with the expected ones. And so, the user know what directives are actually wanted on the node.
We also thought to:
- get the expected config id for that node,
- get expected reports for that config id,
- behave exactly like when we have a bad config id, with missing/unknown (perhaps it could be made better with a merge between expected reports / what we get + a big WARNING: the config ID IS NOT CORRECT, THERE IS A PROBLEM).
But the last part lead to quite hard to understand compliance tree (basically, if you don't know how the calculus are implemented, it's really hard to understand what you are seing)