소스 검색

Merged master into FD3-633

Daniel Libonati 6 년 전
부모
커밋
c096a212db
3개의 변경된 파일25개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 2
      src/KeaBundle/Controller/ConfigController.php
  2. 1 1
      src/KeaBundle/Services/BaseKea.php
  3. 21 0
      src/KeaBundle/Services/KeaConfigService.php

+ 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