2037d9af03
api-viewer: show permissions
2021-02-22 12:01:24 +01:00
7f07991035
docs: improve MEDIA_SET_NAMING_TEMPLATE_SCHEMA description
2021-02-22 09:50:16 +01:00
18ce01caff
tape: use correct schema for changer path (SCSI_CHANGER_PATH_SCHEMA)
2021-02-22 09:43:13 +01:00
5bc8e80a99
cleanup: cleanup use clause (avoid *)
2021-02-22 09:33:29 +01:00
6252df4c18
docs: fix EXPORT_SLOT_LIST_SCHEMA description
2021-02-22 09:05:07 +01:00
451856d21d
api-viewer: fix path for upgraded HTTP/2 proptocls
2021-02-22 08:38:27 +01:00
aa30663ca5
docgen: improve regex format
2021-02-21 16:14:11 +01:00
8616a4afe5
docgen: dump string format (property strings)
2021-02-21 15:54:14 +01:00
bc2358319b
docgen: improve api schema dump
2021-02-21 12:00:06 +01:00
0bf4b81370
docs: api-viewer - add backup and restore APIs
2021-02-21 10:38:33 +01:00
c9dd5a2452
.gitignore: do not ingnor .html files - we have some of them in the repository
2021-02-21 10:04:52 +01:00
cf95f616c5
add missing file docs/api-viewer/index.html
2021-02-21 10:04:23 +01:00
1adbc7c13c
docs: install API viewer
2021-02-21 09:06:58 +01:00
9d28974c27
adopt PVEAPI.js for PBS, rename to PBSAPI.js
2021-02-21 09:06:58 +01:00
3dbc35b5c1
copy api-viewer from pve-docs
2021-02-21 09:06:58 +01:00
fee0fe5422
docgen: implement api schema generation (for api-viewer)
...
Just a start - not complete jet.
2021-02-21 09:06:58 +01:00
86d9f4e733
tape: extend MediaChange trait to return MtxStatus
2021-02-20 10:23:16 +01:00
3f16f1b006
tape: update changer status inside ScsiMediaChange implementation
2021-02-20 09:56:27 +01:00
cbd9899389
tape: update changer status cache after load/unload
2021-02-20 09:06:17 +01:00
cd44fb8d84
tape: create tmp dirs early at server startup
2021-02-19 18:10:02 +01:00
aca4c2b5a9
ui: window/Settings / WebAuthn: add browser setting for userVerificationo
...
some fido2/webauthn keys can have a pin, and the client can request
a mode for the user verification.
'default' (no value set), lets the browser/device decide if the user has to
enter the pin of the device
'discouraged' requests that the user should not need to enter the pin
'preferred' requests that the user should need to enter the pin (if possible)
since we use webauthn only as a 2nd factor, having the user enter
the device pin on login may seem too much hassle for some users, so
give them the option
since this is a client option anyway, do not save it in the backend, but
in the browser local storage
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 16:53:06 +01:00
85eedfb78b
ui: add browser settings window
...
mostly copied from pve (for now; will refactor when i add it to
pmg too (soon)) without the pve specific features like dashboard
storages
contains some eslint fixes comparing to pves window
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 16:52:50 +01:00
f26276bc4e
ui: tape/ChangerStatus: fixup for conditional
...
the statement !a === "somestring" cannot be true since
!a is either true or false and thus not a string
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 16:52:26 +01:00
6d62e69f9a
ui: tape: fix eslint warnings (trailing comma)
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 16:52:12 +01:00
4188fd59a0
tape: cache changer state
2021-02-19 16:48:19 +01:00
5b9f575648
update gitignore
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-02-19 12:42:14 +01:00
0d890ec414
ui: tape/ChangerStatus: show the state of the drive
...
an optimize the columns for smaller layouts (1280 width)
we show either:
* Idle
* spinner + status (if no upid)
* spinner + rendered UPID (clickable, opens task viewer)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:21:40 +01:00
926d05ef0b
api2/tape/{backup, restore}, proxmox-tape: set device state
...
set the drive device state everywhere we lock it, so that we
know what it currently does
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:16:30 +01:00
8be48ddfc7
api2/tape/changer: add drive state to changer status output
...
if we can find the drive in the config and it has a state
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:15:15 +01:00
41e66bfaf6
api2/tape/drive: wrap some api calls in run_drive_blocking_task
...
those calls could also block, so we have to run them in a blocking
tokio task, as to not block the current thread
nice side effect is that we now also update the state for that
drive in those instances
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:14:08 +01:00
47a7241410
api2/tape/drive: use run_drive_blocking_task where possible
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:13:36 +01:00
54c77b3d62
api2/tape/drive: add wrapper for tokio::task::spawn_blocking
...
similar to the worker wrapper, lock, write status, run code, unset status
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:13:21 +01:00
a1c5575308
api2/tape/drive: use 'run_drive_worker' where possible
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:11:04 +01:00
a44c934b5d
api2/tape/drive: add run_drive_worker wrapper
...
a wrapper for locking, starting the worker and writing the state
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:08:27 +01:00
546d2653ee
tape/drive: add get/set status functions
...
simply writes into/reads from a file in /run, we will use this
for writing the upid (or potential other states) per drive
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:05:09 +01:00
33c06b3388
tape/drive: add test_device_path_lock
...
this makes it possible to detect if the drive was locked in a
non-blocking manner
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:03:30 +01:00
1917ea3ce1
cleanup: use serde(flatten) for VerificationJobStatus, improve code reuse
2021-02-19 09:50:25 +01:00
70842b9ef2
cleanup: use serde(flatten) for SyncJobStatus, improve code reuse
2021-02-19 09:36:39 +01:00
e6122a657e
ui: cleanup - reuse existing code
2021-02-19 09:14:31 +01:00
9e860ac01a
ui: tape/BackupJobs.js - render task scheduling status
2021-02-19 09:08:00 +01:00
7690a8e7bd
api: list tape backup jobs with scheduling status
2021-02-19 09:02:13 +01:00
1860208560
add helper to compute job scheduling state
2021-02-19 08:58:50 +01:00
1689296d46
api: add new type JobScheduleStatus
2021-02-19 08:23:41 +01:00
7aa4851b77
ui: start tape backup job GUI
2021-02-18 12:48:54 +01:00
6ef8e2902f
ui: tape/ChangerStatus.js - avoid update status in list_media
...
We do not use the media location, so there is no need to update
the online status in the list_media call. Besides, we already update
the online status when we query the changer/status.
2021-02-18 12:06:49 +01:00
aa16b7b284
ui: tape/ChangerStatus.js - only update status for selected changer
...
To reduce load/wait time.
2021-02-18 11:08:13 +01:00
9bbd83b1f2
tape: media_list API - allow to update online status for a single changer
2021-02-18 10:59:33 +01:00
65535670f9
ui: tape/TapeInventory.js - avoid update changer status
...
We do not update changer status by default - only when pressing "Reload" button.
2021-02-18 10:10:51 +01:00
9d42fe4d3b
ui: tape/TapeInventory: set defaultValue for pool to ''
...
otherwise the grouping feature of the grid gets confused as it encounters
undefined values
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-18 09:35:05 +01:00
918a367258
ui: tape/ChangerStatus: adapt load/unload to WorkerTask
...
those are now workertasks (behind a 'POST' request), so show the
progress with the upid
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-18 09:34:53 +01:00