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'; }