summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/WebConsole/comandos/gestores/gestor_Comandos.php7
-rw-r--r--admin/WebConsole/comandos/gestores/wakeonlan_repo.php29
-rw-r--r--admin/WebConsole/idiomas/javascripts/cat/comandos/comunescomandos_cat.js1
-rw-r--r--admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js1
-rw-r--r--admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js1
-rw-r--r--admin/WebConsole/rest/opengnsys-api.yml30
-rwxr-xr-xinstaller/opengnsys_installer.sh4
-rwxr-xr-xinstaller/opengnsys_update.sh4
8 files changed, 60 insertions, 17 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;
diff --git a/admin/WebConsole/idiomas/javascripts/cat/comandos/comunescomandos_cat.js b/admin/WebConsole/idiomas/javascripts/cat/comandos/comunescomandos_cat.js
index 337bd952..2f30b70f 100644
--- a/admin/WebConsole/idiomas/javascripts/cat/comandos/comunescomandos_cat.js
+++ b/admin/WebConsole/idiomas/javascripts/cat/comandos/comunescomandos_cat.js
@@ -22,3 +22,4 @@ CTbMsg[13]="ATENCIÓN.- Debe elegir un modo de inclusión en tarea ejecutable, d
CTbMsg[14]="ATENCIÓN.- Debe especificar el nombre de la nueva tarea ejecutable que se creará y a la que se añadirá este comando";
CTbMsg[15]="ATENCIÓN.- Debe elegir la tarea a la que se añadirá este comando";
CTbMsg[16]="AVISO: si el código incluye reinicio o apagado, puede provocar que el cliente no inicie correctamente";
+CTbMsg[17]="El comando se ha enviado correctamente, pero han habido errores de conexión con la API REST de repositorio";
diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js
index a5023c96..3f13b558 100644
--- a/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js
+++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js
@@ -22,3 +22,4 @@ CTbMsg[13]="WARNING: You must choose a way of inclusion this command on task exe
CTbMsg[14]="WARNING: You must specify the name of the new task where this command will be added";
CTbMsg[15]="WARNING: You must choose the task that will add this command";
CTbMsg[16]="AVISO: si el código incluye reinicio o apagado, puede provocar que el cliente no inicie correctamente";
+CTbMsg[17]="The command has been successfully registered, but there was some problems connecting repository REST API";
diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js
index 152c3787..d0c826bf 100644
--- a/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js
+++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js
@@ -22,3 +22,4 @@ CTbMsg[13]="ATENCIÓN.- Debe elegir un modo de inclusión en tarea ejecutable, d
CTbMsg[14]="ATENCIÓN.- Debe especificar el nombre de la nueva tarea ejecutable que se creará y a la que se añadirá este comando";
CTbMsg[15]="ATENCIÓN.- Debe elegir la tarea a la que se añadirá este comando";
CTbMsg[16]="AVISO: si el código incluye reinicio o apagado, puede provocar que el cliente no inicie correctamente";
+CTbMsg[17]="El comando se ha enviado correctamente, pero han habido errores de conexión con la API REST de repositorio";
diff --git a/admin/WebConsole/rest/opengnsys-api.yml b/admin/WebConsole/rest/opengnsys-api.yml
index dc41ef9f..81325af6 100644
--- a/admin/WebConsole/rest/opengnsys-api.yml
+++ b/admin/WebConsole/rest/opengnsys-api.yml
@@ -1017,7 +1017,35 @@ paths:
tags:
- repository
- image
- #/repository/poweron
+ /repository/poweron:
+ post:
+ description: send Wake-On-Lan notification to many clients
+ parameters:
+ - in: body
+ name: data
+ description: Operation data
+ required: true
+ schema:
+ type: object
+ properties:
+ macs:
+ type: array
+ items:
+ description: MAC (Ethernet) address
+ type: string
+ responses:
+ "200":
+ description: Successful response
+ schema:
+ type: object
+ properties:
+ output:
+ type: string
+ security:
+ - apikey: []
+ tags:
+ - repository
+ - client
/ogagent/started:
post:
description: Process push notification when OGAgent is started
diff --git a/installer/opengnsys_installer.sh b/installer/opengnsys_installer.sh
index 14ad5d32..8570d36b 100755
--- a/installer/opengnsys_installer.sh
+++ b/installer/opengnsys_installer.sh
@@ -167,7 +167,7 @@ OSVERSION="${OSVERSION%%.*}"
# Configuración según la distribución GNU/Linux (usar minúsculas).
case "$OSDISTRIB" in
ubuntu|debian|linuxmint)
- DEPENDENCIES=( subversion apache2 php5 php5-ldap libapache2-mod-php5 mysql-server php5-mysql isc-dhcp-server bittorrent tftp-hpa tftpd-hpa xinetd build-essential g++-multilib libmysqlclient15-dev wget curl doxygen graphviz bittornado ctorrent samba rsync unzip netpipes debootstrap schroot squashfs-tools btrfs-tools procps arp-scan realpath php5-curl gettext moreutils jq )
+ DEPENDENCIES=( subversion apache2 php5 php5-ldap libapache2-mod-php5 mysql-server php5-mysql isc-dhcp-server bittorrent tftp-hpa tftpd-hpa xinetd build-essential g++-multilib libmysqlclient15-dev wget curl doxygen graphviz bittornado ctorrent samba rsync unzip netpipes debootstrap schroot squashfs-tools btrfs-tools procps arp-scan realpath php5-curl gettext moreutils jq wakeonlan )
UPDATEPKGLIST="apt-get update"
INSTALLPKG="apt-get -y install --force-yes"
CHECKPKG="dpkg -s \$package 2>/dev/null | grep Status | grep -qw install"
@@ -204,7 +204,7 @@ case "$OSDISTRIB" in
TFTPCFGDIR=/var/lib/tftpboot
;;
fedora|centos)
- DEPENDENCIES=( subversion httpd mod_ssl php php-ldap mysql-server mysql-devel mysql-devel.i686 php-mysql dhcp tftp-server tftp xinetd binutils gcc gcc-c++ glibc-devel glibc-devel.i686 glibc-static glibc-static.i686 libstdc++ libstdc++.i686 libstdc++-devel.i686 make wget curl doxygen graphviz ctorrent samba samba-client rsync unzip debootstrap schroot squashfs-tools python-crypto arp-scan gettext moreutils jq )
+ DEPENDENCIES=( subversion httpd mod_ssl php php-ldap mysql-server mysql-devel mysql-devel.i686 php-mysql dhcp tftp-server tftp xinetd binutils gcc gcc-c++ glibc-devel glibc-devel.i686 glibc-static glibc-static.i686 libstdc++ libstdc++.i686 libstdc++-devel.i686 make wget curl doxygen graphviz ctorrent samba samba-client rsync unzip debootstrap schroot squashfs-tools python-crypto arp-scan gettext moreutils jq wakeonlan )
INSTALLEXTRADEPS=( 'rpm -Uv ftp://ftp.altlinux.org/pub/distributions/ALTLinux/5.1/branch/files/i586/RPMS/netpipes-4.2-alt1.i586.rpm'
'pushd /tmp; wget -t3 http://download.bittornado.com/download/BitTornado-0.3.18.tar.gz && tar xvzf BitTornado-0.3.18.tar.gz && cd BitTornado-CVS && python setup.py install && ln -fs btlaunchmany.py /usr/bin/btlaunchmany && ln -fs bttrack.py /usr/bin/bttrack; popd' )
if [ "$OSDISTRIB" == "centos" ]; then
diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh
index 262dedfe..d6a238c7 100755
--- a/installer/opengnsys_update.sh
+++ b/installer/opengnsys_update.sh
@@ -113,7 +113,7 @@ OSVERSION="${OSVERSION%%.*}"
# Configuración según la distribución de Linux.
case "$OSDISTRIB" in
ubuntu|debian|linuxmint)
- DEPENDENCIES=( php5-ldap xinetd curl rsync btrfs-tools procps arp-scan realpath php5-curl gettext moreutils jq )
+ DEPENDENCIES=( curl rsync btrfs-tools procps arp-scan realpath php5-curl gettext moreutils jq wakeonlan )
UPDATEPKGLIST="apt-get update"
INSTALLPKGS="apt-get -y install --force-yes"
CHECKPKG="dpkg -s \$package 2>/dev/null | grep -q \"Status: install ok\""
@@ -130,7 +130,7 @@ case "$OSDISTRIB" in
INETDCFGDIR=/etc/xinetd.d
;;
fedora|centos)
- DEPENDENCIES=( php-ldap xinetd curl rsync btrfs-progs procps-ng arp-scan gettext moreutils jq )
+ DEPENDENCIES=( curl rsync btrfs-progs procps-ng arp-scan gettext moreutils jq wakeonlan )
# En CentOS 7 instalar arp-scan de CentOS 6.
[ "$OSDISTRIB$OSVERSION" == "centos7" ] && DEPENDENCIES=( ${DEPENDENCIES[*]/arp-scan/http://dag.wieers.com/redhat/el6/en/$(arch)/dag/RPMS/arp-scan-1.9-1.el6.rf.$(arch).rpm} )
INSTALLPKGS="yum install -y"