| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Replace index.php to notification that web console has entered EoL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for tiptorrent image transfer mode to client's bash scripts
(aka cloning engine). If desired, clients receive images to restore with
the new unicast transfer mode tiptorrent.
See also: http://git.soleta.eu/tiptorrent/
#1062 Add tiptorrent support to WebConsole
Add tiptorrent option to WebConsole restore image form.
#1062 Launch tiptorrent on oglive init
This commit adds tiptorrent launch to oglive init process. Clients
launch tiptorrent daemon if they have cache partition.
#1062 Fix minor tiptorrent integration bugs
* Fix md5sum pipe typo
* Use correct variable for checksum download
#1062 Calculate checksum on image creation
Otherwise, OpenGnsys depends on cron and bittorrent specific scripts to
obtain images checksums.
Support cache cleaning for tiptorrent image parts
Tiptorrent downloads and saves images to the cache in parts. With this
commit, WebConsole shows and deletes all parts as one.
#1062 Rename TIPTORRENT-CACHE in restore image form
This commit changes TIPTORRENT for TIPTORRENT-CACHE to keep naming
consistency.
#1062 tiptorrent stores whole file instead of chunks
Tiptorrent now stores the whole file instead of the split chunks.
Removes any chunk related code from cloning engine scripts.
Requires newer version of tiptorrent installed
(tiptorrent-static >= 1.0.0-6).
Always compute MD5 of cached image
Do not rely on MD5 checksum file from the cache on tiptorrent transfers.
Otherwise, cloning engine could restore a corrupted image.
#1062 Check tiptorrent exit code
Otherwise, the image restoration continues in failed downloads.
|
| |
|
|
|
|
|
|
|
|
| |
Partition and format does not work with a subset of clients in a room scope.
(ámbito aulas).
Remove duplicate hidden input that was problematic to the javascript
code involved to fix this.
|
|
|
|
|
| |
Due to a regression reported in ticket #1051, ogserver scheduling falls
back to use the session value instead of command id.
|
| |
|
|
|
|
|
|
|
|
|
| |
Send command (formerly action) id on remotepc scheduling, instead of
session number. Otherwise, ogServer can not find the command in the
database.
This patch is necessary because commit 076a797 in ogServer repo changes
command query filter from session to id.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To help users choosing which preparation a computer needs according to
its disk type, this commit:
* Adds cloning engine support to retrieve disk type data from the
computer when refreshing disks partition schema.
* Adds WebConsole support to read disk type data from the database and
show it on partition drawing.
See also commits with #1037 in ogClient and ogServer repo.
Co-authored-by: Javier Sánchez Parra <jsanchez@soleta.eu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, speed information was not shown in the corresponding computer,
but from first to last element in the table, this did not take into
account for shutdown computers or the position inside the room for a
given computer.
This fix maps ips to speed information so it can later be indexed to
show information correctly.
Fixes: 8634dd3 (#995 Show client link speed if available)
|
|
|
|
|
| |
This commit fixes delete image cache (EliminarImagenCache) form to show
cached images as expected when used on a scope group of computers
|
|
|
|
|
|
|
|
| |
There is a function that collects the computers in the classroom and another that paints them, passing the computers from one to another through a global variable. If a classroom has fewer computers than the previous one, they paint more than necessary.
The problem has arisen when including the layout of the classroom in the status: when it was painted in an old way there was an index that limited the number of computers, with the new layout of the classroom it takes all of those in the variable.
The variable is flushed every time the computers are collected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug was found by USAL and UPV. They reported that WebConsole was
showing scripts incompletely if they contain "=".
SocketHidra stores key-value pair as "<key>=<value>" string, and the
parser splits the string on "=" characters and pick the first two
elements. Thus, if the value also contains "=", the parser splits it and
only picks the first part.
Note: keys strings never contain "=".
With "scp=this=is=a=test" as example
BEFORE this commit the parser returns
"scp" as key
"this" as value
AFTER this commit the parser returns
"spc" as key
"this=is=a=test" as value
Limit legacy SocketHidra key-value split to two elements, key and value.
This commit also removes script decoding because WebConsole stores
them decoded since v1.2.0.
|
|
|
|
|
|
|
| |
If the clients API response included speed information, show it in the
default room view.
In case link speed is less than 1000 Mbit, highlight so.
|
|
|
|
|
| |
Otherwise, webconsole fails to fetch status of computers with ogAgent
when there are too many (100 approx.).
|
|
|
|
|
|
|
|
|
| |
Webconsole parses ogagent.log searching an IP without terminator
character. Thus, it takes entries with the selected IP and with IPs that
start as the selected IP. For example, if it searches for
10.1.30.10, it shows entries of 10.1.30.10, 10.1.30.100, 10.1.30.101...
Fix ogagent.log parser to only show entries of the selected IP.
|
|
|
|
|
|
| |
Adds ogServer wol state, used to report WoL packet sending. This state
can timeout (returning to off) or change to a new state after clients
report a new one.
|
|
|
|
|
|
|
|
|
|
| |
RemotePC API queues commands only inserting them in the database and
expects ogServer to find them and send them to its respective clients.
Since v1.2.0, ogServer do not seek the database periodically searching
for pending commands. Now ogServer expose an HTTP API to queue commands.
This commit adapts RemotePC API to use new ogServer queue API.
|
|
|
|
|
|
|
|
|
| |
Commit afbfe2a introduced create_schedule_now for commands. Adapt
procedures and task to use it instead. Drop $when variable as it is no
longer needed for "immediate scheduling" execution of commands,
procedures or tasks.
Fixes: afbfe2a (Use create_schedule_now for immediate logged commands)
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid stale commands from being executed when given a time schedule that
include past dates, ie. when they are manually scheduled.
Use create_schedule_now for immediate execution commands (no manual
schedule) that the user want to be logged (by automatic scheduling to
the right moment they are processed).
Fixes #1032 (https://opengnsys.es/trac/ticket/1032#comment:2)
|
| |
|
| |
|
|
|
|
| |
The operation isn't remove on timeout.
|
|
|
|
|
| |
Fixes that include global variables, required to add the operating system startup to the action queue.
This route is defined in swagger.
|
|
|
|
|
|
|
|
|
|
| |
Setup (Particionar y Formatear) forms do not show new features clearly.
Table type selector goes unnoticed and change disk button might be taken
(incorrectly) as the accept button.
This commit improves user experience of the setup command form:
* Highlights and centers table type selector.
* Changes text of change disk button.
|
|
|
|
|
|
| |
'inremotepc' is removed.
(Reported by Ramón Gómez - US).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Webconsole is directly querying the database to build the payload for
requesting the ogServer a Wake On Lan.
ogServer is expected to query the database for the netmask and mac
parameters. Do not require the client request to have such parameters.
Adjust calls to the wol php method by other OpenGnsys components.
Fixes: a35b7c4 ("#990 Use client broadcast address on WoL")
|
| |
|
|
|
|
|
|
|
|
|
|
| |
UMA report that "delete cached image" and "partition asistant" commands
in queue mode do not work (non-queue mode works fine).
WebConsole decodes and handles quirks of shell command parameters only
when it is not queued. See shell() at restfunctions.php.
Add shell command parameters decoding and handling when queued.
|
|
|
|
|
|
|
| |
Some distros enable *.* in syslog.conf to add all logging information to
/var/log/syslog. The existing LOG_INFO syslog() entry that WebConsole
generates fill up the log files very quickly. It writes every time
WebConsole calls ogServer. Remove the LOG_INFO syslog() call.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Apache reports:
[Tue Dec 22 12:07:01.664403 2020] [proxy_fcgi:error] [pid 1386] [client
10.1.12.17:46950] AH01071: Got error 'PHP message: PHP Notice:
Undefined variable: cadenaid in
/opt/opengnsys/www/comandos/Configurar.php on line 158\nPHP message: PHP
Notice: Undefined variable: mindisks in
/opt/opengnsys/www/comandos/Configurar.php on line 201\n'
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebConsole "Partition and Format"/"Particionar y Formatear" supported
more than 4 partitions when it used SocketHidra. When we changed it to
use HTTP requests we introduced a limit of 4 partitions.
This commit:
* Restores "Partition and Format" support for more than 4 partitions.
* Adapts client-side checks (JavaScript) for more than 4 partitions and
GPT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a computer info is updated sometimes their related pxe files need
to be updated accordingly.
In order to recreate the file the function createBootMode was being
used inside gestor_ordenadores.
Eg: createBootMode ($cmd, $arranque, $ip, $idioma)
This had some problems because the POST message to gestor_ordenadores
was sometimes lacking the ip field. This field is not necessary because
updateBootMode takes the id of the computer and queries the database for
the ip of the computer associated with it.
Use updateBootMode ($cmd, "idordenador", $idordenador, $idioma) instead.
Fixes related mass updater and "moving pc to another classroom" issues.
|
|
|
|
|
|
|
|
| |
"Partition and Format"/"Particionar y Formatear" command now has all
functionalities from "Partitioning Assistant"/"Asistente de
Particionado".
Add a warning message to "Partition Assistant".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebConsole needs to rely on /shell/run to work with GPT tables. Because
"Partition and Format"/"Particionar y Formatear" form always supposes
that the partition table is MBR/MSDOS.
"Setup"/"Configurar" script from "Cloning Engine" also supposes that the
partition table is MBR/MSDOS. But it uses "Boot.lib" library, that can
create MBR and GTP partitions.
This commit:
* Adds WebConsole support to work with GPT tables.
- Adds input field where the user can select between MSDOS and
GPT table types.
* Adds "Setup" support to work with GPT tables.
- Adds script parameter that expects a string with "MSDOS" or
"GPT".
|
|
|
|
|
|
|
| |
WebConsole only supports for partitioning and formatting the first disk
of the client. POST /setup calls in ogserver and ogclient support
for multiple disks. Update WebConsole to allow to choose which disk do
you want to partition and format.
|
|
|
|
| |
columns and row property.
|
|
|
|
|
| |
This patch reads configuration from the new json file instead of using
the legacy '.cfg' file.
|
|
|
|
|
|
|
|
|
|
|
| |
Error in the REST API response of /ous/:id1/labs/:id2/clients/status
that returns the status of the computers in a classroom. It returns
running PCs with an X.X.X.1 and X.X.X.2 IP address instead of those that
are actually running, which are X.X.X.15 and X.X.X.16. The error cause
is, when constructing the JSON response, a foreach that ignores the
"keys" of the response array.
This commit adds the "keys" to the foreach to iterate also through them.
|
|
|
|
|
|
|
|
|
|
|
| |
When OpenGnsys is used via RemotePC, a failure occurs when
classrooms with groups of computers are included because the
processing and recursion is not controlled correctly because attempts
are made to add objects to a null array.
This commit adds and populates an array with the computers in the group.
Reviewed-by: Javier Sánchez Parra <jsanchez@soleta.eu>
|
|
|
|
| |
New route to boot up a computer and init session on the operating systems where the image was restored. UDS will request this route when it detects that a reserved computer is turned off.
|
| |
|
|
|
|
| |
This API is not supported by ogClient yet and it uses the obsolete socket hydra API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We find that scripts sent by "Assistants"/"Asistentes" are losing the
last character and scripts send by "Run Script"/"Ejecutar Script" have a
trailing line feed (\n).
This is happening because shell() function, which calls "/shell/run" of
ogServer REST API, expects scripts send by "Asistentes" and "Run Script"
to have two trailing characters and removes them. But "Assistants" only
put one trailing char (\r) and "Run Script" put three trailing chars
(\n\n\r).
To avoid problems when running scripts without the last char or with
trailing line feed this patch updates WebConsole to:
1) "Assistants" no longer put one trailing character at the end
of the script
2) "Run Script" no longer puts three trailing characters at the
end of the script
3) shell() expects no trailing chars in scripts sent by
"Assistants" and "Run Script".
|
|
|
|
|
| |
This patch selects the machines whose modes need to be changed using the
client's IP rather than their scope names.
|
| |
|
|
|
|
| |
This adapts to the ogServer.
|
|
|
|
|
| |
This patch fixes the call to the WOL rest function by adapting it to the
new API.
|
|
|
|
|
| |
This patch replaces a call to the 'setclientmode' script in
createBootMode() function for a REST request to the ogServer.
|