"#153 Adds config-write to all updates in kea configuration"

pull/1/head
Luis Gerardo Romero Garcia 2024-02-15 09:27:43 +01:00
parent 3efac200a0
commit 716ef20e31
1 changed files with 57 additions and 16 deletions

View File

@ -172,10 +172,16 @@ class DhcpController
if ($responseSet == false || $responseSet[0]["result"] != 0) { if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else {
$responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseSuccess = "Configuración cargada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
}
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
@ -252,10 +258,16 @@ class DhcpController
if ($responseSet == false || $responseSet[0]["result"] != 0) { if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else {
$responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else { } else {
$responseSuccess = "Subred eliminada correctamente"; $responseSuccess = "Subred eliminada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
}
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
@ -359,10 +371,16 @@ class DhcpController
if ($responseSet == false || $responseSet[0]["result"] != 0) { if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else {
$responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else { } else {
$responseSuccess = "Subred modificada correctamente"; $responseSuccess = "Subred modificada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
}
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
@ -557,10 +575,16 @@ class DhcpController
if ($responseSet == false || $responseSet[0]["result"] != 0) { if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else {
$responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseSuccess = "Configuración cargada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
}
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
@ -651,10 +675,16 @@ class DhcpController
if ($responseSet == false || $responseSet[0]["result"] != 0) { if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else {
$responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseSuccess = "Configuración cargada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
}
} else { } else {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseTest[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
@ -767,10 +797,16 @@ class DhcpController
if ($responseSet == false || $responseSet[0]["result"] != 0) { if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else {
$responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseSuccess = "Configuración cargada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
}
} else { } else {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseTest[0]["text"]; $responseError = "Error al guardar la configuración en Kea DHCP: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
@ -806,7 +842,6 @@ class DhcpController
$backup_file = reset($backup_files); $backup_file = reset($backup_files);
$config = file_get_contents($backup_file); $config = file_get_contents($backup_file);
$configuration = json_decode($config); $configuration = json_decode($config);
$test_command = 'config-test'; $test_command = 'config-test';
$test_output = $this->curlKeaService->executeCurlCommand($test_command, $configuration); $test_output = $this->curlKeaService->executeCurlCommand($test_command, $configuration);
if ($test_output == false || $test_output[0]["result"] != 0) { if ($test_output == false || $test_output[0]["result"] != 0) {
@ -820,11 +855,17 @@ class DhcpController
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);
} else { } else {
unlink($backup_file); unlink($backup_file);
$responseSuccess = "última configuración cargada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
if ($responseWrite == false || $responseWrite[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseWrite[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else {
$responseSuccess = "Configuración cargada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200); return new JsonResponse(['success' => $responseSuccess], 200);
} }
} }
} }
}
} catch (Exception $e) { } catch (Exception $e) {
$responseError = "Error al restaurar la configuración: " . $e->getMessage(); $responseError = "Error al restaurar la configuración: " . $e->getMessage();
return new JsonResponse(['error' => $responseError], 400); return new JsonResponse(['error' => $responseError], 400);