public function dumpConfig(IcingaConfig $config, $db, $moduleName = 'director')
 {
     $start = microtime(true);
     $data = $config->getFileContents();
     $deployment = DirectorDeploymentLog::create(array('peer_identity' => $this->client->getPeerIdentity(), 'start_time' => date('Y-m-d H:i:s'), 'config_checksum' => $config->getChecksum()));
     $this->assertModuleExists($moduleName);
     $response = $this->client->post('config/stages/' . $moduleName, array('files' => $config->getFileContents()));
     $duration = (int) ((microtime(true) - $start) * 1000);
     // $deployment->duration_ms = $duration;
     $deployment->duration_dump = $duration;
     if ($response->succeeded()) {
         if ($stage = $response->getResult('stage', array('package' => $moduleName))) {
             // Status?
             $deployment->stage_name = key($stage);
             $deployment->dump_succeeded = 'y';
         } else {
             $deployment->dump_succeeded = 'n';
         }
     } else {
         $deployment->dump_succeeded = 'n';
     }
     $deployment->store($db);
     return $deployment->dump_succeeded === 'y';
 }