"#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

@ -173,8 +173,14 @@ class DhcpController
$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 { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
return new JsonResponse(['success' => $responseSuccess], 200); 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);
}
} }
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
@ -253,8 +259,14 @@ class DhcpController
$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 { } else {
$responseSuccess = "Subred eliminada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
return new JsonResponse(['success' => $responseSuccess], 200); 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 = "Subred eliminada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200);
}
} }
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
@ -360,8 +372,14 @@ class DhcpController
$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 { } else {
$responseSuccess = "Subred modificada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
return new JsonResponse(['success' => $responseSuccess], 200); 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 = "Subred modificada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200);
}
} }
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
@ -558,8 +576,14 @@ class DhcpController
$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 { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
return new JsonResponse(['success' => $responseSuccess], 200); 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);
}
} }
} else { } else {
$responseError = "Error kea configuration invalid: " . $responseTest[0]["text"]; $responseError = "Error kea configuration invalid: " . $responseTest[0]["text"];
@ -652,8 +676,14 @@ class DhcpController
$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 { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
return new JsonResponse(['success' => $responseSuccess], 200); 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);
}
} }
} 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"];
@ -768,8 +798,14 @@ class DhcpController
$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 { } else {
$responseSuccess = "Configuración cargada correctamente"; $responseWrite = $this->curlKeaService->executeCurlCommand('config-write', $configuration);
return new JsonResponse(['success' => $responseSuccess], 200); 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);
}
} }
} 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"];
@ -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,8 +855,14 @@ 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);
return new JsonResponse(['success' => $responseSuccess], 200); 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);
}
} }
} }
} }