Commit Graph

5287 Commits

Author SHA1 Message Date
Dominik Csapak d938c9337a ui: tape/BackupOverview: add sublevel for groups
For tapes with many snapshots/group, a simple list of them is too
big. Instead, add a level for just the groups, this makes searching
for a specific backup much easier.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:17:53 +01:00
Dominik Csapak 9896a75caf ui: tape/ChangerStatus: handle vanishing view during reload
since reload is an async function, the view can be destroyed during
any 'await' point. Subsequent accesses to the view will fail, and we
will land in the catch. Check there if the view is destroyed, and
do not raise an error with the user then

also cancel any outstanding timer on 'deactivate' and 'destroy'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:01:31 +01:00
Dominik Csapak 7eefd0c3d7 ui: tape: ChangerStatus: remove changerselector combobox
because we now select it directly in the left-hand tree
so we have to adapt the changer to the one set by the router
and not by the drop down field

and remove it from the TapeManagement tabpanel

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 12:36:09 +01:00
Dominik Csapak 2e268e311c ui: NavigationTree: add entries for changers/drives
and only check TapeManagement once in the init function

we now have 2 updatestores that update individually
(one for datastores, one for drives/changers)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 12:35:43 +01:00
Dominik Csapak 3e182fd828 ui: MainView: adapt router to add changer/drive entries
by generalizing the isDataStorePath logic to a 'parseRouterPath'.

