Commit Graph

2904 Commits

Author SHA1 Message Date
Dietmar Maurer
1a9dc09e83 PVE::Replication - aquire guest_migration_lock during replication
To block guest migration.
2017-05-31 08:23:47 +02:00
Dietmar Maurer
ffe5a020b7 PVE::Replication - implement replicate_volume()
Simply call PVE::Storage::storage_migrate()
2017-05-31 08:23:47 +02:00
Dietmar Maurer
39c41c9dc5 ReplicationTestEnv.pm: avoid warning about undefined value 2017-05-31 08:23:47 +02:00
Dietmar Maurer
df16be460c bin/test/Makefile: run all replication tests 2017-05-31 08:23:47 +02:00
Dietmar Maurer
7f6ff9dd39 PVE::Replication::replicate - implement replicate
The actual volume replication is done in replicate_volume(), which is just
a stub for now.

I also added a regression test replication_test5.pl to verify basic
functions.
2017-05-31 08:23:47 +02:00
Dietmar Maurer
b11e512fae PVE::Replication::remote_finalize_local_job - new helper
Simple wrapper to call "pvesr finalize-local-job" on a remote
cluster node.
2017-05-31 08:23:47 +02:00
Dietmar Maurer
acea170e05 PVE::Replication::remote_prepare_local_job - new helper
Simple wrapper to call "pvesr prepare-local-job" on a remote
cluster node.
2017-05-31 08:23:47 +02:00
Dietmar Maurer
fcc22c0bfb pvesr finalize-local-job: add helper to cleanup job
This will be called after replication on the target node. For now, this
just removes old snapshots.
2017-05-31 08:23:47 +02:00
Dietmar Maurer
331025d954 ReplicationTestEnv.pm: mock get_ssh_info and ssh_info_to_command 2017-05-31 08:23:47 +02:00
Dietmar Maurer
4550bb78c3 ReplicationTestEnv.pm: mock storage content methods 2017-05-31 08:23:46 +02:00
Dietmar Maurer
fae995063c pvesr prepare-local-job: new helper
Prepare for starting a replication job. This is called on the target
node before replication starts. This call is for internal use, and
return a JSON object on stdout. The method first test if VM <vmid>
reside on the local node. If so, stop immediately. After that the
method scans all volume IDs for snapshots, and removes all replications
snapshots with timestamps different than <last_sync>. It also removes
any unused volumes.

Returns a hash with boolean markers for all volumes with existing
replication snapshots.
2017-05-31 08:23:46 +02:00
Dietmar Maurer
f70997ea80 pvesr run: add --verbose flag
We can now pass a $logfunc parameter to replicate() to
produce more verbose logs/output. This is especially useful
for regression testing.
2017-05-31 08:23:46 +02:00
Dietmar Maurer
6e572d46ef replication_test4.pl: Test replication job failure 2017-05-31 08:23:46 +02:00
Dietmar Maurer
c5014e65b2 ReplicationTestEnv.pm: add job tracking log
To generate persistent logs with job state/config changes.
2017-05-31 08:23:46 +02:00
Dietmar Maurer
6269a49c64 replication_test3.pl: regression test for replication to same node 2017-05-31 08:23:46 +02:00
Dietmar Maurer
5c180db3b5 PVE::Replication - use new calendar events instead of interval
And implement retry algorythm after failure:

  $next_sync = $state->{last_try} + 5*60*$fail_count;

and limit to 3 failures.
2017-05-31 08:23:46 +02:00
Dietmar Maurer
483f89dd47 PVE/Replication.pm: save pid/ptime to running job state
So that we can check which job is running.
2017-05-31 08:23:46 +02:00
Dietmar Maurer
816c01f85b replication_test2.pl: test replication scheduler 2017-05-31 08:23:46 +02:00
Dietmar Maurer
d0920c29e6 add regression test environment for replication 2017-05-31 08:23:46 +02:00
Dietmar Maurer
892821fd87 pvesr: add pve storage replication tool
Just added code to configure jobs. Replication itself is not
implemented.
2017-05-31 08:23:46 +02:00
Emmanuel Kasper
7a58166094 Fix #1386: track postfix daemon status via postfix@- 2017-05-29 14:52:24 +02:00
Dominik Csapak
cf73d1efc9 optimize 'text' field in resourcestore
instead of doing a lot of string comparisons, we first check
the type with the most objects (vms/cts) via number operation

and in all other cases, we can simply use the type as property index

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-05-04 09:28:15 +02:00
Dominik Csapak
397dfdd3c4 add suspend/resume events to updateTree
this makes adding/modifying a large number of items a lot faster

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-05-04 07:00:16 +02:00
Dominik Csapak
2abb517fcc optimize resourcestore field collection
instead of doing weird if/elsif checks with nonsensical logic

