pve-guest-common.git
3 months agobuildsys: no need to include arch detection for arch-independent package master
Thomas Lamprecht [Tue, 21 May 2019 20:24:59 +0000 (22:24 +0200)]
buildsys: no need to include arch detection for arch-independent package

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agobuildsys: switch upload dist over to buster
Thomas Lamprecht [Tue, 21 May 2019 19:08:05 +0000 (21:08 +0200)]
buildsys: switch upload dist over to buster

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agobump version to 3.0-1
Thomas Lamprecht [Tue, 21 May 2019 19:03:47 +0000 (21:03 +0200)]
bump version to 3.0-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agobuildsys: use dpkg-dev makefile helpers for pkg info
Thomas Lamprecht [Tue, 21 May 2019 19:00:28 +0000 (21:00 +0200)]
buildsys: use dpkg-dev makefile helpers for pkg info

while we already dynamically resolved the version from the changelog
using dpkg-parsechangelog, and those dpkg-dev helpers also use that
tool, let's switch to them nonetheless to have a bit more stream
lined dev environment.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 months agoset debian source format to 1.0
Thomas Lamprecht [Tue, 21 May 2019 19:00:13 +0000 (21:00 +0200)]
set debian source format to 1.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 months agoincrease max reading replication state file size.
Wolfgang Link [Wed, 17 Apr 2019 07:09:27 +0000 (09:09 +0200)]
increase max reading replication state file size.

In this file, the error of a failed job will also be stored.
The default 32768 bytes are not very much.

This file is on the local filesystem so there is no filesystem
size restrictions like in /etc/pve.

6 months agobump version to 2.0-20
Thomas Lamprecht [Fri, 1 Feb 2019 11:52:20 +0000 (12:52 +0100)]
bump version to 2.0-20

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agod/control: bump version dependency of libpve-storage-perl
Thomas Lamprecht [Fri, 1 Feb 2019 11:51:54 +0000 (12:51 +0100)]
d/control: bump version dependency of libpve-storage-perl

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agofollouwp: saner exception handling
Thomas Lamprecht [Fri, 1 Feb 2019 09:08:07 +0000 (10:08 +0100)]
follouwp: saner exception handling

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoadd check/exec_hookscript to GuestHelpers
Dominik Csapak [Thu, 31 Jan 2019 13:33:38 +0000 (14:33 +0100)]
add check/exec_hookscript to GuestHelpers

check_hookscript will be used for the container/vm api to check if the
hookscript volume id is correct

exec_hookscript can be called to execute a hookscript

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 months agobump version to 2.0-19
Wolfgang Bumiller [Thu, 3 Jan 2019 08:58:17 +0000 (09:58 +0100)]
bump version to 2.0-19

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
7 months agoreplace complete_snapshot_name with snapshot_list
Wolfgang Bumiller [Thu, 3 Jan 2019 09:09:45 +0000 (10:09 +0100)]
replace complete_snapshot_name with snapshot_list

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
7 months agoMakefile: use dpkg-parsechangelog
Wolfgang Bumiller [Thu, 3 Jan 2019 08:55:14 +0000 (09:55 +0100)]
Makefile: use dpkg-parsechangelog

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
8 months agofix deprecated unescaped left brace in regex
Thomas Lamprecht [Fri, 14 Dec 2018 13:06:08 +0000 (14:06 +0100)]
fix deprecated unescaped left brace in regex

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
9 months agoBash completion helper for snapshot name
Rhonda D'Vine [Mon, 12 Nov 2018 13:58:48 +0000 (14:58 +0100)]
Bash completion helper for snapshot name

This is the bash completion helper function for completing the snapshot
name.  This is used both in qemu-server and pve-container.

This patch is the base for the patches in qemu-server and pve-container.

Signed-off-by: Rhonda D'Vine <rhonda@proxmox.com>
9 months agod/control: remove perl from build-depends
Fabian Grünbichler [Wed, 24 Oct 2018 08:19:43 +0000 (10:19 +0200)]
d/control: remove perl from build-depends

it is not needed at all.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
9 months agod/control: add misc:Depends
Fabian Grünbichler [Wed, 24 Oct 2018 08:19:42 +0000 (10:19 +0200)]
d/control: add misc:Depends

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
9 months agod/control|compat: bump to 10
Fabian Grünbichler [Wed, 24 Oct 2018 08:19:41 +0000 (10:19 +0200)]
d/control|compat: bump to 10

