]>
git.proxmox.com Git - proxmox-backup.git/log
Dominic Jäger [Tue, 5 Jan 2021 11:34:31 +0000 (12:34 +0100)]
ui: running tasks: Use gettext for column labels
Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
Dietmar Maurer [Tue, 5 Jan 2021 12:43:17 +0000 (13:43 +0100)]
tape: add volume_mounts and medium_passes to LinuxDriveAndMediaStatus
Dietmar Maurer [Tue, 5 Jan 2021 11:58:18 +0000 (12:58 +0100)]
tape: implement read_volume_statistics
Dietmar Maurer [Mon, 4 Jan 2021 12:15:30 +0000 (13:15 +0100)]
tape: status - show thape alert flags
Dietmar Maurer [Mon, 4 Jan 2021 12:14:02 +0000 (13:14 +0100)]
tape: use LP 12h TapeAlert Response to query tape alert flags
Dietmar Maurer [Mon, 4 Jan 2021 11:06:05 +0000 (12:06 +0100)]
tape: changer status - show full slots (for cartridge without barcode)
Dietmar Maurer [Sun, 3 Jan 2021 11:07:54 +0000 (12:07 +0100)]
tape: further PoolWriter cleanups
Dietmar Maurer [Sun, 3 Jan 2021 10:38:00 +0000 (11:38 +0100)]
tape: cleanup - rename 'info' to 'media_id'
Second try.
Dietmar Maurer [Sun, 3 Jan 2021 10:14:58 +0000 (11:14 +0100)]
Revert "tape: cleanup - rename 'info' to 'media_id'"
This reverts commit
f046313c0ea483ab3724b25c059c5af2ecc194a5 .
media_id is already use as parameter, so this commit is totally buggy.
Dietmar Maurer [Sun, 3 Jan 2021 09:37:42 +0000 (10:37 +0100)]
tape: cleanup - rename 'info' to 'media_id'
Dietmar Maurer [Sun, 3 Jan 2021 09:09:43 +0000 (10:09 +0100)]
tape: sg-tape-cmd tape-alert-flags
Dietmar Maurer [Sat, 2 Jan 2021 12:38:57 +0000 (13:38 +0100)]
tape: commit missing file
Dietmar Maurer [Sat, 2 Jan 2021 09:55:30 +0000 (10:55 +0100)]
tape: decode TapeAlertFlags in cartridge-memory command
Dietmar Maurer [Fri, 1 Jan 2021 15:15:13 +0000 (16:15 +0100)]
tape: merge MediaStateDatabase into Inventory
Dietmar Maurer [Fri, 1 Jan 2021 09:03:59 +0000 (10:03 +0100)]
tape: implement MediaPool flag to consider offline media
For standalone tape drives.
Dietmar Maurer [Thu, 31 Dec 2020 09:37:09 +0000 (10:37 +0100)]
gui: update tape job descriptions
Dietmar Maurer [Thu, 31 Dec 2020 09:26:48 +0000 (10:26 +0100)]
tape: add basic restore api/command
Dietmar Maurer [Thu, 31 Dec 2020 09:03:17 +0000 (10:03 +0100)]
tape: new inventory helper - lookup_media_set_pool
Dietmar Maurer [Thu, 31 Dec 2020 07:38:22 +0000 (08:38 +0100)]
update TODO
Fabian Grünbichler [Wed, 30 Dec 2020 11:21:14 +0000 (12:21 +0100)]
api: allow tokens to list users
their owner, or all if they have the appropriate privileges.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 30 Dec 2020 11:21:13 +0000 (12:21 +0100)]
api: improve error messages for restricted endpoints
the old variant attempted to parse a tokenid as userid and returned the
cryptic parsing error to the client, which is rather confusing.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Wed, 30 Dec 2020 18:17:18 +0000 (19:17 +0100)]
tape: media_change - log all errors
Dietmar Maurer [Wed, 30 Dec 2020 18:01:39 +0000 (19:01 +0100)]
tape: only log to stdout in CLI environment
Dietmar Maurer [Wed, 30 Dec 2020 16:28:33 +0000 (17:28 +0100)]
tape: improve inline docu
Dietmar Maurer [Wed, 30 Dec 2020 16:16:57 +0000 (17:16 +0100)]
tape: cleanup/simplify media_change code
Dietmar Maurer [Wed, 30 Dec 2020 11:58:06 +0000 (12:58 +0100)]
tape: improve media request/load
Fabian Grünbichler [Wed, 30 Dec 2020 11:21:33 +0000 (12:21 +0100)]
verify-api: fix allOf duplicates check
it triggered with a wrongly-formatted message on schemas that did NOT
contain any duplicates..
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Wed, 30 Dec 2020 09:15:02 +0000 (10:15 +0100)]
tape: set minimal media label length to 2
Dietmar Maurer [Wed, 30 Dec 2020 08:48:18 +0000 (09:48 +0100)]
tape: add restore code, implement catalog api/command
Dietmar Maurer [Wed, 30 Dec 2020 07:41:30 +0000 (08:41 +0100)]
tape: cleanup - remove debug messages
Dietmar Maurer [Tue, 29 Dec 2020 11:09:51 +0000 (12:09 +0100)]
tape: correctly sort media api entries
Dietmar Maurer [Tue, 29 Dec 2020 10:59:57 +0000 (11:59 +0100)]
cleanup: remove debug output
Dietmar Maurer [Tue, 29 Dec 2020 10:58:26 +0000 (11:58 +0100)]
tape: implement media content list api
Dietmar Maurer [Tue, 29 Dec 2020 09:55:20 +0000 (10:55 +0100)]
tape: create the MediaCatalog when we label a tape
Dietmar Maurer [Tue, 29 Dec 2020 09:53:16 +0000 (10:53 +0100)]
cleanup: disable debug message when we detect a stopped worker task
Dietmar Maurer [Tue, 29 Dec 2020 08:10:30 +0000 (09:10 +0100)]
tape: cleanup LinuxDriveStatus - make density optional
Dietmar Maurer [Tue, 29 Dec 2020 07:39:06 +0000 (08:39 +0100)]
tape: factor out get_drive_and_media_status
Dietmar Maurer [Mon, 28 Dec 2020 12:32:56 +0000 (13:32 +0100)]
tape: correctly parse mtx import/export slots
Dietmar Maurer [Mon, 28 Dec 2020 12:22:17 +0000 (13:22 +0100)]
debian: correctly install sg-tape-cmd setuid binary
Dietmar Maurer [Mon, 28 Dec 2020 10:41:10 +0000 (11:41 +0100)]
fix typo in Makefile
Dietmar Maurer [Mon, 28 Dec 2020 10:10:25 +0000 (11:10 +0100)]
tape: install new sg-tape-cmd setuid binary
Dietmar Maurer [Sat, 26 Dec 2020 10:05:25 +0000 (11:05 +0100)]
tape: MediaCatalog: write magic number before content
Dietmar Maurer [Sat, 26 Dec 2020 09:48:32 +0000 (10:48 +0100)]
tape: add LTO1 to TapeDensity
Dietmar Maurer [Fri, 25 Dec 2020 14:38:29 +0000 (15:38 +0100)]
tape: fix non-rewinding tape device check
Dietmar Maurer [Fri, 25 Dec 2020 12:45:26 +0000 (13:45 +0100)]
tape: minor cleanups
Dietmar Maurer [Thu, 24 Dec 2020 14:51:49 +0000 (15:51 +0100)]
tape: expose check_tape_is_linux_tape_device
Dietmar Maurer [Thu, 24 Dec 2020 10:24:45 +0000 (11:24 +0100)]
tape: cleanup - factor out open_linux_tape_device
Dietmar Maurer [Wed, 23 Dec 2020 10:54:44 +0000 (11:54 +0100)]
fix build depends
Dietmar Maurer [Wed, 23 Dec 2020 10:24:34 +0000 (11:24 +0100)]
tape: return media usage info with status command
Dietmar Maurer [Wed, 23 Dec 2020 08:44:53 +0000 (09:44 +0100)]
tape: implement binding for libsgutils2
So that we can read cartridge memory without calling "sg_raw". In future,
we may need further low level command to control the tape..
Stefan Reiter [Mon, 21 Dec 2020 13:56:11 +0000 (14:56 +0100)]
http_client: add timeouts for critical connects
Use timeout futures for sections that might hang in certain error
conditions. This is mostly intended to be used as a safeguard, not a
first line of defense - i.e. best-effort avoidance of total hangs.
Not every future used for the HttpClient/H2Client is changed, only those
where a quick response is to be expected. For example, the response
reading futures are left alone, so data transfer is never capped with
timeout, only the initial server connect.
It is also used for upgrading to H2 connections, as that can take a long
time on overloaded servers.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Dietmar Maurer [Tue, 22 Dec 2020 12:30:41 +0000 (13:30 +0100)]
depend on proxmox 0.9.1
Dietmar Maurer [Tue, 22 Dec 2020 09:42:22 +0000 (10:42 +0100)]
tape: add drive status api
Dietmar Maurer [Tue, 22 Dec 2020 08:27:34 +0000 (09:27 +0100)]
tape: rename 'mam' api to 'cartridge-memory'
Dietmar Maurer [Tue, 22 Dec 2020 07:52:24 +0000 (08:52 +0100)]
depend on proxmox 0.9.0
Wolfgang Bumiller [Fri, 18 Dec 2020 11:26:08 +0000 (12:26 +0100)]
tests: verify-api: check AllOf schemas
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 18 Dec 2020 11:26:07 +0000 (12:26 +0100)]
adaptions for proxmox 0.9 and proxmox-api-macro 0.3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 21 Dec 2020 11:13:35 +0000 (12:13 +0100)]
tape: update user docu
Dietmar Maurer [Mon, 21 Dec 2020 11:11:52 +0000 (12:11 +0100)]
tape: add command to read cartridge memory (MAM)
Thsi add an additional dependency to sg3-utils (small).
Dietmar Maurer [Sun, 20 Dec 2020 09:41:40 +0000 (10:41 +0100)]
tape: update user docu - howto label tapes
Dietmar Maurer [Sun, 20 Dec 2020 08:16:09 +0000 (09:16 +0100)]
tape: update user docu
Dietmar Maurer [Sat, 19 Dec 2020 16:39:48 +0000 (17:39 +0100)]
add LTO barcode generator App
Dietmar Maurer [Sat, 19 Dec 2020 15:56:54 +0000 (16:56 +0100)]
tape: update user docu
Dietmar Maurer [Sat, 19 Dec 2020 14:13:38 +0000 (15:13 +0100)]
tape: update user docu
Dietmar Maurer [Sat, 19 Dec 2020 10:14:56 +0000 (11:14 +0100)]
tape: start user documentation
Dietmar Maurer [Fri, 18 Dec 2020 15:57:49 +0000 (16:57 +0100)]
cleanup: rename mtfsf into forward_space_count_files
Dietmar Maurer [Fri, 18 Dec 2020 14:32:12 +0000 (15:32 +0100)]
tape: add tape backup api
Dietmar Maurer [Fri, 18 Dec 2020 14:27:44 +0000 (15:27 +0100)]
tape: add PoolWriter
Dietmar Maurer [Fri, 18 Dec 2020 11:10:31 +0000 (12:10 +0100)]
tape: use SnapshotReader to create snapshot archive
Dietmar Maurer [Fri, 18 Dec 2020 11:07:22 +0000 (12:07 +0100)]
tape: fix write_media_set_label - move to correct position
Dominik Csapak [Thu, 17 Dec 2020 14:50:18 +0000 (15:50 +0100)]
tools/daemon: improve reload behaviour
it seems that sometimes, the child process signal gets handled
before the parent process signal. Systemd then ignores the
childs signal (finished reloading) and only after going into
reloading state because of the parent. this will never finish.
Instead, wait for the state to change to 'reloading' after sending
that signal in the parent, an only fork afterwards. This way
we ensure that systemd knows about the reloading before actually trying
to do it.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Fabian Ebner <f.ebner@proxmox.com>
Dietmar Maurer [Fri, 18 Dec 2020 07:14:24 +0000 (08:14 +0100)]
tape: MediaPool::with_config() - remove name parameter
Not required, because config already contains the pool name.
Dietmar Maurer [Fri, 18 Dec 2020 06:44:50 +0000 (07:44 +0100)]
tape: return current_file_number as u64
Dominik Csapak [Thu, 17 Dec 2020 14:33:31 +0000 (15:33 +0100)]
tools/process_locker: Decrement writer count in drop handler
of ProcessLockSharedGuard.
We use a counter to determine if we can unlock the file again, but
we never actually decremented the writer count, so we held the
lock forever.
This fixes the issue that we could not start a garbage collect after
a reload, as long as the old process is still running, even when that
process has no active backup anymore but another long running task
(e.g. file download, terminal, etc.).
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Fabian Grünbichler [Thu, 17 Dec 2020 14:27:45 +0000 (15:27 +0100)]
acl: rustfmt module
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 17 Dec 2020 14:27:44 +0000 (15:27 +0100)]
acl: reformat privileges
for better readability, and tell rustfmt to leave those definitions
alone.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 17 Dec 2020 14:27:43 +0000 (15:27 +0100)]
acl: add docs and adapt visibility
document all public things, add some doc links and make some
previously-public things only available for test cases or within the
crate:
previously public, now private:
- AclTreeNode::extract_user_roles (we have extract_roles())
- AclTreeNode::extract_group_roles (same)
- AclTreeNode::delete_group_role (exists on AclTree)
- AclTreeNode::delete_user_role (same)
- AclTreeNode::insert_group_role (same)
- AclTreeNode::insert_user_role (same)
- AclTree::write_config (we have save_config())
- AclTree::load (we have config()/cached_config())
previously public, now crate-internal:
- AclTree::from_raw (only used by tests)
- split_acl_path (used by some test binaries)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Thu, 17 Dec 2020 12:05:00 +0000 (13:05 +0100)]
tape: add helper to read snapshot contents
- lock the snapshot for reading
- use openat to open files
- provides an iterator over all chunks
Fabian Grünbichler [Thu, 17 Dec 2020 09:53:21 +0000 (10:53 +0100)]
KeyConfig: bail on wrong fingerprint
instead of just logging the error. this should never happen in practice
unless someone is messing with the keyfile, in which case, it's better
to abort.
update tests accordingly (wrong fingerprint should fail, no fingerprint
should get the expected one).
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Thu, 17 Dec 2020 07:28:47 +0000 (08:28 +0100)]
tape: add code to write backup snapshot files (without chunks) to tape
Dietmar Maurer [Thu, 17 Dec 2020 07:04:56 +0000 (08:04 +0100)]
tape: cleanup MediaCatalog
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:11 +0000 (14:41 +0100)]
KeyConfig: always calculate fingerprint
and warn if stored and calculated fingerprint don't match.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:10 +0000 (14:41 +0100)]
KeyConfig: add encrypt/decrypt test
the RSA key and the encryption key itself are hard-coded to avoid
stalling the test runs because of lack of entropy, they have no special
significance otherwise.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:09 +0000 (14:41 +0100)]
docs: replace openssl command with client
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:08 +0000 (14:41 +0100)]
client: add 'import-with-master-key' command
to import an encrypted encryption key using a master key.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:07 +0000 (14:41 +0100)]
key: move RSA-encryption to KeyConfig
since that is what gets encrypted, and not a CryptConfig.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:06 +0000 (14:41 +0100)]
fix #3197: skip fingerprint check when restoring key
when restoring an encrypted key, the original one is obviously not
available to check the fingerprint with.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 16 Dec 2020 13:41:05 +0000 (14:41 +0100)]
master key: store blob name in constant
since we will use it in more than one place.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Wed, 16 Dec 2020 12:27:53 +0000 (13:27 +0100)]
tape: remove MediaLabelInfo, use MediaId instead
The additional content_uuid was quite useless...
Thomas Lamprecht [Wed, 16 Dec 2020 12:13:31 +0000 (13:13 +0100)]
update pxar dependency to 0.6.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Wed, 16 Dec 2020 11:43:51 +0000 (12:43 +0100)]
tape: improve docu
Dietmar Maurer [Wed, 16 Dec 2020 11:23:52 +0000 (12:23 +0100)]
tape: improve docu
Dietmar Maurer [Wed, 16 Dec 2020 11:08:34 +0000 (12:08 +0100)]
tape: add chunk archive reader/writer
Dietmar Maurer [Wed, 16 Dec 2020 09:45:58 +0000 (10:45 +0100)]
tape: cleanup MediaLocation type for direct use with API
Thomas Lamprecht [Wed, 16 Dec 2020 09:08:08 +0000 (10:08 +0100)]
docs: prune-sim: folluwp: add missing semicolon
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Wed, 16 Dec 2020 07:59:27 +0000 (08:59 +0100)]
tape: add magic number to identify media catalog files
Fabian Ebner [Mon, 14 Dec 2020 15:04:53 +0000 (15:04 +0000)]
prune sim: correctly keep track of already included backups
This needs to happen in a separate loop, because some time intervals are not
subsets of others, i.e. weeks and months. Previously, with a daily backup
schedule, having:
* a backup on Sun, 06 Dec 2020 kept by keep-daily
* a backup on Sun, 29 Nov 2020 kept by keep-weekly
would lead to the backup on Mon, 30 Nov 2020 to be selected for keep-monthly,
because the iteration did not yet reach the backup on Sun, 29 Nov 2020 that
would mark November as being covered.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Thomas Lamprecht [Tue, 15 Dec 2020 12:45:36 +0000 (13:45 +0100)]
followup: use arrow function for sorting
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Ebner [Tue, 15 Dec 2020 12:01:33 +0000 (13:01 +0100)]
prune sim: fix #3192: by fixing usage of sort()
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Dietmar Maurer [Tue, 15 Dec 2020 12:13:44 +0000 (13:13 +0100)]
tape: add MediaCatalog implementation