Commit Graph

76 Commits

Author SHA1 Message Date
0ecdaa0dc0 bin/proxmox-tape: add optional snapshots to restore command
and add the appropriate completion helper

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-05-11 12:57:14 +02:00
671c6a96e7 bin: use extract_output_format where necessary
else we sometimes forget to remove it from the 'params' variable
and use that further, running into 'invalid parameter' errors

found by giving 'output-format' paramter to proxmox-tape status

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-05-03 08:58:35 +02:00
90461b76fb TapeRead: add skip_data() 2021-04-13 13:32:45 +02:00
318b310638 tape: improve EOT error handling 2021-04-12 13:27:34 +02:00
0892a512bc tape: correctly set/display drive option 2021-04-08 07:28:30 +02:00
7b11a8098d tape: make sure there is a filemark at the end of the tape 2021-04-08 07:28:30 +02:00
e29f456efc tape: implement format/erase 2021-04-08 07:28:30 +02:00
c553407e98 tape: add --scan option for catalog restore 2021-03-25 13:08:34 +01:00
0320deb0a9 proxmox-tape: fix clean api call
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-25 08:14:13 +01:00
4c4e5c2b1e api2/tape/restore: enable restore mapping of datastores
by changing the 'store' parameter of the restore api call to a
list of mappings (or a single default datastore)

for example giving:
a=b,c=d,e

would restore
datastore 'a' from tape to local datastore 'b'
datastore 'c' from tape to local datastore 'e'
all other datastores to 'e'

this way, only a single datastore can also be restored, by only
giving a single mapping, e.g. 'a=b'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-25 07:46:12 +01:00
e36135031d ui: tape/Restore: let the user choose an owner
so that the tape backup can be restored as any user, given
the current logged in user has the correct permission.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-16 08:55:42 +01:00
5a5ee0326e proxmox-tape: add missing notify-user to 'proxmox-tape restore'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-16 08:54:38 +01:00
0023cfa385 tape: fix 'proxmox-tape backup' cli command 2021-02-26 08:51:24 +01:00
5830e5620d tape: cleanup TapeJob implementation - uses AllOf Schema with SectionConfig 2021-02-25 09:44:31 +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
d0647e5a02 tape: use worker tasks for media load/unload 2021-02-18 09:04:51 +01:00
be327dbccd tape: add tape backup job configuration 2021-02-14 10:35:51 +01:00
85cdc4f371 proxmox-tape: change lookup_drive_name to extract_drive_name
in most uses, we want to remove the drive from the param afterwards
where we don't, we already overwrite it with the result of this function

this fixes some commands (like 'proxmox-tape read-label --drive foo')
that failed with:

parameter 'drive': duplicate parameter.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-11 14:22:50 +01:00
25aa55b5f5 tape: correctly lock the tape device 2021-02-05 10:50:21 +01:00
f47e035721 tape: cleanup - move tape file readers/writers into src/tape/file_formats folder 2021-02-04 07:59:37 +01:00
d0f11b66f7 thape: add read_tapedev_options, display driver options with status command 2021-02-02 06:40:40 +01:00
9883b54cba tape: remove drive from pool config 2021-02-01 09:14:28 +01:00
c297835b01 tape: proxmox-tape - use API instead of direct functions calls 2021-01-29 11:49:11 +01:00
e68269fcaf tape: proxmox-tape inventory: call API 2021-01-29 11:21:57 +01:00
5243df4712 tape: proxmox-tape - use API instead of direct functions calls 2021-01-29 10:50:11 +01:00
4470eba551 cleanup: factor out common client code to view task log/result 2021-01-29 10:10:04 +01:00
41dacd5d3d tape: use worker task for eject-media api 2021-01-28 16:49:08 +01:00
eb1dfb02b5 tape: proxmox-tape - use api for erase-media and rewind 2021-01-28 16:36:10 +01:00
87f4be7998 tape: use api to run proxmox-tape backup 2021-01-28 14:56:42 +01:00
5f34d69bcc tape: add volume-statistics api/command 2021-01-22 08:45:35 +01:00
337ff5a3cc tape: add estimated medium wearout to status 2021-01-22 08:06:25 +01:00
37796ff73f tape: change code hierarchy to improve docs 2021-01-21 17:12:01 +01:00
6334bdc1c5 clippy: collapse nested ifs
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-01-20 16:23:54 +01:00
8a0046f519 tape: implement encrypted backup - simple version
This is just a proof of concept, only storing the encryption key fingerprint
inside the media-set label.
2021-01-18 13:38:22 +01:00
d5a48b5ce4 tape: add hardware encryption key managenent api 2021-01-18 13:38:22 +01:00
0a8d773ad0 tokio 1.0: delay -> sleep
almost the same thing, new name(s), no longer Unpin

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-01-14 16:01:33 +01:00
781da7f6f0 tape: add --inventorize flag to read-label API/CLI 2021-01-14 11:51:23 +01:00
8446fbca85 tape: rename changer_id to label_text 2021-01-13 13:26:59 +01:00
483da89d03 tape: improve export media to directly export from drive, add CLI 2021-01-10 13:44:44 +01:00
edb90f6afa tape: backup - implement export-media-set option 2021-01-10 11:59:55 +01:00
42967bf185 tape: backup - implement --eject-media option 2021-01-09 15:17:03 +01:00
df69a4fc59 tape: implement drive clean 2021-01-08 11:32:56 +01:00
b63f833d36 tape: fix paramater name - s/slot/source-slot/ 2021-01-07 15:39:25 +01:00
482c6e33dd tape: changer status command: make changer name optional 2021-01-07 15:12:19 +01:00
46a1863f88 tape: improve MediaChange trait
We expose the whole MtxStatus, and we can load/store from/to
specified slot numbers.
2021-01-07 14:26:43 +01:00
b40ab10d38 tape: add volume_mounts and medium_passes to LinuxDriveAndMediaStatus 2021-01-05 13:43:17 +01:00
470f1c798a tape: status - show thape alert flags 2021-01-04 13:15:30 +01:00
b9b4b31284 tape: add basic restore api/command 2020-12-31 10:26:48 +01:00
b017bbc441 tape: add restore code, implement catalog api/command 2020-12-30 09:48:18 +01:00
5ae86dfaa1 tape: return media usage info with status command 2020-12-23 11:24:34 +01:00