Browse Source

Se guarda en archivo la configuración de kea

Espinoza Guillermo 6 years ago
parent
commit
86c12a58fc

+ 3 - 2
src/KeaBundle/Controller/ConfigController.php

@@ -58,8 +58,9 @@ class ConfigController extends Controller
             } elseif($action == 'generate') {
             } elseif($action == 'generate') {
                 $config = $keaConfigService->getConfig($dhcpId);
                 $config = $keaConfigService->getConfig($dhcpId);
             } elseif($action == 'set') {
             } elseif($action == 'set') {
-                $params = $request->get('params');
-                $config = $keaConfigService->setConfig($dhcp, $params);
+                $config = $keaConfigService->saveFileConfig($request->get('params')) ? 
+                        '{"resultado": "Archivo guardado correctamente"}' : 
+                        '{"resultado": "Error al guardar"}';
             } elseif($action == 'save') {
             } elseif($action == 'save') {
                 $params = $request->get('params');
                 $params = $request->get('params');
                 $this->saveConfig($dhcp, $params);
                 $this->saveConfig($dhcp, $params);

+ 21 - 0
src/KeaBundle/Services/KeaConfigService.php

@@ -147,6 +147,27 @@ class KeaConfigService
         return $config;
         return $config;
     }
     }
 
 
+    /**
+     * Guarda la config de kea en el archivo /opt/flowdat/kea/conf/kea-dhcp4.conf
+     * que está montado como volumen en el docker de KEA
+     *
+     * @param json params
+     * 
+     * @return boolean
+     */
+    public function saveFileConfig($params = null)
+    {
+        $_params = json_decode($params, true);
+        if(isset($_params[0]) && isset($_params[0]['arguments'])) {
+            $json = json_encode($_params[0]['arguments'], JSON_PRETTY_PRINT);
+            file_put_contents("kea/kea-dhcp4.conf", $json);
+            
+            return true;
+        }
+        
+        return false;
+    }
+
     /**
     /**
      * @param DHCP $dhcp
      * @param DHCP $dhcp
      * @param json params
      * @param json params