Pārlūkot izejas kodu

Merged master into FD3-633

Daniel Libonati 6 gadi atpakaļ
vecāks
revīzija
c096a212db

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

@@ -58,8 +58,9 @@ class ConfigController extends Controller
             } elseif($action == 'generate') {
                 $config = $keaConfigService->getConfig($dhcpId);
             } 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') {
                 $params = $request->get('params');
                 $this->saveConfig($dhcp, $params);

+ 1 - 1
src/KeaBundle/Services/BaseKea.php

@@ -17,7 +17,7 @@ class BaseKea implements KeaConfigInterface
     * @var array
     */
     private $hooks_libraries = [[
-        'library' => '/hook/amqp/kea-hook-flowdat3.so',
+        'library' => '/opt/hooks/amqp/kea-hook-flowdat3.so',
         'parameters' => '',
         ]];
 

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

@@ -147,6 +147,27 @@ class KeaConfigService
         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 json params