]>
git.proxmox.com Git - pve-manager-legacy.git/log
Thomas Lamprecht [Tue, 6 Jun 2017 13:40:37 +0000 (15:40 +0200)]
mark node shutdown/reboot buttons as dangerous
this has the effect that a warning triangle instead of an "?" symbol
is displayed and that the default focus is on "No"
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
Thomas Lamprecht [Tue, 6 Jun 2017 13:40:36 +0000 (15:40 +0200)]
explicit set button focus respecting the 'dangerous' option
The line:
> Ext.MessageBox.defaultButton = me.dangerous ? 2 : 1;
just set the button which should get triggered on an keyboard "Enter"
if no button is focused currently.
But often the 'Yes' buttons is focused so an enter press would
trigger it, even on a as 'dangerous' marked option.
Fix this, as else a to fast "Enter" press can cause more problems
than needed.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Mon, 12 Jun 2017 08:20:12 +0000 (10:20 +0200)]
buildsys: clean: remove .buildinfo and .changes
Fabian Grünbichler [Mon, 12 Jun 2017 07:34:10 +0000 (09:34 +0200)]
build: whitespace cleanup
Fabian Grünbichler [Mon, 12 Jun 2017 07:27:23 +0000 (09:27 +0200)]
build: fakeroot is default anyway
Fabian Grünbichler [Mon, 12 Jun 2017 07:26:57 +0000 (09:26 +0200)]
build: make control static
Fabian Grünbichler [Mon, 12 Jun 2017 07:26:22 +0000 (09:26 +0200)]
build: cleanup control.in
Dietmar Maurer [Mon, 12 Jun 2017 05:04:51 +0000 (07:04 +0200)]
removed PVE/Replication.pm (moved to pve-guest-common)
Dietmar Maurer [Mon, 12 Jun 2017 04:59:21 +0000 (06:59 +0200)]
use new replication helpers from pve-guest-common
Dietmar Maurer [Fri, 9 Jun 2017 07:45:44 +0000 (09:45 +0200)]
PVE::Replication - remove dependency to PVE::LXC/PVE::QemuServer
So that we can move the whole class to package pve-guest-common.
Dietmar Maurer [Fri, 9 Jun 2017 06:47:49 +0000 (08:47 +0200)]
PVE::Replication - pass guest_class to run_replication
So that we can (re)use methods from PVE::AbstractConfig.
Fabian Grünbichler [Fri, 9 Jun 2017 12:32:36 +0000 (14:32 +0200)]
debian: reformat depends in control
Dominik Csapak [Fri, 9 Jun 2017 07:55:28 +0000 (09:55 +0200)]
change from dpkg-deb to dpkg-buildpackage
for better building pve-manager
this moves the copyright file to debian/
the debian/changelog.Debian to debian/changelog
we do not need the debian/conffiles anymore (gets autogenerated from
files in ./etc/)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 9 Jun 2017 07:55:27 +0000 (09:55 +0200)]
do not let www-data own the static js/html files
this is neither necessary, nor useful
those files are meant to be read only anyway, so there is no gain in
them being owned by www-data
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 9 Jun 2017 08:54:11 +0000 (10:54 +0200)]
make language js files consistent
else every package we build has different orderings for the translated
strings
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 9 Jun 2017 07:55:25 +0000 (09:55 +0200)]
fix wrong variable syntax
{$PACKAGE} expands to '{ACKAGE}', meaning we shipped a dir:
/usr/share/doc/{ACKAGE}/examples
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 9 Jun 2017 07:55:24 +0000 (09:55 +0200)]
add SOURCE_DATE_EPOCH to Makefile
to get consistent timestamps for most files in the package
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Fri, 9 Jun 2017 07:55:57 +0000 (09:55 +0200)]
tests: override GuestHelper's lockdir
Otherwise the user running the tests may either create (and
end up being the ownderof) the system wide
/var/lock/pve-manager/* files, or the tests will fail (or
loop endlessly) if the user doesn't have access to them.
Dietmar Maurer [Fri, 9 Jun 2017 04:12:02 +0000 (06:12 +0200)]
PVE::API2::ReplicationConfig->delete - use raise_param_exc
Wolfgang Link [Thu, 8 Jun 2017 10:01:50 +0000 (12:01 +0200)]
Add force parameter for delete replica job.
This parameter is helpful if an unsolvable situation occurs or the vmconfig was delete manually.
Fabian Grünbichler [Mon, 22 May 2017 11:16:48 +0000 (13:16 +0200)]
fix #1389: vzdump: handle storage failure in new()
otherwise the mail notification is not triggered
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dominik Csapak [Mon, 29 May 2017 09:10:21 +0000 (11:10 +0200)]
show hostpci devices in gui
so one can see which pci devices are assigned to which vm
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 29 May 2017 09:10:20 +0000 (11:10 +0200)]
add pci icon/css class
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 29 May 2017 08:46:34 +0000 (10:46 +0200)]
use usbedit window to add/edit usb devices
the usb device button gets disabled when there are
already 5 usb devices
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 29 May 2017 08:46:33 +0000 (10:46 +0200)]
add usbselector and usb edit window for qemu
the edit window has 3 radiobuttons (spice,device,port)
and a checkbox for usb3 (which gets disabled and checked
if you choose a usb3 device)
also it makes use of the help feature
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 29 May 2017 08:46:32 +0000 (10:46 +0200)]
show usb devices in qemu hardware view
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Mon, 29 May 2017 08:46:31 +0000 (10:46 +0200)]
add css and image for usb devices
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Thu, 18 May 2017 07:42:17 +0000 (09:42 +0200)]
fix #1385: display no rbd user by default
when having an rbd storage with no user, we displayed 'admin' by default,
this patch sets '' and will be overwritten from the backend if a value is set
when creating a rbd storage, the textfield still has 'admin' in
there by default
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Fabian Grünbichler [Mon, 22 May 2017 07:44:18 +0000 (09:44 +0200)]
use physical NIC regexp
because in >= Stretch, most systems don't have ethX devices any more.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 8 Jun 2017 09:40:03 +0000 (11:40 +0200)]
pvesr: prepare_local_job: fixup
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 8 Jun 2017 09:07:35 +0000 (11:07 +0200)]
pvesr: prepare_local_job: use PVE::replication::prepare
to reduce code duplication. this slightly changes behaviour
compared to the previous version:
only disks with the correct prefix are cleaned up, not all
disks with __replication* snapshots.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 8 Jun 2017 08:17:44 +0000 (10:17 +0200)]
Replication::prepare: track cleaned up volumes
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Wolfgang Link [Thu, 8 Jun 2017 08:08:19 +0000 (10:08 +0200)]
Fix: list_images returns now a array of hashes so adopt the code.
Wolfgang Link [Thu, 8 Jun 2017 08:08:18 +0000 (10:08 +0200)]
Permit set parent_snapname if it is not set.
Dietmar Maurer [Thu, 8 Jun 2017 08:01:45 +0000 (10:01 +0200)]
PVE/API2/ReplicationConfig.pm: add job creation checks
Check if the target and guest exists to avoid creation of faulty jobs.
Dietmar Maurer [Thu, 8 Jun 2017 07:42:12 +0000 (09:42 +0200)]
pvesr: add a message that job removal will take some time
Dietmar Maurer [Thu, 8 Jun 2017 07:31:09 +0000 (09:31 +0200)]
PVE::Replication::replicate - Set $running to 0 if undef.
Dietmar Maurer [Thu, 8 Jun 2017 06:52:22 +0000 (08:52 +0200)]
PVE::API2::Tasks - remove dead code
Dietmar Maurer [Thu, 8 Jun 2017 05:36:33 +0000 (07:36 +0200)]
PVE::API2::Tasks - use PVE::Tools::dump_logfile
Dietmar Maurer [Thu, 8 Jun 2017 05:08:33 +0000 (07:08 +0200)]
PVE::API2::Replication: rework replication status API
/nodes/<node>/replication => list status of all jobs
/nodes/<node>/replication/<id>/status => individual job status
/nodes/<node>/replication/<id>/log => job log
Dietmar Maurer [Wed, 7 Jun 2017 12:24:09 +0000 (14:24 +0200)]
replication: add replication log files
Dietmar Maurer [Wed, 7 Jun 2017 07:30:52 +0000 (09:30 +0200)]
replication: improve stale volume detection, allow sync from parent snapshot
We pass a list of storage to scan for stale volumes to prepare_local_job().
So we make sure that we only activate/scan related storages.
Snapshot rollback may remove local replication shapshots. In that case
we still have the $conf->{parent} snapshot on both sides, so we
can use that as base snapshot.
Dietmar Maurer [Wed, 7 Jun 2017 15:20:44 +0000 (17:20 +0200)]
Remove $vmid form ssh prepare and finalize command.
Dominik Csapak [Wed, 7 Jun 2017 14:46:05 +0000 (16:46 +0200)]
mobilegui: fix title with perl template
we forgot to change the title from a perl variable to use the
Perl::Template syntax
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Tue, 6 Jun 2017 07:54:53 +0000 (09:54 +0200)]
replication: save list of used storage IDs
Dietmar Maurer [Tue, 6 Jun 2017 10:43:13 +0000 (12:43 +0200)]
PVE::API2::ReplicationConfig - extract guest ID from job ID
Dietmar Maurer [Tue, 6 Jun 2017 10:02:53 +0000 (12:02 +0200)]
use new PVE::ReplicationState::replication_snapshot_name()
Dietmar Maurer [Tue, 6 Jun 2017 04:49:05 +0000 (06:49 +0200)]
replication: add last_node to replication state
So that we know which node produced the state. This is not always
the local node, because we copy the state on migrate.
Dietmar Maurer [Tue, 6 Jun 2017 04:36:03 +0000 (06:36 +0200)]
PVE::Replication - do not pass time to logfunc
This is simply not neccessary.
Dominik Csapak [Fri, 2 Jun 2017 12:06:28 +0000 (14:06 +0200)]
use correct field for child link
namely id instead of vmid, so that the child links are working in the
api inspector and pvesh
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Fri, 2 Jun 2017 14:22:46 +0000 (16:22 +0200)]
PVE/API2/Replication.pm: change vmid => guest
Dominik Csapak [Fri, 2 Jun 2017 12:06:27 +0000 (14:06 +0200)]
add vmid parameter to replication status
so that one can limit the status list for one vm/ct
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 2 Jun 2017 08:55:18 +0000 (10:55 +0200)]
add defaultButton to loginWindow
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 2 Jun 2017 08:55:17 +0000 (10:55 +0200)]
add defaultButton and focus to snapshot window
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Fri, 2 Jun 2017 08:55:16 +0000 (10:55 +0200)]
add override for correct defaultButton behaviour
we disable the defaultButton behaviour on textarea and aria-multiline
fields, else we cannot input a newline into a textarea on a form with
a defaultButton defined
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dietmar Maurer [Fri, 2 Jun 2017 08:07:33 +0000 (10:07 +0200)]
PVE::Replication - use new PVE::ReplicationState class
Dietmar Maurer [Fri, 2 Jun 2017 04:36:29 +0000 (06:36 +0200)]
PVE::Replication - simplify code
Move all state writes into run_replication()
Emmanuel Kasper [Mon, 29 May 2017 09:55:13 +0000 (11:55 +0200)]
Do not internationalize 'Pools' when used in Ceph Context
This is a Ceph domain term and should not be translated like OSD, ...
Galician had "Virtual Groups" for Pools, which does not apply for
Ceph Context.
Also most languages were using 'Pools' anyway.
Dominik Csapak [Mon, 29 May 2017 08:50:57 +0000 (10:50 +0200)]
remove "read-only" option from container root disk
with root-only enabled, you cannot start the conainer anymore,
so we remove it there entirely
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Thu, 1 Jun 2017 12:37:35 +0000 (14:37 +0200)]
fix #1400: do not use defaultButton in NotesEdit window
with a defaultButton set, we cannot enter a newline into a textarea
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Dominik Csapak [Wed, 24 May 2017 10:30:47 +0000 (12:30 +0200)]
allow width and height parameter for vncshell
so that novnc can request a different screen size
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Thu, 1 Jun 2017 13:26:01 +0000 (15:26 +0200)]
replication: use a dedicated lock file
Otherwise $update_job_state's file_set_contents() call
drops our lock.
Dietmar Maurer [Wed, 31 May 2017 13:29:53 +0000 (15:29 +0200)]
make check: run replication_test6.pl
Dietmar Maurer [Wed, 31 May 2017 13:19:26 +0000 (15:19 +0200)]
PVE::Replication::replicate - call get_ssh_info on demand
Only call get_ssh_info() when needed, and do not pass $migration_network
for a simply remove_job - this produces just overhead and is not required.
If we always call get_ssh_info() we can never delete jobs using non-existing
targets.
Wolfgang Link [Wed, 31 May 2017 12:03:34 +0000 (14:03 +0200)]
Untaint the content of pve-replication-state.json.
JSON::decode will not untaint the raw text, so we get problems with the
last_sync, which we use many times in the code with open3.
Dietmar Maurer [Wed, 31 May 2017 11:54:40 +0000 (13:54 +0200)]
replication - allow removal of jobs with target on local node
Dietmar Maurer [Wed, 31 May 2017 07:38:42 +0000 (09:38 +0200)]
bump version to 5.0-11
Dietmar Maurer [Tue, 30 May 2017 12:40:08 +0000 (14:40 +0200)]
replication_test5.pl: add test for job removal
Dietmar Maurer [Mon, 29 May 2017 06:37:38 +0000 (08:37 +0200)]
PVE::API2::ReplicationConfig - implement delete
We just set the remove_job property in the configuration. Actual removal
is done asynchronous inside replicate().
Dietmar Maurer [Mon, 29 May 2017 05:49:17 +0000 (07:49 +0200)]
PVE::API2Tools::resolve_proxyto - new helper
Call proxyto_callback if that method is defined.
Dietmar Maurer [Wed, 24 May 2017 07:35:01 +0000 (09:35 +0200)]
PVE::Replication - aquire guest_migration_lock during replication
To block guest migration.
Dietmar Maurer [Tue, 23 May 2017 08:31:57 +0000 (10:31 +0200)]
PVE::Replication - implement replicate_volume()
Simply call PVE::Storage::storage_migrate()
Dietmar Maurer [Tue, 23 May 2017 08:31:18 +0000 (10:31 +0200)]
ReplicationTestEnv.pm: avoid warning about undefined value
Dietmar Maurer [Tue, 23 May 2017 06:15:28 +0000 (08:15 +0200)]
bin/test/Makefile: run all replication tests
Dietmar Maurer [Tue, 23 May 2017 05:40:30 +0000 (07:40 +0200)]
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.
Dietmar Maurer [Tue, 23 May 2017 05:37:39 +0000 (07:37 +0200)]
PVE::Replication::remote_finalize_local_job - new helper
Simple wrapper to call "pvesr finalize-local-job" on a remote
cluster node.
Dietmar Maurer [Tue, 23 May 2017 05:33:46 +0000 (07:33 +0200)]
PVE::Replication::remote_prepare_local_job - new helper
Simple wrapper to call "pvesr prepare-local-job" on a remote
cluster node.
Dietmar Maurer [Tue, 23 May 2017 05:27:57 +0000 (07:27 +0200)]
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.
Dietmar Maurer [Mon, 22 May 2017 10:39:05 +0000 (12:39 +0200)]
ReplicationTestEnv.pm: mock get_ssh_info and ssh_info_to_command
Dietmar Maurer [Mon, 22 May 2017 06:26:40 +0000 (08:26 +0200)]
ReplicationTestEnv.pm: mock storage content methods
Dietmar Maurer [Mon, 29 May 2017 08:31:04 +0000 (10:31 +0200)]
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.
Dietmar Maurer [Thu, 18 May 2017 06:11:09 +0000 (08:11 +0200)]
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.
Dietmar Maurer [Thu, 18 May 2017 05:46:50 +0000 (07:46 +0200)]
replication_test4.pl: Test replication job failure
Dietmar Maurer [Thu, 18 May 2017 05:14:42 +0000 (07:14 +0200)]
ReplicationTestEnv.pm: add job tracking log
To generate persistent logs with job state/config changes.
Dietmar Maurer [Thu, 18 May 2017 04:23:15 +0000 (06:23 +0200)]
replication_test3.pl: regression test for replication to same node
Dietmar Maurer [Wed, 17 May 2017 10:28:55 +0000 (12:28 +0200)]
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.
Dietmar Maurer [Mon, 15 May 2017 10:28:33 +0000 (12:28 +0200)]
PVE/Replication.pm: save pid/ptime to running job state
So that we can check which job is running.
Dietmar Maurer [Mon, 15 May 2017 07:43:15 +0000 (09:43 +0200)]
replication_test2.pl: test replication scheduler
Dietmar Maurer [Mon, 15 May 2017 07:07:22 +0000 (09:07 +0200)]
add regression test environment for replication
Dietmar Maurer [Thu, 11 May 2017 07:02:01 +0000 (09:02 +0200)]
pvesr: add pve storage replication tool
Just added code to configure jobs. Replication itself is not
implemented.
Emmanuel Kasper [Thu, 18 May 2017 09:10:52 +0000 (11:10 +0200)]
Fix #1386: track postfix daemon status via postfix@-
Dominik Csapak [Wed, 3 May 2017 15:04:27 +0000 (17:04 +0200)]
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>
Dominik Csapak [Wed, 3 May 2017 15:04:29 +0000 (17:04 +0200)]
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>
Dominik Csapak [Wed, 3 May 2017 15:04:28 +0000 (17:04 +0200)]
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>
Dominik Csapak [Wed, 3 May 2017 15:04:26 +0000 (17:04 +0200)]
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>
Wolfgang Link [Thu, 27 Apr 2017 10:02:36 +0000 (12:02 +0200)]
Make a new systemd target.
This will ensure all storages are up before pveproxy is running.
Fabian Grünbichler [Wed, 3 May 2017 09:37:06 +0000 (11:37 +0200)]
ceph: init: rename disable-cephx to disable_cephx
for consistency
Fabian Grünbichler [Wed, 3 May 2017 08:25:24 +0000 (10:25 +0200)]
ceph: init: add warning to disable-cephx
Alexandre Derumier [Fri, 28 Apr 2017 07:52:59 +0000 (09:52 +0200)]
ceph: init: add optional disable-cephx option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Fri, 28 Apr 2017 07:52:57 +0000 (09:52 +0200)]
ceph: init: remove filestore xattr use omap
it's not used anymore since emperor
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>