default and recommended compat level in Debian Stretch

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
9 months agod/control: wrap-and-sort
Fabian Grünbichler [Wed, 24 Oct 2018 08:19:40 +0000 (10:19 +0200)]
d/control: wrap-and-sort

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
9 months agod/control: bump standards version
Fabian Grünbichler [Wed, 24 Oct 2018 08:19:39 +0000 (10:19 +0200)]
d/control: bump standards version

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
9 months agobuild: add dsc target
Fabian Grünbichler [Wed, 24 Oct 2018 08:19:38 +0000 (10:19 +0200)]
build: add dsc target

to build a source package

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
11 months agod/control: fixup missing comma in Breaks
Thomas Lamprecht [Mon, 17 Sep 2018 13:54:04 +0000 (15:54 +0200)]
d/control: fixup missing comma in Breaks

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobump version to 2.0-18
Thomas Lamprecht [Mon, 17 Sep 2018 13:24:06 +0000 (15:24 +0200)]
bump version to 2.0-18

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobreak qemu-server (<< 5.0-35)
Thomas Lamprecht [Mon, 17 Sep 2018 13:24:57 +0000 (15:24 +0200)]
break qemu-server (<< 5.0-35)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agoadd snapshot rollback hook and remove qemu machine code
Dominik Csapak [Fri, 14 Sep 2018 12:08:40 +0000 (14:08 +0200)]
add snapshot rollback hook and remove qemu machine code

instead move the QEMU machine logic inside qemu-server package with
the help of the new snapshot rollback hook

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
14 months agobump version to 2.0-17
Thomas Lamprecht [Tue, 19 Jun 2018 12:07:19 +0000 (14:07 +0200)]
bump version to 2.0-17

14 months agoadd create_and_lock_config
Thomas Lamprecht [Fri, 1 Jun 2018 14:37:38 +0000 (16:37 +0200)]
add create_and_lock_config

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
15 months agocleanup: ReplicationConfig: be specific about write_config
Wolfgang Bumiller [Mon, 14 May 2018 11:51:24 +0000 (13:51 +0200)]
cleanup: ReplicationConfig: be specific about write_config

Since it doesn't write but returns the text to be written,
let's be specific about the fact that we're returning a
value.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
15 months agobump version to 2.0-16
Fabian Grünbichler [Mon, 14 May 2018 09:15:20 +0000 (11:15 +0200)]
bump version to 2.0-16

15 months agoAdd lock to pervent lost update.
Wolfgang Link [Wed, 9 May 2018 12:48:27 +0000 (14:48 +0200)]
Add lock to pervent lost update.

15 months agoSwap source and target in replication config, if VM was stolen.
Wolfgang Link [Wed, 9 May 2018 12:48:26 +0000 (14:48 +0200)]
Swap source and target in replication config, if VM was stolen.

15 months agoAdd function: swap source and target in replication config
Wolfgang Link [Wed, 9 May 2018 12:48:25 +0000 (14:48 +0200)]
Add function: swap source and target in replication config

15 months agoGet snapshots when no state is available.
Wolfgang Link [Wed, 9 May 2018 12:48:24 +0000 (14:48 +0200)]
Get snapshots when no state is available.

With this patch we can restore the state of a state less job.
It may happen that there are more replication snapshots,
because no job state is known can not delete any snapshot.
Existing multiple replication-snapshot happens
when a node fails in middel of a replication
and then the VM is moved to another node.
That's why we have to test if we have a common base on both nodes.
Given this, we take this as a replica state.
After we have a state again, the rest of the snapshots can be deleted on the next run.

15 months agoDelete replication snapshots only if last_sync is not 0.
Wolfgang Link [Wed, 9 May 2018 12:48:23 +0000 (14:48 +0200)]
Delete replication snapshots only if last_sync is not 0.

If last_sync is 0, the VM configuration has been stolen
(either manually or by HA restoration).
Under this condition, the replication snapshot should not be deleted.
This snapshot is used to restore replication state.
If the last_snap is greater than 0 and does not match the snap name
it must be a remnant of an earlier sync and should be deleted.

15 months agoAdd config parameter 'source'.
Wolfgang Link [Wed, 9 May 2018 12:48:22 +0000 (14:48 +0200)]
Add config parameter 'source'.

This parameter is useful for restoring the replication status.
It is also corrected if it is missing or wrong.

