Forráskód Böngészése

Merge branch 'master' of ssh://gitlab.com/interlink-sa/flowdat3/modules/stats into 5

gabriel 6 éve
szülő
commit
e4d14cb6c4

+ 2 - 0
.gitlab-ci.yml

@@ -1,4 +1,5 @@
 build_branch:
+    cache: {}
     image: docker.infra.flowdat.com/fd3/sf-php:latest
     script:
       - chmod 0600 keys/*
@@ -39,6 +40,7 @@ variables:
   HOST_RADIUS: radius.test.fd3.flowdat.com
   HOST_STATS: stats.test.fd3.flowdat.com
   HOST_DUMMY: "http://www.flowdat.com/"
+  GIT_STRATEGY: clone
 
 docker:
   stage: build

+ 9 - 0
src/StatsBundle/Command/GenerateRemoteCrontabCommand.php

@@ -98,6 +98,15 @@ class GenerateRemoteCrontabCommand extends ContainerAwareCommand
                 $data = $device->jsonExtraData();
                 $deviceId = $device->getDeviceId();
 
+                if(isset($data['timeDiscovery']) && $data['timeDiscovery'] > 0) {
+                    $timeDiscovery = (int) $data['timeDiscovery'];
+                    $params = "--args=--action:Discovery --args=--entity:FTTHBundle\\\\\Entity\\\\\OLT --args=--id:{$deviceId}";
+                    $content .= PHP_EOL . PHP_EOL . "# Autodiscovery {$deviceId} is OK " . PHP_EOL;
+                    $content .= "*/{$timeDiscovery} * * * * {$pathConsole} amqp:remote --route=ftth workflow:run:action {$params} >> /var/log/cron.log 2>&1" . PHP_EOL;
+                } else {
+                    $content .= PHP_EOL . PHP_EOL . "# Autodiscovery {$deviceId} skiped, timeDiscovery is 0 or null or undefined" . PHP_EOL;
+                }
+
                 if ($data['executeSnmp'] == 0){
 		            $content .= PHP_EOL . PHP_EOL . "# Device {$deviceId} skiped, executeSnmp is 0" . PHP_EOL;
                     continue;

+ 7 - 2
src/StatsBundle/Services/DeviceManager.php

@@ -64,7 +64,9 @@ class DeviceManager
         $count = 0;
 
         foreach ($deviceServers as $deviceServer) {
-            $baseRoutes = json_decode($this->webservice->makeGetRequest($deviceServer->getUrl()), true);
+            $baseRoutes = json_decode($this->webservice->makeGetRequest(
+                $deviceServer->getUrl(), 'GET', [], ["username"=>getenv('CMD_USERNAME'), "password"=>getenv('CMD_PASSWORD')]
+            ), true);
 
             if (!isset($baseRoutes['get_devices'])) {
                 $devicesRoute = $deviceServer->getUrl();
@@ -91,7 +93,10 @@ class DeviceManager
                 $limit = 2000;
                 $offset = 0;
 
-                $remoteDevices = $this->webservice->getData($devicesRoute, $filters, array(), $limit, $offset);
+                $url = $this->webservice->buildUrl($devicesRoute, $filters, false, array(), $limit, $offset);
+                $remoteDevices = json_decode($this->webservice->makeGetRequest(
+                    $url, 'GET', [], ["username"=>getenv('CMD_USERNAME'), "password"=>getenv('CMD_PASSWORD')]
+                ), true);
 
                 while (!empty($remoteDevices)) {
                     $devices_values = array();