Catching Falling Dominoes: Cloud Management-Level Provenance Analysis with Application to OpenStack