Dietmar Maurer
464c409aa3
ui: tape inventory - allow to set/clear media status
2021-02-26 11:06:11 +01:00
Dietmar Maurer
ed24142767
ui: TapeInventory - show catalog status
...
Clearly mark tapes without valid catalog.
2021-02-26 07:48:13 +01:00
Dietmar Maurer
05228f17f5
ui: use button for tape Catalog (instead of action)
2021-02-25 13:04:50 +01:00
Dietmar Maurer
e8653b96be
ui: add tape drive Eject button
2021-02-25 12:52:04 +01:00
Dietmar Maurer
1cf191c597
ui: fix sumbit url in LabelMedia.js
2021-02-25 12:25:32 +01:00
Dietmar Maurer
3d3e31b7f8
ui: factor out common code
2021-02-25 11:52:42 +01:00
Dietmar Maurer
8730cfcc3e
ui: use butten for 'Label Media' (instead of action icon)
2021-02-25 11:00:24 +01:00
Dietmar Maurer
21e3ed3449
tape: add 'latest-only' property to backup job config
2021-02-24 11:19:12 +01:00
Dietmar Maurer
81678129fb
ui: improve tape job edit (add eject-media and export-media-set)
...
And do not auto-generate job id.
2021-02-24 08:42:58 +01:00
Dominik Csapak
ff2bc2d21f
ui: tape/BackupJobs: add CRUD functions
...
similar to the other jobs grids (add/edit/remove etc.)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 13:18:10 +01:00
Dietmar Maurer
41685061f7
tape: volume-statistics - use format_size to display byte counts
2021-02-23 11:38:41 +01:00
Dietmar Maurer
35a7ab5778
ui: use grid to display tape drivbe status
2021-02-23 11:29:43 +01:00
Dietmar Maurer
e1beaae4a2
ui: fix tape volume statistics
2021-02-23 11:20:27 +01:00
Dietmar Maurer
965bd58693
ui: use grid to display tape label information
2021-02-23 11:13:48 +01:00
Dominik Csapak
60473d234a
ui: tape/ChangerStatus: do not show progress on drive clean
...
since we have the state in the grid
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 09:16:10 +01:00
Dominik Csapak
4f688e09a4
ui: tape/ChangerStatus: do not show progressbar for (un)load
...
since we already show the state of the drive in the grid, this is
not necessary
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 09:10:21 +01:00
Dominik Csapak
24e84128e4
ui: tape/ChangerStatus: add missing model fields
...
the DiffStore only updates the fiels given in the model, so we have to
list all the fields we depend on, else we have incomplete data,
e.g. for rendering
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 09:09:41 +01:00
Dominik Csapak
e63457b6b2
ui: tape/ChangerStatus: disable drive buttons when it's blocked
...
if the drive state is not empty, some action blocks it, so we cannot
do any task anyway. Since we now refresh the state every 5 seconds,
we can disable/enable them 'live'.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:37:16 +01:00
Dominik Csapak
a83cedc2ac
ui: tape/ChangerStatus: convert grid stores to DiffStores
...
to not deselect items when the store is updated
this makes the ui a bit better to use
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:36:51 +01:00
Dominik Csapak
076afa6197
ui: tape/ChangerStatus: reload changer status (cached) every 5000ms
...
so that we can have an updated drive status without having to
press 'reload'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:35:42 +01:00
Dominik Csapak
423e3cbd18
ui: tape/ChangerStatus: only show loading on 'force refresh'
...
so that we can update in the background without interfering with the
users workflow
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:34:54 +01:00
Dietmar Maurer
cbd9899389
tape: update changer status cache after load/unload
2021-02-20 09:06:17 +01:00
Dominik Csapak
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
Dominik Csapak
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
Dominik Csapak
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
Dietmar Maurer
9e860ac01a
ui: tape/BackupJobs.js - render task scheduling status
2021-02-19 09:08:00 +01:00
Dietmar Maurer
7aa4851b77
ui: start tape backup job GUI
2021-02-18 12:48:54 +01:00
Dietmar Maurer
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
Dietmar Maurer
aa16b7b284
ui: tape/ChangerStatus.js - only update status for selected changer
...
To reduce load/wait time.
2021-02-18 11:08:13 +01:00
Dietmar Maurer
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
Dominik Csapak
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
Dominik Csapak
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
Dominik Csapak
970a70b41e
ui: tape/ChangerStatus: rename 'slot' column to 'id'
...
slot is already in the title of the grid, and hide it by default for
drives (the user does not need it there)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-18 09:34:40 +01:00
Dominik Csapak
4094fe5a31
ui: tape/ChangerStatus: add Inventory column to drives/import-export
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-18 09:34:04 +01:00
Dietmar Maurer
bbe06f97be
ui: tape/TapeInventory.js - use grid grouping feature - group by pool
2021-02-18 07:30:37 +01:00
Dominik Csapak
dfde34e612
ui: tape/BackupOverview: insert the tapes between media-set and snapshot
...
but auto-expand them, so no additional click is necessary
this shows the user which tapes are involved for the media sets
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-17 06:55:53 +01:00
Dominik Csapak
85205bc253
ui: tape: improve tape-erase and add it to library view
...
refactor erase window, limit drives to changer if given
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-17 06:55:53 +01:00
Dominik Csapak
002865405c
ui: tape/BackupOverview: show mediaset loading error in msg box instead
...
if a catalog is missing (or the loading otherwise throws an error), show
the error message in a msg box instead of a mask. this way a user can
still navigate the tree
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-17 06:55:53 +01:00
Dominik Csapak
8a73ef897a
ui: tape/TapeInventory: add erase button
...
to erase the selected tape
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-17 06:55:53 +01:00
Dominik Csapak
2048073355
ui: tape/TapeManagement: change Text of Backup/Tape Inventory
...
to 'Content' and 'Inventory' respectively
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-16 08:34:18 +01:00
Dominik Csapak
a585e1f696
ui: tape/TapeInventory: add 'Add Tape' button
...
by adapting and reusing the 'LabelMedia' window
shows a short notice about inserting the correct tape in the drive
and now allows to select a drive
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-16 08:33:59 +01:00
Dominik Csapak
415737b2b8
ui: tape/TapeInventory: change to regular store
...
listing the media can potentially hang (changer status), so do not
reload in the background, only on activate
also increase the timeout to 5 minutes and add a reload button
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-16 08:33:23 +01:00
Dominik Csapak
54f7007cc5
ui: tape/ChangerStatus: use whole drives grid for masking on unload
...
instead of just the tableview
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-15 12:22:22 +01:00
Dominik Csapak
b0338178d7
ui: tape/ChangerStatus: increase timeout for api calls
...
since tape commands can take a while and we do not want to change
all of those to worker tasks, increase the timeout to 5 minutes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-15 12:22:06 +01:00
Dietmar Maurer
159100b944
tape: ui - avoid changer status query in backup content panel
2021-02-15 12:17:36 +01:00
Dominik Csapak
32b88d928a
ui: tape/BackupOverview: skip tapes without media-set
...
there is no data on them (yet), even if they belong to a pool
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-12 08:53:16 +01:00
Dominik Csapak
f8e1932337
ui: tape/TapeInventory: add 'Set Tape Location' button
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-11 14:24:10 +01:00
Dominik Csapak
bc02c2789c
ui: tape/ChangerStatus: show more inventory info for tapes in slots
...
do not only show if labeled, but the whole status (full/writeable/etc.)
and to which pool the tape belongs (if any)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-10 06:21:49 +01:00
Dominik Csapak
c0b3d09236
ui: tape/TapeInventory: show expired status
...
this is saved in a separate property, but show in status like
'proxmox-tape media list'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-10 06:21:39 +01:00
Dominik Csapak
3ddbab6193
ui: tape/BackupOverview: do not iterate over empty tapes
...
tapes not belonging to a pool cannot contain data, so skip them
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-10 06:21:20 +01:00