]>
git.proxmox.com Git - proxmox-backup.git/log
Wolfgang Bumiller [Wed, 10 Jun 2020 09:03:42 +0000 (11:03 +0200)]
turn pxar::flags into bitflags, pxar::Flags
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 10 Jun 2020 09:02:37 +0000 (11:02 +0200)]
add api to format disks and create datastores
Wolfgang Bumiller [Wed, 10 Jun 2020 08:42:24 +0000 (10:42 +0200)]
catalog: remove unused SenderWriter
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 10 Jun 2020 06:54:41 +0000 (08:54 +0200)]
src/tools/systemd.rs: implement daemon_reload, start_unit, stop_unit and enable_unit
Wolfgang Bumiller [Wed, 10 Jun 2020 06:53:09 +0000 (08:53 +0200)]
pxar: don't skip list+found by default
This used to be default-off and was accidentally set to
on-by-default with the pxar crate update.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 10 Jun 2020 06:49:14 +0000 (08:49 +0200)]
pxar: sort .pxareclude-cli file and fix its mode
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 10 Jun 2020 05:16:47 +0000 (07:16 +0200)]
src/tools.rs: add new run_command helper
Dietmar Maurer [Tue, 9 Jun 2020 16:46:27 +0000 (18:46 +0200)]
src/tools/systemd/types.rs: add Mount config
Wolfgang Bumiller [Tue, 9 Jun 2020 11:57:24 +0000 (13:57 +0200)]
statistics: covariance(): avoid allocation
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 9 Jun 2020 11:17:55 +0000 (13:17 +0200)]
pxar: create .pxarexclude-cli file
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dominik Csapak [Tue, 9 Jun 2020 08:01:14 +0000 (10:01 +0200)]
ui: add datastore usages to dashboard
shows an overview over the datastores, including a small chart of the
past month and an estimation of when its full
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Tue, 9 Jun 2020 08:01:13 +0000 (10:01 +0200)]
api2: add status/datastore-usages api call
returns a list of the datastores and their usages, a list of usages of
the past month (for the gui) and an estimation of when its full
(using the linear regression)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Tue, 9 Jun 2020 08:01:12 +0000 (10:01 +0200)]
add statistics module
provides some basic statistics functions (sum, mean, etc.)
and a function to return the parameters of the linear regression of
two variables
implemented using num_traits to be more flexible for the types
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Tue, 9 Jun 2020 08:01:11 +0000 (10:01 +0200)]
rrd: add 'extract_lists'
this is an interface to simply get the Vec<Option<f64>> out of rrd
without going through serde values
we return a list of timestamps and a HashMap with the lists we could find
(otherwise it is not in the map)
if no lists could be extracted, the time list is also empty
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Tue, 9 Jun 2020 08:01:10 +0000 (10:01 +0200)]
ui: show root disk usage
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Tue, 9 Jun 2020 08:01:09 +0000 (10:01 +0200)]
let disk_usage return StorageStatus and use it for datastores/nodes
disk_usage returned the same values as defined in StorageStatus,
so simply use that
with that we can replace the logic of the datastore status with that
function and also use it for root disk usage of the nodes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Tue, 9 Jun 2020 09:52:06 +0000 (11:52 +0200)]
src/tools/systemd.rs: implement escape_unit and unescape_unit
Wolfgang Bumiller [Tue, 9 Jun 2020 09:16:28 +0000 (11:16 +0200)]
Cargo.toml: readd commented-out proxmox crate via path for convenience
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 9 Jun 2020 08:49:43 +0000 (10:49 +0200)]
move src/pxar.rs -> src/pxar/mod.rs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 8 Jun 2020 15:37:00 +0000 (17:37 +0200)]
src/tools/disks.rs: add create_single_linux_partition and create_file_system
Dietmar Maurer [Mon, 8 Jun 2020 15:27:13 +0000 (17:27 +0200)]
cleanup comment
Dietmar Maurer [Mon, 8 Jun 2020 15:26:23 +0000 (17:26 +0200)]
src/tools/disks.rs: add get_fs_uuid helper
Dietmar Maurer [Mon, 8 Jun 2020 10:17:15 +0000 (12:17 +0200)]
src/tools/disks.rs: add helper to list partitions
Dietmar Maurer [Mon, 8 Jun 2020 09:19:55 +0000 (11:19 +0200)]
src/tools/disks.rs: make helpers pub
So that I can use them with my test code.
Wolfgang Bumiller [Mon, 8 Jun 2020 13:02:52 +0000 (15:02 +0200)]
pxar: split assert_relative_path
the check for a single component is only required in the dir
stack atm
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 23 Mar 2020 14:03:18 +0000 (15:03 +0100)]
switch to external pxar and fuse crates
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 23 Apr 2020 10:26:14 +0000 (12:26 +0200)]
Cargo.toml: pathpatterns, pxar, proxmox-fuse
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 24 Apr 2020 09:28:03 +0000 (11:28 +0200)]
xattr: make xattr_name_fcaps public
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 22 May 2020 08:55:31 +0000 (10:55 +0200)]
tools: add file_get_non_comment_lines
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 8 Jun 2020 07:43:07 +0000 (09:43 +0200)]
src/tools/disks.rs: cleanup, remove unused DiskUse bitflag type
Dietmar Maurer [Mon, 8 Jun 2020 07:01:34 +0000 (09:01 +0200)]
src/tools/disks.rs: use dev_t to index zfs/lvm device sets
Dietmar Maurer [Mon, 8 Jun 2020 05:35:44 +0000 (07:35 +0200)]
proxmox_backup_manager disk list: display gpt column
Dietmar Maurer [Mon, 8 Jun 2020 05:23:04 +0000 (07:23 +0200)]
src/tools/disks/zfs.rs: allow empty zpool list output
Dietmar Maurer [Mon, 8 Jun 2020 05:22:06 +0000 (07:22 +0200)]
src/tools/disks.rs: new helper to reread partition table
Dietmar Maurer [Mon, 8 Jun 2020 05:20:59 +0000 (07:20 +0200)]
src/api2/node/disks.rs: correctly use disk_by_name insteadf of disk_by_node
Dietmar Maurer [Sun, 7 Jun 2020 08:30:34 +0000 (10:30 +0200)]
src/api2/node/disks.rs: implement initgpt API
Dietmar Maurer [Sun, 7 Jun 2020 05:15:15 +0000 (07:15 +0200)]
src/api2/types.rs: define BLOCKDEVICE_NAME_SCHEMA
Dietmar Maurer [Sat, 6 Jun 2020 13:48:15 +0000 (15:48 +0200)]
src/config/acl.rs: add /system/disks to valid acl paths
Dietmar Maurer [Sat, 6 Jun 2020 13:40:28 +0000 (15:40 +0200)]
src/bin/proxmox-backup-manager.rs: add disk subcommand
Dietmar Maurer [Sat, 6 Jun 2020 13:39:25 +0000 (15:39 +0200)]
src/tools/disks.rs: fix disk size, add completion helper
Dietmar Maurer [Sat, 6 Jun 2020 12:43:36 +0000 (14:43 +0200)]
move disks api to /node/<node>/disks
Dietmar Maurer [Sat, 6 Jun 2020 10:23:11 +0000 (12:23 +0200)]
src/api2/disks.rs: implement smart api
Dietmar Maurer [Sat, 6 Jun 2020 10:22:38 +0000 (12:22 +0200)]
src/tools/disks.rs: new helper disk_by_name()
Dietmar Maurer [Sat, 6 Jun 2020 09:48:58 +0000 (11:48 +0200)]
src/api2/disks.rs - list-disks: add usage-type filter
Dietmar Maurer [Sat, 6 Jun 2020 09:38:47 +0000 (11:38 +0200)]
src/api2/disks.rs: start disks api
Dietmar Maurer [Sat, 6 Jun 2020 09:37:24 +0000 (11:37 +0200)]
src/tools/disks.rs: use api macro so that we can use those types with the api
Dietmar Maurer [Sat, 6 Jun 2020 07:18:20 +0000 (09:18 +0200)]
src/tools/disks.rs - get_disks: query smart status
Dietmar Maurer [Sat, 6 Jun 2020 07:05:22 +0000 (09:05 +0200)]
src/tools/disks/smart.rs: use model.to_string_lossy() to simplify code
Dietmar Maurer [Sat, 6 Jun 2020 07:01:15 +0000 (09:01 +0200)]
src/tools/disks/smart.rs: try to get correct wearout for ATA devices
Dietmar Maurer [Sat, 6 Jun 2020 06:23:59 +0000 (08:23 +0200)]
src/tools/disks/smart.rs - get_smart_data: use &Disk instead of &str
So that we can query other device infos easily (model, vendor, ..)
Dominik Csapak [Fri, 5 Jun 2020 08:11:54 +0000 (10:11 +0200)]
ui: add gc/prune schedule and options available in the ui
by adding them as columns for the config view,
and as a seperate tab on the edit window (this is done to not show
too many options at once)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 5 Jun 2020 08:11:53 +0000 (10:11 +0200)]
ui: make DataStore configuration editable
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 5 Jun 2020 08:11:52 +0000 (10:11 +0200)]
ui: refactor DataStoreConfig and Edit
split them into two files and put them into the respective directory
refactor the DataStoreConfigPanel to controller/view
and the DataStoreEdit window/inputpanel to simply an editwindow
(there is no need to have a seperate inputpanel) which also
prepares the window for edit (by using pmxDisplayEditFields)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 5 Jun 2020 08:11:51 +0000 (10:11 +0200)]
ui: replace DataStoreStatus with DataStoreConfig
We will show an overall status of the DataStores in the Dashboard, so there
is no need for a seperate DataStores Status.
This means we can move the Config to where the Status was, and remove
the duplicated entry in the NavigationTree, reducing confusion for users
We can still seperate the permissions by simply showing a permission
denied error, or simply leaving the list empty
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Fri, 5 Jun 2020 16:30:06 +0000 (18:30 +0200)]
src/tools/disks/smart.rs: parse output from smartctl
Dietmar Maurer [Fri, 5 Jun 2020 08:00:05 +0000 (10:00 +0200)]
src/tools/disks.rs: implement get_disks (similar to the one in PVE::Diskmanage)
But no ceph support for now. Also no support for old cciss block devices.
Dietmar Maurer [Fri, 5 Jun 2020 07:27:48 +0000 (09:27 +0200)]
src/tools/disks.rs; use correct subdir to check holders
Dietmar Maurer [Fri, 5 Jun 2020 06:09:52 +0000 (08:09 +0200)]
src/tools/disks.rs: fix disk type detection, remove newline from vendor string
Dietmar Maurer [Fri, 5 Jun 2020 06:08:40 +0000 (08:08 +0200)]
depend on proxmox 0.1.39
Dominik Csapak [Thu, 4 Jun 2020 10:38:45 +0000 (12:38 +0200)]
ui: fix prune button
the remove button did not get the selModel since the xytpe was not
'grid' so give it the correct xtype
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Thomas Lamprecht [Thu, 4 Jun 2020 08:39:11 +0000 (10:39 +0200)]
bump version to 0.2.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 4 Jun 2020 08:30:47 +0000 (10:30 +0200)]
rrd: fix off-by-one in save interval calculation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dominik Csapak [Thu, 4 Jun 2020 08:12:10 +0000 (10:12 +0200)]
fix csum calculation of not 'chunk_size' aligned images
the last chunk does not have to be as big as the chunk_size,
just use the already available 'chunk_end' function which does the
correct thing
this fixes restoration of images whose sizes are not a multiple of
'chunk_size' as well
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Thu, 4 Jun 2020 07:12:19 +0000 (09:12 +0200)]
src/tools/disks/lvm.rs: implement get_lvm_devices()
Dietmar Maurer [Thu, 4 Jun 2020 05:48:22 +0000 (07:48 +0200)]
src/tools/disks.rs: add/use get_partition_type_info
Dominik Csapak [Wed, 3 Jun 2020 14:34:07 +0000 (16:34 +0200)]
improve display of 'next run' for sync jobs
if the last sync job is too far in the past (or there was none at all
for now) we run it at the next iteration, so we want to show that
we now calculate the next_run by using either the real last endtime
as time or 0
then in the frontend, we check if the next_run is < now and show 'pending'
(we do it this way also for replication on pve)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 3 Jun 2020 14:34:06 +0000 (16:34 +0200)]
tools/systemd/time: fix compute_next_event for weekdays
two things were wrong here:
* the range (x..y) does not include y, so the range
(day_num+1..6) goes from (day_num+1) to 5 (but sunday is 6)
* WeekDays.bits() does not return the 'day_num' of that day, but
the bit value (e.g. 64 for SUNDAY) but was treated as the index of
the day of the week
to fix this, we drop the map to WeekDays and use the 'indices'
directly
this patch makes the test work again
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 3 Jun 2020 14:34:05 +0000 (16:34 +0200)]
systemd/time: add tests for all weekdays
this fails for now
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Thomas Lamprecht [Wed, 3 Jun 2020 17:09:58 +0000 (19:09 +0200)]
verify_file: add missing closing parenthesis in error message
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Wed, 3 Jun 2020 10:16:08 +0000 (12:16 +0200)]
src/tools/disks/zfs.rs: add parser for zpool list output
Dietmar Maurer [Wed, 3 Jun 2020 08:37:46 +0000 (10:37 +0200)]
bump version to 0.2.2-1
Dietmar Maurer [Wed, 3 Jun 2020 08:11:37 +0000 (10:11 +0200)]
src/bin/proxmox-backup-client.rs: implement quite flag
Thomas Lamprecht [Tue, 2 Jun 2020 16:41:32 +0000 (18:41 +0200)]
client restore: don't add server file ending if already specified
If one executes a client command like
# proxmox-backup-client files <snapshot> --repository ...
the files shown have already the '.fidx' or '.blob' file ending, so
if a user would just copy paste that one the client would always add
.blob, and the server would not find that file.
So avoid adding file endings if it is already a known OK one.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 2 Jun 2020 16:41:31 +0000 (18:41 +0200)]
client restore: factor out archive/type parsing
will be extended in a next patch.
Also drop a dead else branch, can never get hit as we always add
.blob as fallback
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Wed, 3 Jun 2020 04:59:43 +0000 (06:59 +0200)]
fix typo
Wolfgang Bumiller [Tue, 26 May 2020 09:52:36 +0000 (11:52 +0200)]
client: improve connection/new fingerprint query
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Thomas Lamprecht [Sat, 30 May 2020 14:37:33 +0000 (16:37 +0200)]
typo fixes all over the place
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Sat, 30 May 2020 12:39:38 +0000 (14:39 +0200)]
src/client/pull.rs: also download client.log.blob
Dietmar Maurer [Sat, 30 May 2020 12:05:33 +0000 (14:05 +0200)]
avoid compiler warnings
Dietmar Maurer [Sat, 30 May 2020 12:04:15 +0000 (14:04 +0200)]
cleanup: define/use const for predefined blob file names.
Dietmar Maurer [Sat, 30 May 2020 08:54:38 +0000 (10:54 +0200)]
src/client/backup_specification.rs: split code into extra file
Dietmar Maurer [Sat, 30 May 2020 06:12:43 +0000 (08:12 +0200)]
src/client/pull.rs: more verbose logging
Dominik Csapak [Fri, 29 May 2020 14:22:14 +0000 (16:22 +0200)]
ui: use Proxmox.Utils.setAuthData
this uses different parameters which we want to be the same for
all products (e.g. secure cookie)
leave the PBS.Utils.updateLoginData for the case that we want to do
something more here (as in pve for example)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 13:09:01 +0000 (15:09 +0200)]
add owner to group and snapshot listings
while touching it, make columns and tbar in DataStoreContent.js
declarative members and remove the (now) unnecessary initComponent
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:42 +0000 (10:53 +0200)]
ui: add SyncView
shows a nice overview of sync jobs (incl status of last run, estimated
next run, etc.) with options to add/edit/remove and also show the
log of the last run and manually run it now
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:41 +0000 (10:53 +0200)]
ui: add SyncJobEdit window
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:40 +0000 (10:53 +0200)]
ui: add RemoteSelector and DataStoreSelector
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:39 +0000 (10:53 +0200)]
api2: add admin/sync endpoint
this returns the list of syncjobs with status, as opposed to
config/sync (which is just the config)
also adds an api call where users can run the job manually under
/admin/sync/$ID/run
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:38 +0000 (10:53 +0200)]
config/sync: add SyncJobStatus Struct/Schema
contains the config + status
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:37 +0000 (10:53 +0200)]
syncjob: change worker type for sync jobs
'sync' is used for manually pulling a remote datastore
changing it for a scheduled sync to 'syncjob' so that we can
differentiate between both types of syncs
this also adds a seperate task description for it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:36 +0000 (10:53 +0200)]
api2/pull: refactor priv checking and creating pull parameters
we want to reuse those in the api call for manually running a sync job
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:35 +0000 (10:53 +0200)]
api2/config/sync: fix id parameter
'name' is not the correct parameter for get/post
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 08:53:34 +0000 (10:53 +0200)]
create SYNC_SCHEDULE_SCHEMA to adapt description for sync jobs
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 29 May 2020 07:52:29 +0000 (09:52 +0200)]
ui: add missing comment field to remote model
when using a diffstore, we have to add all used columns to the model,
else they will not refresh on a load
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Fri, 29 May 2020 09:09:02 +0000 (11:09 +0200)]
src/bin/proxmox-backup-proxy.rs: cleanup, move code to src/tools/disks.rs
And simplify find_mounted_device by using stat.st_dev
Dominik Csapak [Fri, 29 May 2020 08:45:00 +0000 (10:45 +0200)]
fix removing of remotes
we have to save the remote config after removing the section
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Fri, 29 May 2020 07:16:13 +0000 (09:16 +0200)]
rrd: reduce io by saving data only once a minute
Dietmar Maurer [Fri, 29 May 2020 05:59:42 +0000 (07:59 +0200)]
src/bin/proxmox-backup-proxy.rs: add test if last prune job is still running
Dietmar Maurer [Fri, 29 May 2020 05:58:12 +0000 (07:58 +0200)]
src/bin/proxmox-backup-proxy.rs: test if last sync job is still running
Dietmar Maurer [Fri, 29 May 2020 06:05:10 +0000 (08:05 +0200)]
src/server/worker_task.rs: make worker_is_active_local pub