15 months agoCleanup for stateless jobs.
Wolfgang Link [Wed, 9 May 2018 12:48:21 +0000 (14:48 +0200)]
Cleanup for stateless jobs.

If a VM configuration has been manually moved or recovered by HA,
there is no status on this new node.
In this case, the replication snapshots still exist on the remote side.
It must be possible to remove a job without status,
otherwise, a new replication job on the same remote node will fail
and the disks will have to be manually removed.
When searching through the sorted_volumes generated from the VMID.conf,
we can be sure that every disk will be removed in the event
of a complete job removal on the remote side.

In the end, the remote_prepare_local_job calls on the remote side a prepare.

16 months agobump version to 2.0-15
Dietmar Maurer [Mon, 16 Apr 2018 09:48:13 +0000 (11:48 +0200)]
bump version to 2.0-15

16 months agoReplication.pm: code cleanup
Dietmar Maurer [Mon, 16 Apr 2018 08:52:24 +0000 (10:52 +0200)]
Replication.pm: code cleanup

16 months agoPVE/Replication.pm: fix error message
Dietmar Maurer [Mon, 16 Apr 2018 08:48:49 +0000 (10:48 +0200)]
PVE/Replication.pm: fix error message

16 months agofix #1694: make failure of snapshot removal non-fatal
Wolfgang Link [Fri, 13 Apr 2018 10:24:39 +0000 (12:24 +0200)]
fix #1694: make failure of snapshot removal non-fatal

In certain high-load scenarios ANY ZFS operation can block,
including registering an (async) destroy.
Since ZFS operations are implemented via ioctl's,
killing the user space process
does not affect the waiting kernel thread processing the ioctl.

Once "zfs destroy" has been called, killing it does not say anything
about whether the destroy operation will be aborted or not.
Since running into a timeout effectively means killing it,
we don't know whether the snapshot exists afterwards or not.
We also don't know how long it takes for ZFS to catch up on pending ioctls.

Given the above problem, we must to not die on errors when deleting a no
longer needed snapshot fails (under a timeout) after an otherwise
successful replication. Since we retry on the next run anyway, this is
not problematic.

The snapshot deletion error will be logged in the replication log
and the syslog/journal.

20 months agovzdump: add common log sub-method
Thomas Lamprecht [Thu, 14 Dec 2017 06:58:36 +0000 (07:58 +0100)]
vzdump: add common log sub-method

Add a general log method here which supports to pass on the "log to
syslog too" functionality and makes it more clear what each
parameter of logerr and logginfo means.

Further, we can now also log wlith a 'warn' level, which can be
useful to notice an backup user of a possible problem which isn't a
error per se, but may need the users attention.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agovzdump: allow all defined log levels
Thomas Lamprecht [Thu, 14 Dec 2017 06:58:35 +0000 (07:58 +0100)]
vzdump: allow all defined log levels

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agobump version to 2.0-14
Wolfgang Bumiller [Wed, 13 Dec 2017 13:51:50 +0000 (14:51 +0100)]
bump version to 2.0-14

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
20 months agoRemove noerr form replication.
Wolfgang Link [Thu, 7 Dec 2017 11:06:59 +0000 (12:06 +0100)]
Remove noerr form replication.

We will handle this errors in the API and decide what to do.

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agobump version to 2.0-13
Fabian Grünbichler [Tue, 17 Oct 2017 13:04:41 +0000 (15:04 +0200)]
bump version to 2.0-13

and add versioned dependency on libpve-storage-perl for storage_migrate
signature change (added logfunc parameter).

22 months agoreplication: purge states: verify the vmlist
Wolfgang Bumiller [Wed, 11 Oct 2017 12:24:58 +0000 (14:24 +0200)]
replication: purge states: verify the vmlist

Instead of clearing out the local state if the last
cfs_update failed.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoAdd logfunc in storage_migration.
Wolfgang Link [Tue, 10 Oct 2017 07:43:51 +0000 (09:43 +0200)]
Add logfunc in storage_migration.

This will redirect export and import output to the correct log, instead of paring it into the syslog.

22 months agobuild: reformat debian/control
Fabian Grünbichler [Wed, 4 Oct 2017 09:05:33 +0000 (11:05 +0200)]
build: reformat debian/control

using wrap-and-sort -abt

23 months agobump version to 2.0-12
Wolfgang Bumiller [Thu, 21 Sep 2017 07:46:53 +0000 (09:46 +0200)]
bump version to 2.0-12

