]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Mon, 9 Aug 2021 07:54:33 +0000 (09:54 +0200)]
bump version to 2.0-9-1
Dominik Csapak [Fri, 6 Aug 2021 12:09:12 +0000 (14:09 +0200)]
tape/pool_writer: fix typo
s/wrinting/writing/
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 6 Aug 2021 09:33:45 +0000 (11:33 +0200)]
tape backup: mention groups that were empty
otherwise a user might get a task log like this:
-----
...
found 7 groups
TASK OK
-----
which could confuse the users as why there were no snapshots backed up
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Wed, 4 Aug 2021 09:01:18 +0000 (11:01 +0200)]
cleanup: simplify next_expired_media()
Dietmar Maurer [Wed, 4 Aug 2021 07:56:33 +0000 (09:56 +0200)]
ui: display next-media-label for tape backup jobs
Dietmar Maurer [Wed, 4 Aug 2021 07:55:23 +0000 (09:55 +0200)]
cli: proxmox-tape backup-job list: use status api and display next-run an d next-media-label
Dietmar Maurer [Wed, 4 Aug 2021 07:53:54 +0000 (09:53 +0200)]
tape: compute next-media-label for each tape backup job
Dietmar Maurer [Wed, 4 Aug 2021 06:10:20 +0000 (08:10 +0200)]
tape: media_pool: implement guess_next_writable_media()
Dominik Csapak [Tue, 3 Aug 2021 06:28:33 +0000 (08:28 +0200)]
tape: lto: increase default timeout to 10 minutes
it seems that for some actions or in some circumstances, two minutes is
simply too short and the command aborts. Increase the default timeout to
10 minutes.
While it should give most commands enough time to finish, in case of a real
failure the procedure now takes up to 5 times longer, but IMHO thats an
OK tradeoff.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Lorenz Stechauner [Mon, 2 Aug 2021 12:36:07 +0000 (14:36 +0200)]
docs/file-formats: fix typo
Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
Dietmar Maurer [Mon, 2 Aug 2021 08:35:16 +0000 (10:35 +0200)]
bump version toö 2.0.8-1
Hannes Laimer [Mon, 2 Aug 2021 07:06:58 +0000 (09:06 +0200)]
bump proxmox-apt to 0.6 in debian/control
Build deps could not be installed
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Dominik Csapak [Fri, 30 Jul 2021 11:39:34 +0000 (13:39 +0200)]
api/ui: allow zstd compression for new zpools
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Thomas Lamprecht [Fri, 30 Jul 2021 08:43:40 +0000 (10:43 +0200)]
cargo: update proxmox-apt to v0.6.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Ebner [Thu, 29 Jul 2021 12:33:36 +0000 (14:33 +0200)]
api: apt: adapt to further proxmox-apt back-end changes
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Fabian Ebner [Thu, 29 Jul 2021 12:33:35 +0000 (14:33 +0200)]
api: apt: adapt to proxmox-apt back-end changes
It's up to the caller to provide the current release for standard
repository detection/addition.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Dominik Csapak [Thu, 22 Jul 2021 13:41:06 +0000 (15:41 +0200)]
api2: tape: media: use MediaCatalog::snapshot_list for content listing
this should make the api call much faster, since it is not reading
the whole catalog anymore
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 27 Jul 2021 11:13:29 +0000 (13:13 +0200)]
tape: media_catalog: add snapshot list cache for catalog
For some parts of the ui, we only need the snapshot list from the catalog,
and reading the whole catalog (can be multiple hundred MiB) is not
really necessary.
Instead, we write the list of snapshots into a seperate .index file. This file
is generated on demand and is much smaller and thus faster to read.
Dietmar Maurer [Wed, 28 Jul 2021 08:25:52 +0000 (10:25 +0200)]
tape: lock media_catalog file to to get a consistent view with load_catalog
Dietmar Maurer [Wed, 28 Jul 2021 08:10:02 +0000 (10:10 +0200)]
cleanup: factor out tape catalog path helpers
Dominik Csapak [Wed, 28 Jul 2021 10:05:11 +0000 (12:05 +0200)]
tape: changer: add tests for decode_element_status_page
a test for a valid status_page, one with excess data
(in the descriptor as well in the page as a whole)
and a test with too little data
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 28 Jul 2021 10:05:10 +0000 (12:05 +0200)]
tape: changer: handle libraries that sends wrong amount of data
if the library sends more data than advertised, simply cut it off,
but if it sends less data, bail out (depending on how much data is
missing, trying to parse it could lead to a panic, so bail out early)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 28 Jul 2021 10:05:09 +0000 (12:05 +0200)]
tape: changer: remove unnecesary inquiry parameter
this is never used, so remove it.
Ok, since they are only non public functions.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Tue, 20 Jul 2021 08:55:11 +0000 (10:55 +0200)]
api2: tape/restore: commit temporary catalog at the end
in 'restore_archive', we reach that 'catalog.commit()' for
* every skipped snapshot (we already call 'commit_if_large' then before)
* every skipped chunk archive (no change in catalog since we do not read
the chunk archive in that case)
* after reading a catalog (no change in catalog)
in all other cases, we call 'commit_if_large' and return early,
meaning that the 'commit' there was executed too often and
unnecessary, so move it after the loop over the files, before
finishing the temporary database.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 26 Jul 2021 10:45:33 +0000 (12:45 +0200)]
docs: tape: add instructions on how to restore the catalog
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Thu, 22 Jul 2021 13:41:00 +0000 (15:41 +0200)]
tape: media_catalog: improve chunk_archive interface
instead of having a public start/end_chunk_archive and register_chunks,
simply expose a 'register_chunk_archive' method since we always have
a list of chunks anywhere we want to add them
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 23 Jul 2021 06:31:51 +0000 (08:31 +0200)]
ui: tape/ChangerStatus: improve layout for large libraries
instead of having the grid be as tall as possible and the containing
panel scroll. limit the grids height to the panel size and scroll the
grid.
this has two advantages:
* if a user has many slots, it is now possible to to navigate the other
grids to the position wanted
* having the grids scroll, means it can use extjs' buffered renderer,
which makes the view much more responsive (in case of hundreds of
slots)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 26 Jul 2021 07:20:41 +0000 (09:20 +0200)]
tape: changer: handle invalid descriptor data from library in status page
We get the descriptor length from the library and use that in
'chunks_exact', which panics on length 0. Catch that case
and bail out, since that makes no sense here anyway.
This could prevent a panic, in case a library sends wrong data.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Fri, 23 Jul 2021 09:15:31 +0000 (11:15 +0200)]
datastore config: cleanup code (use flatten attribute)
Thomas Lamprecht [Fri, 23 Jul 2021 06:39:58 +0000 (08:39 +0200)]
bump version to 2.0.7-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 23 Jul 2021 06:26:10 +0000 (08:26 +0200)]
restore daemon: rust format
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 23 Jul 2021 06:25:34 +0000 (08:25 +0200)]
file restore: improve some comment
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 23 Jul 2021 06:24:25 +0000 (08:24 +0200)]
restore daemon: log about doing basic system env setup
debugging history showed that its surely nice to have more logs at
when stuff happens (and thus fails)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 23 Jul 2021 06:19:35 +0000 (08:19 +0200)]
restore daemon: setup backup system user and group
now required as we always enforce lock files to be owned by the
backup user, and the restore code uses such code indirectly as the
REST server module is reused from proxmox-backup-server. Once that is
refactored out we may do away such things, but until then we need to
have a somewhat complete system env.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 23 Jul 2021 06:10:55 +0000 (08:10 +0200)]
restore daemon: add setup_system_env helper
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dominik Csapak [Thu, 22 Jul 2021 09:57:02 +0000 (11:57 +0200)]
tape: changer: handle missing dvcid information
the dvcid information is not always available, so skip it if is missing
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Thu, 22 Jul 2021 09:26:30 +0000 (11:26 +0200)]
tape: changer: improve error message on wrong counts
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Thu, 22 Jul 2021 09:26:29 +0000 (11:26 +0200)]
tape: changer: correctly consume data in decode_element_status_page
instead of 'blindly' trusting the changer to deliver the fields written
in the specification, trust the length data it returns in the header.
we slice the descriptor data into equal sized chunks of the correct
size, then we do not have care bout the len and empty checks anymore
this also makes the code to read the rest of the page obsolete,
since the next descriptor is on the correct offset anyway
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Thu, 22 Jul 2021 09:34:40 +0000 (11:34 +0200)]
tools: xattr: don't test things beyond our control
whether the kernel allows super-long names or weird
namespace prefixes is not our concern...
also the latter fails under fakeroot
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Thomas Lamprecht [Thu, 22 Jul 2021 08:22:33 +0000 (10:22 +0200)]
bump version to 2.0.6-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 22 Jul 2021 08:21:40 +0000 (10:21 +0200)]
docs: simplify list of ENV var alternative
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Wed, 21 Jul 2021 09:59:55 +0000 (11:59 +0200)]
doc: Document new environment variabless to specify secret values
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Wed, 21 Jul 2021 09:59:54 +0000 (11:59 +0200)]
support new ENV vars to get secret values through a file or a command
We want to allow passing a secret not only directly through the
environment value, but also indirectly through a file path, an open
file descriptor or a command that can write it to standard out.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Ebner [Wed, 14 Jul 2021 12:57:16 +0000 (14:57 +0200)]
ui: server administration: repos: add online help
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 22 Jul 2021 07:58:31 +0000 (09:58 +0200)]
cargo: update proxmox to 0.12.1
For the FS compat improvement in the atomic create file helper
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Grünbichler [Wed, 21 Jul 2021 14:58:25 +0000 (16:58 +0200)]
build: unbreak 'nocheck'
to skip test cases for faster builds or in case your local system does
not support running (all) tests..
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dominik Csapak [Wed, 21 Jul 2021 14:04:50 +0000 (16:04 +0200)]
tape: changer: sg_pt: fix typo
ok, since its a private struct
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 21 Jul 2021 14:04:49 +0000 (16:04 +0200)]
tape: changer: sg_pt: add SCSI_VOLUME_TAG_LEN const
so that we do have less 'magic' constants without description
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 21 Jul 2021 14:04:48 +0000 (16:04 +0200)]
api: types: CHANGER_DRIVENUM_SCHEMA: increase maximum drives per changer
to 255. 8 drives per changer was a rather arbitrary limitation and could
well be reached in practice with big libraries.
Altough 255 is still a arbirtrary limitation, this is much less likely
to be reached in practice.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Wed, 21 Jul 2021 12:20:00 +0000 (14:20 +0200)]
move CachedChunkReader to pbs-datastore
this was actually still missing from the previous commit
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 21 Jul 2021 12:12:22 +0000 (14:12 +0200)]
move remaining client tools to pbs-tools/datastore
pbs-datastore now ended up depending on tokio after all, but
that's fine for now
for the fuse code I added pbs-fuse-loop (has the old
fuse_loop and its 'loopdev' module)
ultimately only binaries should depend on this to avoid the
library link
the only thins remaining to move out the client binary are
the api method return types, those will need to be moved to
pbs-api-types...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 21 Jul 2021 11:28:55 +0000 (13:28 +0200)]
client: fix panic message
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 21 Jul 2021 06:12:51 +0000 (08:12 +0200)]
fix regression test file permission problems
By simply using the current user/group instead of backup:backup
Thomas Lamprecht [Wed, 21 Jul 2021 07:12:46 +0000 (09:12 +0200)]
bump version to 2.0.5-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 21 Jul 2021 07:11:54 +0000 (09:11 +0200)]
buildcfg: fix version
now set here, but we really need to automate this soon, just to easy
to forget.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 17:58:03 +0000 (19:58 +0200)]
buildsys: run test before compile to avoid clobbering the openid build binaries
dh_auto_test also checks for the build flags used, including any
`--cfg`, so it rebuilds and overwrites our carefully assembled daemon
binaries with openid support as it is run after build and before
install.
So manually ensure the order of first test then build (argh, hackes
of hackes >.<)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 18:27:35 +0000 (20:27 +0200)]
buildsys: cargo build target: one binary per line
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 17:06:23 +0000 (19:06 +0200)]
bump version to 2.0.5-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 17:34:42 +0000 (19:34 +0200)]
d/control: record fonts-font-awesome dependency for docs
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dominik Csapak [Tue, 20 Jul 2021 14:01:38 +0000 (16:01 +0200)]
docs: add missing font-awesome link for lto-barcode generator
else it cannot load the icons and does not show them in the action column
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 16:53:52 +0000 (18:53 +0200)]
pbs-tools: fix doctest reference to moved cache modules
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 16:52:14 +0000 (18:52 +0200)]
tests: move pxar test to its crate
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 16:20:50 +0000 (18:20 +0200)]
d/control: update build dependencies
needs to be done manually for now..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 20 Jul 2021 16:13:56 +0000 (18:13 +0200)]
cargo: bump proxmox-http to 0.3.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Tue, 20 Jul 2021 11:51:55 +0000 (13:51 +0200)]
add helpers to write configuration files
Dietmar Maurer [Tue, 20 Jul 2021 11:51:54 +0000 (13:51 +0200)]
use new atomic_open_or_create_file
Factor out open_backup_lockfile() method to acquire locks owned by
user backup with permission 0660.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Tue, 20 Jul 2021 13:26:25 +0000 (15:26 +0200)]
fixup examples
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 20 Jul 2021 09:26:29 +0000 (11:26 +0200)]
move channel/stream helpers to pbs-tools
pbs_tools
::blocking: std/async wrapping with block_in_place
::stream: stream <-> AsyncRead/AsyncWrite wrapping
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 20 Jul 2021 09:06:53 +0000 (11:06 +0200)]
move required_X_param to pbs_tools::json
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 20 Jul 2021 08:57:22 +0000 (10:57 +0200)]
move lru cachers to pbs-tools
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 20 Jul 2021 08:51:19 +0000 (10:51 +0200)]
move ChunkStream to pbs-client
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Thomas Lamprecht [Mon, 19 Jul 2021 14:32:48 +0000 (16:32 +0200)]
issue banner: avoid depending on proxmox crate for hostname
While this slightly duplicates code we just do not profit from the
central, lazy static variant here, as that is only really useful in
daemons to avoid doing frequent syscalls there.
proxmox just pull in far to much (e.g., tokio) and duplicating that
one line of simple code has no real maintenance cost, so just go for
that and use the nix crate directly.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 13:55:19 +0000 (15:55 +0200)]
cleanup unused imports
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 13:54:53 +0000 (15:54 +0200)]
Makefile: fix build.rs reference
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 13:53:43 +0000 (15:53 +0200)]
move pxar binary to separate crate
and move its few remaining proxmox_backup deps out to
pbs-tools
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 13:03:24 +0000 (15:03 +0200)]
resolve some more client imports
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 12:59:51 +0000 (14:59 +0200)]
move some api types to pbs-api-types
and resolve some imports in the client binary
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 12:59:17 +0000 (14:59 +0200)]
move build.rs and friends to pbs-buildcfg
with this the main crate won't be re-compiled every time a
*binary* is modified
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 12:24:13 +0000 (14:24 +0200)]
comment on test output paths
cargo should be getting a new env var for this soon
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 11:00:16 +0000 (13:00 +0200)]
doc and tests fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 08:50:18 +0000 (10:50 +0200)]
move client to pbs-client subcrate
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 08:44:40 +0000 (10:44 +0200)]
move 'wait_for_local_worker' from client to server
this just made no sense in the client
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 08:09:43 +0000 (10:09 +0200)]
d/control: fixup proxmox feature flags
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 15 Jul 2021 10:15:50 +0000 (12:15 +0200)]
move more tools for the client into subcrates
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 12 Jul 2021 09:07:52 +0000 (11:07 +0200)]
move more helpers to pbs-tools
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 12 Jul 2021 08:45:09 +0000 (10:45 +0200)]
add proxmox-backup-banner binary crate
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 19 Jul 2021 08:06:53 +0000 (10:06 +0200)]
bump proxmox-apt dependency
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:28 +0000 (10:53 +0200)]
ui: datastore/Prune: improve title of group prune window
we are not actually pruning the whole datastore, but only the single
group, so set that as a title
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:27 +0000 (10:53 +0200)]
ui: datastore/Content: add 'Prune All' button
since the api call always starts a real worker, we cannot have a
preview. It would also be very hard to show that for all groups in a
non-confusing way. We reuse the pbsPruneInputPanel and add the dry-run
field there conditionally.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:26 +0000 (10:53 +0200)]
api: admin/datastore: add new 'prune-datastore' api call
to prune the whole datastore at once, with the given parameters.
We need a new api call since this can take a while and we need to start
a worker for this. The exisiting api call returns a list of removed/kept
snapshots and is synchronous.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:25 +0000 (10:53 +0200)]
server/prune_job: add proper permission checks to 'prune_datastore'
checks for PRIV_DATASTORE_MODIFY, or else if the auth_id is the backup
owner, and skips the group if not.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:24 +0000 (10:53 +0200)]
server/prune_job: add 'keep_all' logic to 'prune_datastore'
it is the same as when pruning single groups.
for prune_jobs, we never start the worker if there is no prune option set.
but if we want to call 'prune_datastore' from somewhere else, we
have to check it here again
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:23 +0000 (10:53 +0200)]
server/prune_job: factor out 'prune_datastore'
we want to use that outside of a prune job
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:22 +0000 (10:53 +0200)]
backup/datastore: refactor check_backup_owner there
and add a 'owns_backup' convenience function
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:21 +0000 (10:53 +0200)]
api: admin/datastore: simplify prune api call
by using the api macro and reusing the PruneOptions from pbs-datastore
this means we can now drop the 'add_common_prune_prameters' macro
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:20 +0000 (10:53 +0200)]
client: simplify prune api method
by using the api macro on the async method and reusing the PruneOptions
from pbs-datastore with 'flatten: true'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:19 +0000 (10:53 +0200)]
pbs-datastore/prune: make PruneOptions an api type
so that we can reuse it from here
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 16 Jul 2021 08:53:18 +0000 (10:53 +0200)]
api-types: move PRUNE_SCHEMA_KEEP_* to pbs-api-types
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Thu, 15 Jul 2021 11:07:20 +0000 (13:07 +0200)]
tape: changer: sg_pt: make extra scsi request for dvcid
some libraries cannot handle a request with volume tags and DVCID set at
the same time.
So we make 2 separate requests and merge them, since we want to keep
the vendor/model/serial data.
to not overcomplicate the code, add another special type to ElementType
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Thu, 15 Jul 2021 07:54:47 +0000 (09:54 +0200)]
buildsys: Prepare new way for path dependencies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>