Skip to content

Commit

Permalink
Updates docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jcrodriguez-dis committed Jan 18, 2022
1 parent 3146432 commit fe0324d
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 4 deletions.
13 changes: 9 additions & 4 deletions docs/source/releasenotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,23 @@ Release notes
V2.7.2
======

This is mainly a bug-fix release of version 2.7.1.
This is a bug-fix release of version 2.7.1 with small improvements.

* This release includes a workaround to a problem with the limits of int
in the XMLRPC protocol (the protocol uses int32).
This problem avoids setting a memory size or file size larger than the maximum int32 value.
A full solution to this problem requires modifications in the Moodle plugin side.
This workaround switches the size limit to the jail server local size limit when the problem is found.

* Adds new tools to the installer: bc, mypy, pycodestyle, and pydocstyle.
This temporal workaround switches the size limit to the jail server local size limit
when the problem is found.

* Uses long long int to represent memory a file size.

* The installer includes the tool bc and new modules when installing python3:
mypy, pycodestyle, and pydocstyle.

* The system checks for a change in the SSL certificate, reloading it if changed.
This allows updating certificates without stopping the service.

V2.7.1
======

Expand Down
56 changes: 56 additions & 0 deletions docs/source/requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,59 @@ and the throughput will decrease drastically.
Our tests indicate that the 32-bit O.S. uses less memory and CPU than the 64-bit version.
Remember that you can add (or remove) VPL-Jail-systems to a VPL installation online.


Network requirements
====================

This section describes the network requirement to use the execution server with the VPL plugin.

Connections that must be available
----------------------------------

* From the user machine to the Moodle Server.
The client machine that runs the browser must have access to the Moodle server.
This is the obvious connection when the user interacts with Moodle.
Notice that is highly recommended to use cyphered connections (HTTPS),
that is the Moodle server must have a certificate signed by a known authority
and the user must use an HTTPS connection (the URL to the Moodle server must start with "https://").

* From the Moodle Server to the Execution Server (Jail server).
The VPL plugin in Moodle requires sending requests to the execution server.
Notice that is highly recommended to use cyphered connections (HTTPS),
that is the Execution server must have a certificate signed by a known authority
and the VPL plugin must use an HTTPS connection (the URL to the execution server must start with "https://").

* From the user machine to the Execution Server (Jail server).
The client machine that runs the browser must have access to the Execution server.
When an execution/evaluation is requested, the execution server requires a connection from the browser
to know that the user is there and if needed a connection to allow interactions with the running program.
These connections are WebSocket and it is highly recommended to use cyphered connections (WSS),
that is the Execution server must have a certificate signed by a known authority.

Proxies
-------

If your network is not using a transparent proxy you must:

* Configure the user machines to use the proxy properly.
Notice that your proxy must be compatible with WebSocket.

* Configure the VPL plugin (Moodle administration VPL plugin settings) to use the proxy
to access properly to the executions servers.

If your network is using a transparent proxy it must be compatible with WebSocket.

Load balancer
-------------

The architecture of the connections of the execution server seems to not allow to use of a load balancer
to access a cluster of execution servers.
Notice that the execution server that runs a task receive several requests from the Moodle server
and the client machine to manage the task.

Private network
---------------

The system does not require external connections,
then there are is no restriction to install all elements (clients, Moodle server and execution servers)
in a private network.

0 comments on commit fe0324d

Please sign in to comment.