23 months agoVZDump/Plugin: avoid cyclic dependency
Thomas Lamprecht [Wed, 13 Sep 2017 08:30:14 +0000 (10:30 +0200)]
VZDump/Plugin: avoid cyclic dependency

pve-guest-common is above qemu-server, pve-container and thus also
pve-manager in the package hierarchy.
The latter hosts PVE::VZDump, so using it here adds a cyclic
dependency between pve-manager and pve-guest-common.

Move the log method to the base plugin class and inline the
run_command function directly do the plugins cmd method.

pve-manager's PVE::VZDump may use this plugins static log function
then instead of its own copy.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoAbstractMigrate: remove unused obsolete variables
Thomas Lamprecht [Wed, 13 Sep 2017 08:40:52 +0000 (10:40 +0200)]
AbstractMigrate: remove unused obsolete variables

23 months agoAbstractMigrate: do not overwrite global signal handlers
Thomas Lamprecht [Wed, 6 Sep 2017 11:29:04 +0000 (13:29 +0200)]
AbstractMigrate: do not overwrite global signal handlers

perls 'local' must be either used in front of each $SIG{...}
assignments or they must be put in a list, else it affects only the
first variable and the rest are *not* in local context.

This may cause weird behaviour where daemons seemingly do not get
terminating signals delivered correctly and thus may not shutdown
gracefully anymore.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoFix #1480: die if snapshot name is not found before set_lock is used
Alwin Antreich [Mon, 28 Aug 2017 09:08:12 +0000 (11:08 +0200)]
Fix #1480: die if snapshot name is not found before set_lock is used

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2 years agobump version to 2.0-11
Wolfgang Bumiller [Mon, 3 Jul 2017 12:51:10 +0000 (14:51 +0200)]
bump version to 2.0-11

2 years agoreplication: we must call storage_migrate with with_snapshots true
Wolfgang Bumiller [Mon, 3 Jul 2017 09:58:41 +0000 (11:58 +0200)]
replication: we must call storage_migrate with with_snapshots true

2 years agobump version to 2.0-10
Dietmar Maurer [Thu, 29 Jun 2017 08:57:07 +0000 (10:57 +0200)]
bump version to 2.0-10

2 years agoreplication job_status: add get_disabled parameter
Thomas Lamprecht [Thu, 29 Jun 2017 08:08:28 +0000 (10:08 +0200)]
replication job_status: add get_disabled parameter

allows the API/frontend to get the disabled jobs easier

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 2.0-9
Dietmar Maurer [Thu, 29 Jun 2017 05:29:29 +0000 (07:29 +0200)]
bump version to 2.0-9

2 years agoRevert "Add guest type at find_local_replication_job"
Dietmar Maurer [Thu, 29 Jun 2017 05:27:16 +0000 (07:27 +0200)]
Revert "Add guest type at find_local_replication_job"

This reverts commit 914b6647a4467d323af1d3b501293270c70c3fd1.

No longer required.

2 years agoPVE::Replication - do not use $jobcfg->{vmtype}
Dietmar Maurer [Thu, 29 Jun 2017 05:25:28 +0000 (07:25 +0200)]
PVE::Replication - do not use $jobcfg->{vmtype}

2 years agobump version to 2.0-8
Wolfgang Bumiller [Wed, 28 Jun 2017 12:32:56 +0000 (14:32 +0200)]
bump version to 2.0-8

2 years agoAdd guest type at find_local_replication_job
Wolfgang Link [Wed, 28 Jun 2017 12:27:37 +0000 (14:27 +0200)]
Add guest type at find_local_replication_job

We need this at migration time.

2 years agobump version to 2.0-7
Dietmar Maurer [Wed, 28 Jun 2017 10:47:05 +0000 (12:47 +0200)]
bump version to 2.0-7

2 years agofix previous commit
Dietmar Maurer [Wed, 28 Jun 2017 10:05:18 +0000 (12:05 +0200)]
fix previous commit

2 years agoreplication: improve schedule_job_now
Dietmar Maurer [Wed, 28 Jun 2017 10:00:25 +0000 (12:00 +0200)]
replication: improve schedule_job_now

do no not modify anything if there is no state

2 years agoreplication: add schedule_job_now helper
Wolfgang Bumiller [Wed, 28 Jun 2017 09:35:06 +0000 (11:35 +0200)]
replication: add schedule_job_now helper