we simply check the 3 properties we want (namely convert,calculate and
defaultValue) and add them to our field definition.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-05-04 06:59:54 +02:00
Dominik Csapak
ec8273637d optimize 'running' field
we do not need to check for qemu/lxc/node because the other types
do not have an uptime value

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-05-04 06:55:22 +02:00
Wolfgang Link
c6723ee58b Make a new systemd target.
This will ensure all storages are up before pveproxy is running.
2017-05-03 11:50:53 +02:00
Fabian Grünbichler
4280f25c17 ceph: init: rename disable-cephx to disable_cephx
for consistency
2017-05-03 11:37:08 +02:00
Fabian Grünbichler
97f050bb79 ceph: init: add warning to disable-cephx 2017-05-03 10:27:24 +02:00
Alexandre Derumier
77bb90b03b ceph: init: add optional disable-cephx option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2017-05-03 10:27:18 +02:00
Alexandre Derumier
d70e3c4860 ceph: init: remove filestore xattr use omap
it's not used anymore since emperor

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2017-05-03 10:26:25 +02:00
Dominik Csapak
26eac3a63a fix #1359: change to vm when double clicking in pool member view
like in the resource grid

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-05-03 07:08:46 +02:00
Dietmar Maurer
786da0da93 bump version to 5.0-10 2017-04-24 07:46:07 +02:00
Dietmar Maurer
8a0cae0e35 PVE/APLInfo.pm: avoid locale specific time stamps 2017-04-24 07:24:12 +02:00
Dietmar Maurer
9f07075f0a vzdump: do not generate locale specific time stamps
Avoid perl warning: Wide character in print
2017-04-24 07:17:21 +02:00
Wolfgang Bumiller
679553c697 bump version to 5.0-9 2017-04-20 12:27:34 +02:00
Wolfgang Bumiller
127470f417 statd: rebalance: don't use CpuSet::max_cpuids
We're already limiting CPUs to lxc/cpuset.effective_cpus,
so let's use the highest cpuid from that set as a maximum to
initialize the container count array.
2017-04-20 12:18:55 +02:00
Dietmar Maurer
7dae23787f bump version to 5.0-8 2017-04-20 06:25:43 +02:00
Dominik Csapak
919ae0f7ab filter templates in bulk start/stop
because we cannot start/stop templates

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-20 06:22:22 +02:00
Dominik Csapak
6d4a1ca107 add skylake to cpu types
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-20 06:14:22 +02:00
Dominik Csapak
0e81561ae0 set default focus and default button for edit window
this patch sets following defaults for the edit window:

defaultFocus: 'field'

sets the focus on the first field it finds in its child items,
works for most edit windows, so that the cursor stands in a
textfield, or on a checkbox

defaultButton: 'submitbutton'

so that when someone presses enter, we submit the form

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-20 06:11:16 +02:00
Dietmar Maurer
da1175c936 bump version to 5.0-7 2017-04-14 15:20:33 +02:00
Dominik Csapak
c0f75e23b7 highlight errors in grids
we gave erroneous entries in grids the class .x-form-invalid-field
but since we changed to the "crisp" theme, this class did not have any
highlighting

so instead we use our own "pve-invalid-row" class
and give it a light red background

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:54 +02:00
Dominik Csapak
c11ab8cb4a add right-click menu for nodes
to easier reach the bulk actions, create wizards, and shell

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:54 +02:00
Dominik Csapak
05c4b7645d use nodename parameter to preselect the node in the wizard
this will be used for the ndoe right-click-menu

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:54 +02:00
Dominik Csapak
d6dab970ba add a 'convert to template' in the vm action bar
this was only available on right clicking a vm, now it is also available
in the action bar

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:53 +02:00
Dominik Csapak
f2fa05d13d move qemu reset button into shutdown menu
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:53 +02:00
Fabian Grünbichler
5317055abb bump version to 5.0-6 2017-04-10 16:25:10 +02:00
Fabian Grünbichler
8366363738 Ceph: allow bigger size and min_size in API 2017-04-03 12:06:55 +02:00
Thomas Lamprecht
eef1979c7b ceph/pool: allow bigger size and min_size values
Some setups may want to use more replicas as three, while my proposed
maximal 7 replicas is also arbitrary it should cover all normal
usecases (i.e. 5 replicas) and a bit more, just to be sure.
2017-04-03 11:52:48 +02:00
Thomas Lamprecht
f441a266fc ceph/pool: change default replica to 3/2
size/min_size 2/1 is unsafe as it can result in split brains, so we
should not recommend it as default.

If the user really wants it he can still set it explicit.
2017-04-03 11:52:48 +02:00