diff options
author | ramon <ramongomez@us.es> | 2017-12-14 13:22:15 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2017-12-14 13:22:15 +0000 |
commit | 3bf09ba36ef87167703b79d56c330c979fd1302c (patch) | |
tree | b90f33254fb208c9f7f1311e6e958d6c6c545b43 /admin/WebConsole/comandos/gestores | |
parent | fce0af30c330da39d8af2bf97c895b3fbec4d62b (diff) |
#743: Mejoras en petición Wake-On-Lan a repositorio:
* documentar API REST,
* hacer una única llamada múltiple a todos los repositorios afectados,
* mostrar aviso si ha habido algún problema de conexión con un repo,
* incluir dependencias de instalación/actualización.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5534 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole/comandos/gestores')
-rw-r--r-- | admin/WebConsole/comandos/gestores/gestor_Comandos.php | 7 | ||||
-rw-r--r-- | admin/WebConsole/comandos/gestores/wakeonlan_repo.php | 29 |
2 files changed, 24 insertions, 12 deletions
diff --git a/admin/WebConsole/comandos/gestores/gestor_Comandos.php b/admin/WebConsole/comandos/gestores/gestor_Comandos.php index e2a25a6f..dd06022d 100644 --- a/admin/WebConsole/comandos/gestores/gestor_Comandos.php +++ b/admin/WebConsole/comandos/gestores/gestor_Comandos.php @@ -28,6 +28,7 @@ $sw_mkprocedimiento=""; $nombreprocedimiento=""; $idprocedimiento=""; $ordprocedimiento=0; +$avisoRepo=false; $sw_mktarea=""; $nombretarea=""; @@ -274,7 +275,11 @@ if($sw_ejya=='on' || $sw_ejprg=="on" ){ } else{ echo '<SCRIPT language="javascript">'.chr(13); - echo 'resultado_comando(2);'.chr(13); + if ($avisoRepo) { + echo 'resultado_comando(17);'.chr(13); + } else { + echo 'resultado_comando(2);'.chr(13); + } echo '</SCRIPT>'.chr(13); } } diff --git a/admin/WebConsole/comandos/gestores/wakeonlan_repo.php b/admin/WebConsole/comandos/gestores/wakeonlan_repo.php index 8711f5a5..b2929d48 100644 --- a/admin/WebConsole/comandos/gestores/wakeonlan_repo.php +++ b/admin/WebConsole/comandos/gestores/wakeonlan_repo.php @@ -1,6 +1,6 @@ -<? +<?php // Fichero con funciones para trabajar con el webservice -include_once("../../rest/util.php"); +include_once("../../includes/restfunctions.php"); /** En este punto disponemos de tres variables indicando las ips, las macs y las ids de los @@ -50,19 +50,26 @@ foreach($reposAndMacs as $repo => $macs){ if($macs["apikey"] !== ""){ $apiKeyRepo = $macs["apikey"]; unset($macs["apikey"]); - // Componer objeto JSON y llamar a la función REST. - $rest[0]['url'] = "https://$repo/opengnsys/rest/repository/poweron"; - $rest[0]['header'] = array('Authorization: '. $apiKeyRepo); - $rest[0]['post'] = '{"macs": ["' . implode('","', $macs) . '"]}'; - $result = multiRequest($rest); - if (empty($result)) - echo "Error de acceso al webservice del repositorio"; + // Componer datos de conexión para el repositorio. + $urls[$repo]['url'] = "https://$repo/opengnsys/rest/repository/poweron"; + $urls[$repo]['header'] = array('Authorization: '. $apiKeyRepo); + $urls[$repo]['post'] = '{"macs": ["' . implode('","', $macs) . '"]}'; } else{ - echo "No hacemos nada, el repositorio no tiene el webservice activo"; - + $avisoRepo = true; } } +// Enviar petición múltiple a los repositorios afectados. +if (isset($urls)) { + $result = multiRequest($urls); + // Comprobar respuesta. + foreach ($result as $repo => $res) { + if ($res['code'] != 200) { + $avisoRepo = true; + } + } +} + function existREPO($repo, $repos){ $found=false; |