2 years agoreplication: sort time stamps numerically
Wolfgang Bumiller [Wed, 28 Jun 2017 07:02:29 +0000 (09:02 +0200)]
replication: sort time stamps numerically

2 years agoreplication: pass $noerr to run_replication_nolock
Dietmar Maurer [Wed, 28 Jun 2017 05:54:11 +0000 (07:54 +0200)]
replication: pass $noerr to run_replication_nolock

2 years agoAdd new function delete_guest_states.
Wolfgang Link [Tue, 27 Jun 2017 10:20:23 +0000 (12:20 +0200)]
Add new function delete_guest_states.

2 years agoreplication: don't sync to offline targets on error states
Wolfgang Bumiller [Tue, 27 Jun 2017 08:53:13 +0000 (10:53 +0200)]
replication: don't sync to offline targets on error states

There's no point in trying to replicate to a target node
which is offline. Note that if we're not already in an
error state we do still give it a try in order for this to
get logged as an error at least once.

2 years agoreplication: keep retrying every 30 minutes in error state
Wolfgang Bumiller [Tue, 27 Jun 2017 08:53:12 +0000 (10:53 +0200)]
replication: keep retrying every 30 minutes in error state

Otherwise we never get out of it.

2 years agoPVE::ReplicationState - cleanup job state on job removal
Dietmar Maurer [Tue, 27 Jun 2017 09:41:44 +0000 (11:41 +0200)]
PVE::ReplicationState - cleanup job state on job removal

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2 years agoPVE::ReplicationState::purge_old_states - new helper
Dietmar Maurer [Tue, 27 Jun 2017 08:15:01 +0000 (10:15 +0200)]
PVE::ReplicationState::purge_old_states - new helper

2 years agoPVE::ReplicationState::write_job_state - allow to remove state completely
Dietmar Maurer [Tue, 27 Jun 2017 06:13:36 +0000 (08:13 +0200)]
PVE::ReplicationState::write_job_state - allow to remove state completely

2 years agoPVE/Replication.pm: also log when we thaw the filesystem
Dietmar Maurer [Fri, 23 Jun 2017 11:18:08 +0000 (13:18 +0200)]
PVE/Replication.pm: also log when we thaw the filesystem

2 years agobump version to 2.0-6
Dietmar Maurer [Thu, 22 Jun 2017 11:05:10 +0000 (13:05 +0200)]
bump version to 2.0-6

2 years agochange replica log timestamp to a human readable format
Dominik Csapak [Tue, 20 Jun 2017 12:27:23 +0000 (14:27 +0200)]
change replica log timestamp to a human readable format

modeled after the timestamps in vm migration

this does not impact the regression tests, because they
overwrite 'get_log_time' anyway

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agobump version to 2.0-5
Dietmar Maurer [Thu, 22 Jun 2017 06:44:18 +0000 (08:44 +0200)]
bump version to 2.0-5

2 years agoPVE::AbstractMigrate - new helpers to handle replication jobs
Dietmar Maurer [Wed, 21 Jun 2017 10:24:57 +0000 (12:24 +0200)]
PVE::AbstractMigrate - new helpers to handle replication jobs

2 years agoPVE::ReplicationState::extract_vmid_tranfer_state - new helper
Dietmar Maurer [Wed, 21 Jun 2017 10:24:06 +0000 (12:24 +0200)]
PVE::ReplicationState::extract_vmid_tranfer_state - new helper

moved from PVE::QemuMigrate

2 years agoPVE::ReplicationConfig::switch_replication_job_target - new helper
Dietmar Maurer [Wed, 21 Jun 2017 09:43:24 +0000 (11:43 +0200)]
PVE::ReplicationConfig::switch_replication_job_target - new helper

moved from PVE::QemuMigrate

2 years agoPVE/ReplicationConfig.pm: store job id inside job config
Dietmar Maurer [Tue, 20 Jun 2017 11:19:53 +0000 (13:19 +0200)]
PVE/ReplicationConfig.pm: store job id inside job config

To simplify code.

2 years agoPVE::Replication::run_replication - add verbose parameter
Dietmar Maurer [Tue, 20 Jun 2017 06:54:01 +0000 (08:54 +0200)]
PVE::Replication::run_replication - add verbose parameter

used for regression tests

