Commit Graph

231 Commits (multi-ogserver)
 

Author SHA1 Message Date
Javier Sánchez Parra fe2c8e4fe1 Adapt Delete clients to work with several ogServers
This commit makes Delete clients view to use "get_server_from_clients()"
function to send the deletion request to the correct ogServer.
2022-09-09 09:28:10 +02:00
Javier Sánchez Parra dcbba3a912 Ignore unreachable ogServers
Otherwise, ogCP crashes trying to connect to unreachable ogServers.
2022-09-08 15:27:15 +02:00
Javier Sánchez Parra cf02e0c051 Add Servers section
In Servers section/view, users can add or delete ogServers from ogCP
configuration file.

Replaces Repositories views and recycle some of its code.
2022-09-07 17:49:15 +02:00
Javier Sánchez Parra 7039b29426 Store configuration file path on a global variable
Otherwise, users may change the file path on one place of the code and
forget to change the other places.
2022-09-02 15:05:30 +02:00
Javier Sánchez Parra a9bbb10e84 Adapt MAC retrieving to support several ogServers
Clients pills show MACs regardless of the ogServer they belong to. Flask
GET /client/mac API uses "get_server_from_clients()" function to send
the command to the correct ogServer.
2022-09-02 12:50:30 +02:00
Javier Sánchez Parra 4ba34ca594 Adapt Delete image to work with several ogServers
This commit makes Delete image view to use ogServer field from
imagesForm to send the deletion request to the correct ogServer.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 17f91229d6 Add ogServer parameter to imagesForm
When users select an image, its ogServer is sent too. Then, the back-end
(flask) processes the form to obtain this ogServer and send it the
pertinent requests.

It also makes "Image details" view use this new parameter, and adds
javascript code to ensure that users can only work with several images
at the same time if they belong to the same ogServer.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 0b5dd659f1 Adapt images tree to work with several ogServers
Images view fetch images from all ogServers configured and show them in
the left tree as a nested list. ogServers are represented as the parents
of their images.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 4f02e545e4 Adapt Delete center to work with several ogServers
This commit makes Delete center view to use ogServer field from
scopesForm to send the command to the correct ogServer.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra d41089982a Delete center using the scopes tree
With this commit users can select a center from the scopes tree, and
then delete it.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 025d78c643 Adapt Add center to work with several ogServers
This commit adds a new select input with all available ogServers to "Add
center" view. The ogCP creates the center in the ogServer selected by
the user.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 60b773607b Adapt Delete room to work with several ogServers
This commit makes Delete room view to use ogServer field from scopesForm
to send the command to the correct ogServer.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 0e4203cbc0 Delete room using the scopes tree
With this commit users can select a room from the scopes tree, and then
delete it.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra c6ef5886f2 Adapt Add room to work with several ogServers
This commit makes Add room view to use ogServer field from
scopesForm to send the command to the correct ogServer.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra ea0ce480c7 Add a room to a center using the scopes tree
With this commit users can select a center from the scopes tree, and then
add a room to that center.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 3dea9115b1 Adapt Import Clients to work with several ogServers
This commit makes Import Clients view to use ogServer field from
scopesForm to send the command to the correct ogServer.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 0466b009ae Import clients to a room using the scopes tree
With this commit users can select a room from the scopes tree, and then
import clients to that room.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 88a01f018c Fix selection of scopes with empty IPs list
This commit prevents ogcp from always mark as selected/checked scopes
that have an empty IP list.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra 29ab4abf0d Add current ogServer to scopesForm
With this commit when users select a scope, the ogServer to
which it belongs is also sent. Then when processing the form we obtain
this ogServer and we can send it the pertinent requests.

This commit also makes action "Add client" to use the ogServer sent in
the form.
2022-08-31 15:57:52 +02:00
Javier Sánchez Parra bf0459a837 Add a client to a room using the scopes tree
With this commit users can select a room from the scopes tree, and then
add a client to that room.
2022-08-31 15:57:51 +02:00
Javier Sánchez Parra 8726ade25a Adapt commands to work with several ogServers
This commit makes commands views to use "get_server_from_clients()"
function to send the command to the correct ogServer.
2022-08-31 15:57:51 +02:00
Javier Sánchez Parra c5b438e73b Fix ogServer names on the scopes tree
This commit adapt how "get_scopes()" accesses the name of the ogServer
because commit eae64dd changes how "multi_request()" returns it.

Fixes: eae64dd ("Initial support of ogServer requests routing")
2022-08-05 13:46:00 +02:00
Javier Sánchez Parra 86054a4cb8 Initial support of ogServer requests "routing"
This commit adds a helper function ("get_server_from_clients()") to get
the adequate ogServer according to the targeted clients.

It also makes "Client details" command use this function.
2022-08-05 13:44:09 +02:00
Javier Sánchez Parra 5c6d287aec Add status of all clients to the scopes tree
Fetch clients status using 'get_clients()'.
2022-08-05 13:40:37 +02:00
Javier Sánchez Parra 45fc0ec787 Fetch clients from all ogServers in the dashboard
With this commit, ogcp fetch all clients lists an join them.
2022-08-05 13:40:37 +02:00
Javier Sánchez Parra 9c8b0432b1 Add helper function to send requests to all ogServers
'multi_request()' function make requests to ogServers defined in the
configuration and aggregates it responses.