We still have to keep the isDataStore logic for tabpanel handling,
If we add tabs to changer-/drivestatus panels, we have to adapt
that too.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 12:34:37 +01:00
Dominik Csapak 7b60850334 ui: tape: add DriveStatus panel
not used yet

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 12:33:53 +01:00
Dietmar Maurer 1552d9699c tape: add 'Restore Key' button 2021-03-01 11:11:38 +01:00
Dietmar Maurer 7507b19cd2 OnlineHelpInfo.js: update 2021-03-01 11:11:07 +01:00
Dietmar Maurer 16f9ea6708 tape: restore - do not check if pool is configured 2021-03-01 09:43:23 +01:00
Dietmar Maurer d984a9acf0 tape: add Inventory.media_list() helper 2021-03-01 09:30:45 +01:00
Dietmar Maurer 955f4aefcd tape: show media inventory/content, even if there is no pool configuration 2021-03-01 09:21:11 +01:00
Thomas Lamprecht 858bbfbbd1 doc: barcode gen: some eslint/code-style fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-28 19:35:43 +01:00
Thomas Lamprecht c1570b373f doc: barcode gen: allow label heights from 15 mm
Americans seem to sometimes use Avery 6577 which has 5/8" x 3"
labels, equaling 15.875 mm x 76.2 mm, so do not set the lower bound
to 17mm (which even breaks our used Avery 3240 sheets which have an
label height of 16.9 mm

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-28 19:32:43 +01:00
Thomas Lamprecht d336363771 docs: barcode gen: fix acery3420 dimensions
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-28 19:31:35 +01:00
Dietmar Maurer e57aa36d3e docs: add file extensions to file formats 2021-02-28 11:25:22 +01:00
Dietmar Maurer b488f850aa docs: document fixed and dynamic index formats 2021-02-28 11:12:31 +01:00
Dietmar Maurer ec07a280ba docs: document data blob format 2021-02-28 10:32:56 +01:00
Dietmar Maurer 5006632550 docs: improve backup protocol docs 2021-02-28 09:07:13 +01:00
Dietmar Maurer 7eb9f48485 doc: improve backup protocol docs 2021-02-27 12:44:03 +01:00
Dietmar Maurer 31cba7098d ui: rename 'Changer Slot' to 'Drive Number' 2021-02-27 09:51:13 +01:00
Dietmar Maurer f4571b0b50 ui: use grouping feature for drive configuration grid 2021-02-27 09:37:47 +01:00
Dietmar Maurer 3832911d50 docs: remove backup protocol api dumps
We now have the api-viewer for that.
2021-02-26 19:00:08 +01:00
Dominik Csapak 28c86760da docs: use mathjax library from debian package instead of CDN
By default, sphinx embeds the cloudflare CDN version of mathjax. This
is bad for privacy, webistes enforcing cross-site origin protection
and in environments with no WAN access.

Luckily there's a Debian package we can use instead.

The config is the default sphinx config used.

Reported-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-26 18:05:36 +01:00
Thomas Lamprecht c4604ca468 docs: adapt TOC styling to something a bit more light weight
marketing noted that it looked quite heavy weight, to the point where
it was hard to read to the full black squares, bold monospace text
and bottom borders with rather distinctive darkness.

Address those by:
* change color for list points from black to mid-dark grey
* use empty circles for second heading level
* ensure monospaced text has a normal font weight in the TOC headings
* some lighter color for the bottom border

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-26 18:01:39 +01:00
Dietmar Maurer 464c409aa3 ui: tape inventory - allow to set/clear media status 2021-02-26 11:06:11 +01:00
Dietmar Maurer 08ec39be0c tape: add api to set media status 2021-02-26 10:44:07 +01:00
Dietmar Maurer 25350f3370 tape: set media status if we detect damaged medium at start of backup 2021-02-26 09:00:50 +01:00
Dietmar Maurer 0023cfa385 tape: fix 'proxmox-tape backup' cli command 2021-02-26 08:51:24 +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 917230e4f8 verify-api: support nested AllOf schemas 2021-02-25 13:44:17 +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 5830e5620d tape: cleanup TapeJob implementation - uses AllOf Schema with SectionConfig 2021-02-25 09:44:31 +01:00
Wolfgang Bumiller 46d53e3e90 bump proxmox dep to 0.11.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-02-25 09:23:30 +01:00
Wolfgang Bumiller 3554fe6480 update to schema changes in proxmox
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-02-24 14:50:08 +01:00
Dietmar Maurer 0dadf66dc7 tape: implement backup using latest-only flag 2021-02-24 13:51:53 +01:00
Thomas Lamprecht a941bbd0c9 client: raise HTTP_TIMEOUT to 120s
As 20s is really not that high, especially for loaded setups one is
connected to through a spotty network (looking at you ÖBB railnet)
and gets latency spikes of 5 - 10s for some minutes at a time..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-24 11:57:21 +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 52d8db7925 api2/config/tape_backup_job: fix duplicate id parameter
since the PUT api call is using the 'Updater', the 'id' parameter is
already encoded in there, tripping up the api verify tests with
'Duplicate keys found in AllOf schema: id'

"fixing" it by removing the explicit id from the api call and
taking it from the Updater (and failing if it does not exists there;
even though that should never happen)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 17:23:47 +01:00
Dominik Csapak 875d375d7a api2/types: ArchiveEntry: fix inverse 'leaf' value
a 'leaf' node is every file *except* directories, so we have
to reverse the logtic here

this fixes the pxar.didx browser in the web ui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 17:23:47 +01:00
Dominik Csapak cba167b874 pxar/extract: if possible create files sparesly
instead of filling them with zeroes

this fixes an issue where we could not restore a container with large
sparse files in the backup (e.g. a 10GiB sparse file in a container
with a 8GiB disk)

if the last operation of the copy was a seek, we need to truncate
the file to the correct size (seek beyond filesize does not change it)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 14:44:59 +01:00
Wolfgang Bumiller e68c0e68bd bump proxmox dep to 0.10.7
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-02-23 14:44:59 +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
Dominik Csapak 4961404c7c api2/config/tape_backup_job: enable update api call
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 13:17:49 +01:00
Dietmar Maurer 3fbf2311e4 tape: improve backup task logging 2021-02-23 12:58:44 +01:00
Dietmar Maurer 41685061f7 tape: volume-statistics - use format_size to display byte counts 2021-02-23 11:38:41 +01:00