diff --git a/api/src/OgBootBundle/Controller/OgBootController.php b/api/src/OgBootBundle/Controller/OgBootController.php index f60ffbe..dd5334e 100644 --- a/api/src/OgBootBundle/Controller/OgBootController.php +++ b/api/src/OgBootBundle/Controller/OgBootController.php @@ -1447,6 +1447,7 @@ public function getBootFiles(): JsonResponse * @OA\Property(property="mac", type="string", example="00:50:56:22:11:12"), * @OA\Property(property="template_name", type="string", example="mi_plantilla.ipxe"), * @OA\Property(property="server_ip", type="string", example="192.168.2.1"), + * @OA\Property(property="server_pxe_port", type="string", example="8082"), * @OA\Property(property="oglivedir", type="string", example="ogLive") * ) * ), @@ -1491,6 +1492,14 @@ public function createBootFile(Request $request): JsonResponse if ($serverIp && strpos($serverIp, ':') !== false) { $serverIp = explode(':', $serverIp)[0]; } + //Declaramos serverPxePort que lo usaremos para la llamada por http + $serverPxePort = $data['server_pxe_port'] ?? null; + + $serverIpPort = $serverIp; + if (!empty($serverPxePort)) { + $serverIpPort .= ':' . $serverPxePort; + } + $ogLiveDir = $data['oglivedir'] ?? 'ogLive'; // Verificación de los campos obligatorios @@ -1528,6 +1537,7 @@ public function createBootFile(Request $request): JsonResponse $parameters = [ 'LANG' => $data['lang'] ?? 'es_ES.UTF-8', 'ip' => $data['ip'] ?? '', + 'server_pxe_port' => $data['server_pxe_port'] ?? '', 'router' => $data['router'] ?? '', 'netmask' => $data['netmask'] ?? '', 'computer_name' => $data['computer_name'] ?? '', @@ -1599,12 +1609,7 @@ public function createBootFile(Request $request): JsonResponse (is_numeric($parameters['resolution']) && $parameters['resolution'] <= 999 ? 'vga=' . $parameters['resolution'] : (strpos($parameters['resolution'], ':') !== false ? 'video=' . $parameters['resolution'] : ' ' . $parameters['resolution'])); - // Esta será llamada a http para arrancar kernel e imagen de inicialización - // Si lo requiriese debe llevar puerto ya que se comunica con nginx - $serverIpPort = $this->ogBootIP; - if (!empty($this->ogBootPort)) { - $serverIpPort .= ':' . $this->ogBootPort; - } + // Extraer solo el nombre del directorio si contiene una ruta completa PROVISIONAL if (strpos($ogLiveDir, '/') !== false) { $ogLiveDir = basename($ogLiveDir);