summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/comandos/gestores
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2017-12-14 13:22:15 +0000
committerramon <ramongomez@us.es>2017-12-14 13:22:15 +0000
commit3bf09ba36ef87167703b79d56c330c979fd1302c (patch)
treeb90f33254fb208c9f7f1311e6e958d6c6c545b43 /admin/WebConsole/comandos/gestores
parentfce0af30c330da39d8af2bf97c895b3fbec4d62b (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.php7
-rw-r--r--admin/WebConsole/comandos/gestores/wakeonlan_repo.php29
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;