This commit also makes 'get_scopes()' use it.
2022-08-05 13:40:37 +02:00
Javier Sánchez Parra b6bbd8f322 Retreive scopes from several ogServers
Update the configuration file format to support several ogServers and
retrieve scopes from those ogServers.

The old config file format is still supported.
2022-08-03 09:33:01 +02:00
Javier Sánchez Parra c4aa1f2f54 Update Catalan translations 2022-07-06 10:24:27 +02:00
Javier Sánchez Parra 7896f21303 Update Spanish translations 2022-07-06 10:24:27 +02:00
Javier Sánchez Parra 9e386e5454 Add "Delete Repository"
In "Repositories" view, users select a repository from the list on the
left and press "Delete repository".
2022-07-04 15:34:03 +02:00
Javier Sánchez Parra c068bd2144 Create "Add Repository" form and view
Creates "Add repository" form with the required inputs: name and IP.
2022-07-04 15:34:02 +02:00
Javier Sánchez Parra 9a6981d289 Add Repositories section
In Repositories section/view, users can manage task related to
repositories. For example: list, add, delete and edit them.
2022-07-04 15:34:02 +02:00
Javier Sánchez Parra eb61229b29 Use repository id on image creation
On image creation use the id to identify repositories instead of the IP.

ogServer related commit:
  * 52a38d3 ("#915 Use the repository id on image creation")
2022-06-30 10:24:02 +02:00
Javier Sánchez Parra 61bd6bc4ba Move password hashing to the backend
This patch moves login password hashing from the frontend/javascript to
the backend/flask.

This patch moves password hashing of login and user management forms.

Related commits:
  * c7b0024 ("Add password hashing")
  * 661254b ("Add 'Add user' to Users section")
2022-06-30 09:26:18 +02:00
Javier Sánchez Parra 06bcbe40a3 Increase textarea size from "Import clients"
Improve usability increasing the textarea used to copy the DHCPd
configuration.
2022-06-07 17:12:24 +02:00
Javier Sánchez Parra 6b07e83f03 Rename field "OS" from "Create image"
Rename "OS" to "Partition" to improve clarity.

This field represent which partition is used to create the image.
2022-06-07 16:16:13 +02:00
Javier Sánchez Parra 1d133dd53f Show link speed in Gb/s
If link speed is greater than 1000 Mb/s, show it in Gb/s to improve
readability.
2022-05-27 12:02:28 +02:00
Javier Sánchez Parra 85be1258e1 Use assigned repository on images transfers
Otherwise, update/restore fails on images not saved in the same machine
which runs ogServer.
2022-05-24 09:28:51 +02:00
Javier Sánchez Parra d9d3d2ad5f Add repository field to "Create image" form
Let users choose which repository want to use to save the image.
2022-05-24 09:28:51 +02:00
Javier Sánchez Parra b74820a84c Improve MAC formatting
Add ":" separator between each byte in hexadecimal and transform chars
to uppercase.
2022-05-18 11:35:35 +02:00
Javier Sánchez Parra d9fe4dfa41 Add color legend of the client states
Add an explanatory list of the colors used to represent the different
client states.
2022-05-17 11:05:14 +02:00
Javier Sánchez Parra 4c6e3a90f1 Show last command result for clients in ogLive
If the last command sent to a client/s finishes with errors, their icons
in the scopes tree change to a yellow circle with an times sign inside.
2022-05-13 11:34:44 +02:00
Javier Sánchez Parra 08cae4b6ca Add link speed to pills
If the clients API response include link speed information, show it in
clients' pills.
2022-05-11 17:37:00 +02:00
Javier Sánchez Parra ce651453c4 Add MAC to pills
Retrieve and cache MACs one by one as users select clients.
2022-05-06 09:55:58 +02:00
Javier Sánchez Parra 72c10e1529 Add 'Delete user' to Users section
Creates "Delete user" form. The user to be deleted is selected from the
sidebar in Users section.
2022-04-27 17:34:36 +02:00
Javier Sánchez Parra eb8ddd236a Add 'Edit user' to Users section
Creates "Edit user" form with the following inputs: password, password
confirmation, role (administrator or regular), allowed scopes. It does
no allow to change/edit the username.
2022-04-27 17:34:26 +02:00
Javier Sánchez Parra 661254b76e Add 'Add user' to Users section
Creates "Add user" form with the following inputs: username, password,
password confirmation, role (administrator or regular), allowed scopes.
2022-04-27 17:27:50 +02:00
Javier Sánchez Parra d8bac16a98 Add Users section
In Users section/view, administrator accounts can manage all task
related to users. For example: add, delete and edit users.
2022-04-27 17:26:40 +02:00
Javier Sánchez Parra 57da4f4efa Add user role administrator
ogCP now have to types of users, regular and administrator users.

ogCP configuration file defines users roles with the boolean field
"ADMIN".
2022-04-27 17:24:08 +02:00
Javier Sánchez Parra c7b0024d24 Add password hashing
The front-end now hashes passwords before sending them to the back-end.
It uses SHA-512.

This commit adds a hidden input which sends the password hash to not
interfere with browsers' save password functionality.

Also change passwords of the template configuration file for their
hashed/digested versions.
2022-04-22 13:02:30 +02:00