| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Use the new "free_cache" field in GET /cache/list to check
against the real available space to check if an image fits in
cache.
|
|
|
|
|
|
|
| |
Remove the line reporting the IP of the selected client. No other
view does that and that information is already available in the
client pills.
Add client pills widget.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a client name column to the client list view accessed through
the Dashboard.
Add status column to the client list.
Move client status leyend into a separate file.
Show the client status leyend in client list.
Fix the 0 link speed conditional.
Reuse the data returned by get_scopes() to reduce the number of
requests.
|
|
|
|
|
|
|
|
|
| |
Add /action/repo/set in Commands to assign a repository to
multiple clients.
The view includes the actual repo assigned in the client pills
and shows a table with the clients grouped by repo when multiple
repos are assigned among the selected clients.
|
|
|
|
| |
Show EFI info obtained through GET /efi.
|
|
|
|
| |
Allow up to 128 IP addresses for repositories.
|
|
|
|
|
|
|
| |
Show repositories sorted in an alphanumeric fashion inside the
sidebar of /images and the respective child views.
Sort repositories in the sidebar of /repos.
|
|
|
|
| |
Add image name to the title in the view image/config.
|
|
|
|
|
|
|
|
|
|
| |
Enable server view in the main toolbar.
Hide Add server and Delete server buttons.
Add Update server button.
Add server/update view to edit the server addresses.
|
|
|
|
|
| |
Show the list of IPs of the clients withut the selected disk to
partition in the partition and format form.
|
|
|
|
|
|
| |
Keep restore update and create image operations restricted to the
first disk as enabling it for multiple disk is untested and
requires more work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for selecting different disks in the disk inspector.
Add disk_inspector.html as a template to show the disk contents of
a client. The view can define the variable readonly_disk_inspector
to make the view non editable.
Use disk_inspector.html in the following views:
- client details
- partition and format
Update code to obtain the partitions of a client to better fit the
requirements of disk_inspector.html
Remove code to setup the SetupForm as the contents of the disks
are now dynamically loaded through javascript.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for the new API REST for repository management where
the address is a list of ips instead of a single string.
Add dynamic address creation in /action/repo/update and
/action/repo/add forms through delete and add buttons in the form.
Update /image/restore and /cache/fetch to use repository_id.
Add additional repository form validations.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use common disk space across all the selected clients.
Show dynamic disk partition graph in the partition view.
Limit partition sizes dynamically in the form.
Move js code to handle the addition and removal of
partitions into the html file to debloat ogcp.js and keep
the functions local to the only file they manipulate.
|
|
|
|
|
| |
Remove accents in image name string. Special characters are not
supported for image names.
|
|
|
|
| |
Add view to request the download of images into the client's cache.
|
|
|
|
| |
Allow the deletion of multiple images in image/delete.
|
|
|
|
|
|
| |
Fix backtrace caused by efd0b8ac
Don't access the field scopes in ImageCreateForm as it does not
exist.
|
|
|
|
|
|
| |
Show images in alphabetical order in every views listing images.
The only exception is the dashboard as it shows them from newer
to older.
|
|
|
|
|
|
| |
Add view to show the connected clients with access to the client
details of each one. The view is accessible through the main
dashboard.
|
|
|
|
|
| |
check when the API REST responses are null and report that
ogServer might be offline.
|
|
|
|
|
|
|
| |
Modern Windows systems require higher EFI partition sizes than
most other OS.
Validate partition & format form to ensure the EFI partition has
as size of 500MiB or higher.
|
|
|
|
|
|
|
|
|
|
|
| |
Add center scope restriction using /image/restrict.
Add view in Images to update scope permissions.
Disable images in Commands for image update and restore if the
client belongs to a disabled center.
Consolidate template code to render scope selection checkboxes.
|
|
|
|
|
| |
Give ogServer context about the proper repository to process the
correct image.
|
|
|
|
|
|
| |
Clients cannot have an image restore when no partition configuration
is available.
Shown an error listing all the clients with no partitions.
|
|
|
|
|
| |
Use the same visualization as the other parts of the web in the
table that groups clients by ogLive.
|
|
|
|
|
|
|
| |
Show default oglive as "ogLive (live name)" as the last option
int the Set ogLive form.
The previous implementation defined the default oglive as the
most used when the default one is defined by /oglive/list.
|
|
|
|
|
|
| |
Show cache contents in client details for a more complete view
of the client's state.
Move the cache inspector code to its own template for reusability.
|
|
|
|
|
|
| |
Add 'id' value to the /client/update payload.
Enable modification for the ip input field in the client update
form.
|
|
|
|
|
|
|
| |
Improve potential image troubleshooting within ogCP.
Add checksum to the image info view.
Show "Unknown" when no checksum is available.
|
|
|
|
|
| |
Ease detection of potential problems with images in cache.
Show checksum under each image in the form.
|
|
|
|
|
|
|
| |
Create a copy of the array with scope references before the
iteration and modification of the scopes dictionary.
Prevent skipping values after deleting an element during the
scope iteration.
|
|
|
|
|
|
|
| |
Skip checks of image_fits_in_cache() if the image data contains
not 'size' or 'checksum' information.
Skip checks for the clients with the image already in cache.
|
|
|
|
|
|
|
|
|
|
|
| |
Select the image field value containing the restored image of the
partition selected by the user.
Create a dictionary where the key is the value= of the partition
field and the value is the id of the image restored in the
partition. Add each dictionary entry only only if the corresponding
image exists in the repository.
Pass the dictionary to the HTML template and convert it to JS.
|
|
|
|
|
| |
Move ip validation logic to a separate function to make the code
more expressive and reusable.
|
|
|
|
|
|
| |
Add InputRequired validator to the name field of the
ClientDetailsForm.
Validate name value in the POST function.
|
|
|
|
|
|
|
|
|
|
|
| |
Replace dhcpd format with the simpler csv format to configure
the list of clients to import in /action/clients/import.
Replace regex parsing with a simpler manual parsing.
Improve error report.
Example configuration:
client_name1,94:c6:91:a6:25:1a,10.141.10.100
client_name2,94:c6:91:a6:25:1b,10.141.10.101
|
|
|
|
| |
Return without modification if the MAC is not valid.
|
|
|
|
|
|
| |
Check if the provided MAC address is valid in every form where
the use has to provide one. Show an error message when the format
is incorrect.
|
|
|
|
|
|
|
| |
Define a function to format the MAC string for every view in the
web. Example of formatted MAC address: aa:bb:cc:dd:ee:aa
Show MAC address in client pills in that same format.
|
|
|
|
|
|
|
|
|
|
| |
Use aabbccddeeaa as MAC format in every payload.
List of accepted MAC formats:
aabbccddeeaa
aa:bb:cc:dd:ee:aa
aa-bb-cc-dd-ee-aa
aa.bb.cc.dd.ee.aa
|
|
|
|
| |
Remove print statements in views.py to reduce logging noise.
|
|
|
|
| |
Check if the request response is null and report it to the user.
|
|
|
|
| |
Show a flash message when an user is created or edited successfully.
|
|
|
|
| |
Replace "do not exists" with "does not exist" in error messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new user permission system to control the allowed operations
accessible from each account.
Add a permission matrix editable through the user/add and user/edit
views. The permission matrix has client, center, room, folder, image
and repository as permission targets and add, update and delete as
permission types.
Restrict each view based on the user permissions, hide all actions
from not autheticated users.
permissions defined in the class UserForm.
Serialize each user permissions into ogcp.json as:
{
...
"USERS" [
{
"USER": "admin"
...
"PERMISSIONS": {
"CLIENT": {
"ADD": true,
"UPDATE": true,
"DELETE": true,
},
... <- same structure for "CENTER", "ROOM", "FOLDER", "IMAGE"
and "REPOSITORY"
}
},
...
],
...
}
Grant all the permissions to old user configuration to not disrupt their
workflow. The administrator will need to assign the permissions for each
user.
Ignore scope and permission restrictions for admin users.
Save permissions and scopes even if the user is admin to account for the
case of a temporal admin promotion without losing the previous
configuration.
Use template inheritance for add_user.html and edit_user.html to prevent
big code duplication with the new HTML code to render the permission
matrix.
Make user administration an admin only feature.
Define methods get_permission and target_is_disabled to improve readability
in template conditionals that disable features based on user permissions.
|
|
|
|
|
|
|
|
|
|
| |
Add view at /action/script/output to visualize the result of
/shell/run for multiple clients.
Use shell/output to request the execution data of the selected clients.
Each client element has execution timestamip (UTC), client ip, cmd,
return code and stdout of the executed command.
|
|
|
|
|
|
|
|
| |
Add view at /action/script/run to visualize the available scripts
and run a single script file in the selected clients.
Use shell/list to request the script list and shell/run API call
to request the execution.
|
|
|
|
|
|
|
|
|
|
|
| |
Prevent unexpected behaviour in image operations caused by user
error.
Remove partitions of type 'EMPTY', 'LINUX-SWAP', 'CACHE' and 'EFI'
from the image/create, image/restore and image/update forms.
Remove check for the existence of these partitions in
action_image_restore as they are no longer available in the form.
|
|
|
|
|
|
|
|
|
|
|
| |
If password and confirm password fields mismatch in user/edit,
then the user is deleted.
The deletion of the user happens before the password validation
and the new user configuration is only saved if the validation
passes.
Add code to properly handle the user deletion after the validation.
|