Multi-host checks - checking for different key/file & values

Sometimes a known issue might have conditions that span multiple hosts: "only if Gitaly is running on a certain OS version and the Rails nodes have config option xyz"

There are also scenarios where the value must be the same across different nodes, but it's stored in a different configuration/file. For example:

  • 500 response code
  • ActionView::Template::Error (7:permission denied)
  • praefect['configuration'][:auth][:token] and gitlab_rails['gitaly_token'] do not match on the GitLab server.

Currently, the best we could do is make a check for the most specific subcondition and tell people to manually check for the other condition.

This issue was split from #26, because the implementation challenges are significantly different.