2 years agoPVE::Replication::run_replication - return replicated $volumes
Dietmar Maurer [Tue, 20 Jun 2017 06:51:08 +0000 (08:51 +0200)]
PVE::Replication::run_replication - return replicated $volumes

2 years agoPVE::ReplicationState - new helpers record_job_start/record_job_end
Dietmar Maurer [Tue, 20 Jun 2017 04:53:36 +0000 (06:53 +0200)]
PVE::ReplicationState - new helpers record_job_start/record_job_end

2 years agoPVE::Replication::find_common_replication_snapshot - new helper
Dietmar Maurer [Tue, 20 Jun 2017 04:17:27 +0000 (06:17 +0200)]
PVE::Replication::find_common_replication_snapshot - new helper

This is just a cleanup (simply factor out code from replicate()).

2 years agoPVE::ReplicationConfig::find_local_replication_job - new helper
Dietmar Maurer [Mon, 19 Jun 2017 14:06:55 +0000 (16:06 +0200)]
PVE::ReplicationConfig::find_local_replication_job - new helper

2 years agoreplication: replicate_volume: rate can be undefined
Wolfgang Bumiller [Wed, 14 Jun 2017 08:23:51 +0000 (10:23 +0200)]
replication: replicate_volume: rate can be undefined

as it is optional in which case we want to pass undef to
stogae_migrate

2 years agoreplicate_volume: implement rate limit and insecure
Dietmar Maurer [Wed, 14 Jun 2017 06:44:13 +0000 (08:44 +0200)]
replicate_volume: implement rate limit and insecure

2 years agocall get_replicatable_volumes with $vmid parameter
Dietmar Maurer [Tue, 13 Jun 2017 07:17:50 +0000 (09:17 +0200)]
call get_replicatable_volumes with $vmid parameter

2 years agoget_replicatable_volumes: add $vmid parameter
Dietmar Maurer [Tue, 13 Jun 2017 07:00:24 +0000 (09:00 +0200)]
get_replicatable_volumes: add $vmid parameter

2 years agoPVE/AbstractConfig.pm - include missing classes
Dietmar Maurer [Tue, 13 Jun 2017 04:13:39 +0000 (06:13 +0200)]
PVE/AbstractConfig.pm - include missing classes

2 years agoPVE/ReplicationState.pm: implement write_vmid_job_states
Dietmar Maurer [Mon, 12 Jun 2017 09:33:05 +0000 (11:33 +0200)]
PVE/ReplicationState.pm: implement write_vmid_job_states

Update all job states related to a specific $vmid

2 years agoMake rollback compatible with storage replica.
Wolfgang Link [Mon, 12 Jun 2017 08:38:20 +0000 (10:38 +0200)]
Make rollback compatible with storage replica.

If we rollback we have to clean up all local replication snapshots.

2 years agoPVE::Replication - pass $cleanup parameter to get_replicatable_volumes
Dietmar Maurer [Mon, 12 Jun 2017 07:05:50 +0000 (09:05 +0200)]
PVE::Replication - pass $cleanup parameter to get_replicatable_volumes

2 years agoPVE::AbstractConfig - add prototype for get_replicatable_volumes
Dietmar Maurer [Mon, 12 Jun 2017 07:03:14 +0000 (09:03 +0200)]
PVE::AbstractConfig - add prototype for get_replicatable_volumes

2 years agoPVE::Replication::prepare - allow to pass undefined $jobid
Dietmar Maurer [Mon, 12 Jun 2017 05:53:47 +0000 (07:53 +0200)]
PVE::Replication::prepare - allow to pass undefined $jobid

And remove all replication snapshots in that case. This is useful
for snapshot rollback.

2 years agoadd PVE/Replication.pm - moved from pve-manager
Dietmar Maurer [Mon, 12 Jun 2017 05:03:22 +0000 (07:03 +0200)]
add PVE/Replication.pm - moved from pve-manager

2 years agoPVE::ReplicationConfig add delete_job helper
Dietmar Maurer [Mon, 12 Jun 2017 04:35:35 +0000 (06:35 +0200)]
PVE::ReplicationConfig add delete_job helper

Moved from PVE::Replication.

2 years agoPVE::ReplicationState - add job_status, get_next_job, job_logfile_name helpers
Dietmar Maurer [Mon, 12 Jun 2017 04:17:14 +0000 (06:17 +0200)]
PVE::ReplicationState - add job_status, get_next_job, job_logfile_name helpers

Moved code from PVE::Replication.