]> git.proxmox.com Git - pve-manager.git/log
pve-manager.git
4 years agofollowup: cleanup/refactor mail test
Thomas Lamprecht [Tue, 19 Nov 2019 14:01:12 +0000 (15:01 +0100)]
followup: cleanup/refactor mail test

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoFix #352: Limit the length of backup logs for mails
Dominic Jäger [Tue, 21 May 2019 11:16:13 +0000 (13:16 +0200)]
Fix #352: Limit the length of backup logs for mails

When creating a backup the log part can make the mail too big to be
transferred. To ensure delivery, two measures are taken:
1. Always omit the status lines
2. Omit the whole log part if a mail becomes (too) big

Additionally, add a check for missing log files.

Co-developed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
4 years agoapi: node/config: allow to return only a specific config property
Thomas Lamprecht [Tue, 19 Nov 2019 11:04:52 +0000 (12:04 +0100)]
api: node/config: allow to return only a specific config property

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus/graphite: fix memory leak, avoid cyclic closure reference
Thomas Lamprecht [Tue, 19 Nov 2019 08:11:45 +0000 (09:11 +0100)]
status/graphite: fix memory leak, avoid cyclic closure reference

The data passed to this closure was never free'd, depending on the
count of VM/CTs one could get >1 MB of RSS (!) memory leaked per
statd status cycle update run...

We could also use Scalar::Util's weaken, to weak a copy of this
variable, but as a simple undef works lets do that with a comment..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agofixup: graphite: use correct variable in closure
Thomas Lamprecht [Tue, 19 Nov 2019 08:10:16 +0000 (09:10 +0100)]
fixup: graphite: use correct variable in closure

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoExt. Metrics: module global variable does not help with memory leak
Thomas Lamprecht [Mon, 18 Nov 2019 18:15:13 +0000 (19:15 +0100)]
Ext. Metrics: module global variable does not help with memory leak

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatd: increase RSS difference required for restart
Thomas Lamprecht [Mon, 18 Nov 2019 18:07:19 +0000 (19:07 +0100)]
statd: increase RSS difference required for restart

it seems that we have a reference leak or the like somewhere in the
(graphite?) status plugin, while the recent transaction based update
mechanism made it slightly better, it's still bad with a lot of VMs..

Until we can track that down, or abandon perl for good, avoid to
frequent restarts by allowing statd to grow 15 MB of memory usage
after initial calibration (it's memory usage at the 10th cycle)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatd: report memory usage in KB
Thomas Lamprecht [Mon, 18 Nov 2019 17:15:04 +0000 (18:15 +0100)]
statd: report memory usage in KB

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoext. metric: move to a transaction model
Thomas Lamprecht [Mon, 18 Nov 2019 11:18:59 +0000 (12:18 +0100)]
ext. metric: move to a transaction model

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.0-12
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:42 +0000 (11:28 +0100)]
bump version to 6.0-12

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agod/control: bump versioned b-d on libpve-guest-common-perl
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:41 +0000 (11:28 +0100)]
d/control: bump versioned b-d on libpve-guest-common-perl

otherwise the replication tests fail to load datacenter.cfg

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agod/control: add (build-)depends on libpve-cluster-api-perl
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:40 +0000 (11:28 +0100)]
d/control: add (build-)depends on libpve-cluster-api-perl

it contains PVE::API2::ClusterConfig

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agod/control: add (build-)depends on libpve-cluster-perl
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:39 +0000 (11:28 +0100)]
d/control: add (build-)depends on libpve-cluster-perl

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agotest: also mock cfs_read_file
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:38 +0000 (11:28 +0100)]
test: also mock cfs_read_file

needed for tests to work without a functional running pmxcfs instance.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agopveproxy.service: take over pvecm call from pve-cluster.service
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:37 +0000 (11:28 +0100)]
pveproxy.service: take over pvecm call from pve-cluster.service

to ensure certificate/key is present prior to loading them.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agouse PVE::RRD for RRD data
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:36 +0000 (11:28 +0100)]
use PVE::RRD for RRD data

refactored from PVE::Cluster. same code, same semantics, different file.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agotest: mock PVE::SSHInfo module
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:35 +0000 (11:28 +0100)]
test: mock PVE::SSHInfo module

since it is now used for getting a cluster node's migration IP address.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agouse PVE::DataCenterConfig
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:34 +0000 (11:28 +0100)]
use PVE::DataCenterConfig

to make sure that the corresponding cfs_read_file works() works.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agotakeover CertCache from pve-cluster
Fabian Grünbichler [Mon, 11 Nov 2019 10:28:33 +0000 (11:28 +0100)]
takeover CertCache from pve-cluster

same code, same semantics, different file/module

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agomove common metric server management part to own module
Thomas Lamprecht [Sat, 16 Nov 2019 15:17:07 +0000 (16:17 +0100)]
move common metric server management part to own module

For now it only handles the plugin registration and the two recently
integrated helpers.
But, this is a prepartation to move the external metrics server
update mechanic from a stateless always-newly-connect-send-disconnect
to a statefull transaction based mechanis; see later patches

keep the PVE::Status::Plugin use in pvestatd, as we read the cfs
hosted status.cfg there, and the parser is defined by the common
status plugin base module.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomakefile: sort perlsources module list
Thomas Lamprecht [Sat, 16 Nov 2019 15:10:24 +0000 (16:10 +0100)]
makefile: sort perlsources module list

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: ceph/Services: do some housekeeping
Thomas Lamprecht [Sat, 16 Nov 2019 13:31:31 +0000 (14:31 +0100)]
ui: ceph/Services: do some housekeeping

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.0-12
Thomas Lamprecht [Fri, 15 Nov 2019 18:04:53 +0000 (19:04 +0100)]
bump version to 6.0-12

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoapi: ceph/metadata: add structured node versions
Thomas Lamprecht [Fri, 15 Nov 2019 16:24:45 +0000 (17:24 +0100)]
api: ceph/metadata: add structured node versions

include the version as string and as parts, as we do the split
already. Also include the build commit, so if we re-release a ceph
version, we can differ here too.

Use node as key, to make the new entry a bit more general, could be
easily expanded with other infos, if required.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoapi: ceph version: actually get full version
Thomas Lamprecht [Fri, 15 Nov 2019 13:33:56 +0000 (14:33 +0100)]
api: ceph version: actually get full version

add and change the return signature for the wantarray case, which can
safely done as this is only used once (statd), and there only the
first elemen, the full version string, is used - so no breakage
potential there

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatd: adapt ceph update error message
Thomas Lamprecht [Fri, 15 Nov 2019 10:33:42 +0000 (11:33 +0100)]
statd: adapt ceph update error message

"getting ceph services" sound a bit vague, like the download of those
failed, or the like..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatd: refactor out updating ceph metadata
Thomas Lamprecht [Fri, 15 Nov 2019 10:30:10 +0000 (11:30 +0100)]
statd: refactor out updating ceph metadata

makes no sense to do half in line and half in a extra update_method

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus: cleanup config parser regsistration
Thomas Lamprecht [Fri, 15 Nov 2019 09:49:05 +0000 (10:49 +0100)]
status: cleanup config parser regsistration

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus plugins: add _connect to plugin method interface
Thomas Lamprecht [Thu, 14 Nov 2019 18:26:23 +0000 (19:26 +0100)]
status plugins: add _connect to plugin method interface

in preparation of doing real transactions, with one batch connect +
send + disconnect, and not hundreds of those per update cycle..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus plugins: add update_all and foreach_plug helper
Thomas Lamprecht [Thu, 14 Nov 2019 18:23:55 +0000 (19:23 +0100)]
status plugins: add update_all and foreach_plug helper

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoremove some useless empty lines
Thomas Lamprecht [Wed, 13 Nov 2019 16:05:44 +0000 (17:05 +0100)]
remove some useless empty lines

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatd: refactor update_node_status
Thomas Lamprecht [Wed, 13 Nov 2019 07:42:00 +0000 (08:42 +0100)]
statd: refactor update_node_status

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatd: cleanup update_node_status
Thomas Lamprecht [Wed, 13 Nov 2019 07:40:13 +0000 (08:40 +0100)]
statd: cleanup update_node_status

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: vm opts: add hint for spice foldersharing
Aaron Lauterer [Wed, 6 Nov 2019 12:17:09 +0000 (13:17 +0100)]
ui: vm opts: add hint for spice foldersharing

Spice foldersharing needs the webdavd daemon installed inside the guest.
This patch adds a hint to remind the user to install it in the VM.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
4 years agogui: fix onlineHelp for join window
Stefan Reiter [Mon, 11 Nov 2019 10:10:50 +0000 (11:10 +0100)]
gui: fix onlineHelp for join window

We have an entire chapter written about this, why not link it too.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
4 years agostatus/graphite: refactor write_graphite to send all at once
Thomas Lamprecht [Thu, 7 Nov 2019 17:59:03 +0000 (18:59 +0100)]
status/graphite: refactor write_graphite to send all at once

Instead of doing multiple sends, for each status metric line one,
assemble it all in a string and send it out in a single go.
Per VM/CT/Node we had >10 lines to send, so this is quite the
reduction. But, also note that thanks to Nagler's delay algorithm
this may not had a big effect for TCP, as it buffered those small
writes anyhow.
For UDP it can reduce the packet count on the line dramatically,
though.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus/graphite: just use setsockopt to set timeouts
Thomas Lamprecht [Thu, 7 Nov 2019 15:27:34 +0000 (16:27 +0100)]
status/graphite: just use setsockopt to set timeouts

after rethinking this it felt weird, sockets already can to this
themself, so I checked out the IO::Socket::Timeout module, and yeah,
it's just a OOP wrapper for this, hiding the "scary" struct pack.

So instead of adding that as dependency lets do it ourself.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus/graphite: record missing module-use
Thomas Lamprecht [Thu, 7 Nov 2019 15:26:54 +0000 (16:26 +0100)]
status/graphite: record missing module-use

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agogui: lxc/MPEdit: save and use the mountpoint propertyString
Dominik Csapak [Thu, 31 Oct 2019 08:33:44 +0000 (09:33 +0100)]
gui: lxc/MPEdit: save and use the mountpoint propertyString

this way, backend only settings do not get lost (like 'size', 'shared')
when editing in the gui

this was most obvious with the new pending options, as every time
we edited a mp, we lost its size, and even setting the options
to exactly the same as the originals, we still had the mp as
'pending', but without the size

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agogui: qemu/HDEdit: use propertyStringSet helper
Dominik Csapak [Thu, 31 Oct 2019 08:33:43 +0000 (09:33 +0100)]
gui: qemu/HDEdit: use propertyStringSet helper

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agogui: Utils: add propertyString helper
Dominik Csapak [Thu, 31 Oct 2019 08:33:42 +0000 (09:33 +0100)]
gui: Utils: add propertyString helper

this helper conditionally sets the given value to the given property
on the given object, optionally a different value

this is useful for our MP/HD Edit panels, where we set the options
of the drive/mp this way for every gui option we have

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agogui: lxc/Resources: improve reload behaviour
Dominik Csapak [Thu, 31 Oct 2019 08:33:41 +0000 (09:33 +0100)]
gui: lxc/Resources: improve reload behaviour

reload when a new disk was added, and set the button status
on a reload

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agogui: qemu/HardwareView: use builtin reload function
Dominik Csapak [Thu, 31 Oct 2019 08:33:40 +0000 (09:33 +0100)]
gui: qemu/HardwareView: use builtin reload function

ObjectGrid (an ancestor of PendingObjectGrid) does already have
a 'reload' function which does exactly the same, so get rid
of the local one here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agostatus/graphite: reduce default timeout to 1 second
Thomas Lamprecht [Wed, 6 Nov 2019 20:05:58 +0000 (21:05 +0100)]
status/graphite: reduce default timeout to 1 second

This is for TCP only, and TCP needs roughly 1.5 time of the Round
Trip Time for connection setup, So, with 1 second timeout we're still
good for connections with 660 ms latency in-between.

The assumption is that most of the time the status server is
relatively near (same datacenter, or region), and connections to it
are datacenter grade, and not like a spotty GPRS modem.
So, reduce this timeout to ensure that we do not block to long.

If anybody needs higher timeouts they can just change the default
anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agostatus/graphite: refactor default assignments, no ternary
Thomas Lamprecht [Wed, 6 Nov 2019 20:02:59 +0000 (21:02 +0100)]
status/graphite: refactor default assignments, no ternary

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd graphite tcp support
Martin Verges [Tue, 5 Nov 2019 21:34:07 +0000 (22:34 +0100)]
add graphite tcp support

This change allows sending statistics to graphite over TCP.

So far only UDP is possible, which is not available in some environments, like behind a loadbalancer.

Configuration example:
~ $ cat /etc/pve/status.cfg

graphite:
    server 10.20.30.40
    port 2003
    path proxmox
    proto tcp
    timeout 3

Signed-off-by: Martin Verges <martin.verges@croit.io>
4 years agoui: dc/backup: add separators between panel buttons
Thomas Lamprecht [Wed, 6 Nov 2019 18:56:33 +0000 (19:56 +0100)]
ui: dc/backup: add separators between panel buttons

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: dc/backup: refactor and fix run-job-now
Thomas Lamprecht [Wed, 6 Nov 2019 15:02:43 +0000 (16:02 +0100)]
ui: dc/backup: refactor and fix run-job-now

rather than reducing the total job count during execution (and that
not for all cases) do some checks first and pass only the known good
nodes to the for-each-node-POST-request loop, so we can omit all
checks there.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: fix backup "Run now" with specific node selected
Stefan Reiter [Mon, 4 Nov 2019 14:51:56 +0000 (15:51 +0100)]
ui: fix backup "Run now" with specific node selected

Previous behaviour was bugged and displayed "Node is offline" for all
non-selected nodes (only 1 can be selected at a time).

Also fix progress window to show correct number of nodes in backup job.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
4 years agoupdate aplinfo
Thomas Lamprecht [Tue, 5 Nov 2019 06:26:28 +0000 (07:26 +0100)]
update aplinfo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agopveversion: track libspice-server1 (again)
Thomas Lamprecht [Wed, 30 Oct 2019 17:22:26 +0000 (18:22 +0100)]
pveversion: track libspice-server1 (again)

Removed in commit fcb802216996b8760ce56d0946b8cfcd75d6d97d as we
wanted to re-use Debian Busters upstream version, but we re-uploaded
our own again. And besides that, this version would be still
interesting if it was not uploaded by us..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.0-11
Thomas Lamprecht [Wed, 30 Oct 2019 17:02:50 +0000 (18:02 +0100)]
bump version to 6.0-11

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: pending revert: detect parent pending grid automatically
Thomas Lamprecht [Wed, 30 Oct 2019 14:49:15 +0000 (15:49 +0100)]
ui: pending revert: detect parent pending grid automatically

but cache it to avoid frequent, potential costly, up() calls

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: pending revert: rename baseurl config to apiurl
Thomas Lamprecht [Wed, 30 Oct 2019 14:48:31 +0000 (15:48 +0100)]
ui: pending revert: rename baseurl config to apiurl

makes more sense and avoids confusion

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: factor out pending changes revert button
Thomas Lamprecht [Wed, 30 Oct 2019 10:19:35 +0000 (11:19 +0100)]
ui: factor out pending changes revert button

makes no sense to have the, more or less, exact same 25 line method 5
times..

could be moved to widget TK, but that's for another time.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: followup: minor code cleanup
Thomas Lamprecht [Wed, 30 Oct 2019 10:15:54 +0000 (11:15 +0100)]
ui: followup: minor code cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agogui: add revert button for lxc pending changes
Oguz Bektas [Tue, 29 Oct 2019 14:38:40 +0000 (15:38 +0100)]
gui: add revert button for lxc pending changes

adds the pending button for Resources, Options and DNS screens.

Co-developed-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
4 years agoui: qemu: update grid button status with events from correct store
Oguz Bektas [Tue, 29 Oct 2019 14:50:17 +0000 (15:50 +0100)]
ui: qemu: update grid button status with events from correct store

as we noticed at the container side, we should use diffStore in order
to update the button status without delay.

Effectively alls ObjectGrids, and thus their descendants,
PendingObjectGrids use a DiffStore, where we have two effective
stores, a remote store and a local, in-memory, proxy store.

Co-developed-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoaplinfo: see trusted keys as build product, always assembly
Thomas Lamprecht [Wed, 16 Oct 2019 09:05:36 +0000 (11:05 +0200)]
aplinfo: see trusted keys as build product, always assembly

Don't track the binary trustedkeys.gpg but see it just as normal
build product with the armored keys as source.

This ensures we always ship those from TRUSTED_KEYS variable, not
more, not less.

Instead of the "gpg import+export in temporary home dir" just
de-armor and concatenate them our self, that's what happens anyway.

This could be even simplified by just using base64 -d on the pubkeys,
after the non base64 stuff was trimmed, that would omit our need for
gpg here completely.

Thanks to Wolfgang B. for giving the idea to just do simple stuff :)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agogui: remove chrome/extjs workaround
Dominik Csapak [Thu, 3 Oct 2019 11:50:14 +0000 (13:50 +0200)]
gui: remove chrome/extjs workaround

it seems that this is not needed anymore, at least i cannot
see any difference with/without it here (chromium 76)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: TFA: default to a 160 bit secret
Wolfgang Bumiller [Mon, 28 Oct 2019 11:20:43 +0000 (12:20 +0100)]
ui: TFA: default to a 160 bit secret

This is base32, so we use only 5 bit per byte to make things simple,
so 32 byte * 5 bit/byte = 160 bit of entropy

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agoui: TFAEdit: use 'v2' secret format
Wolfgang Bumiller [Mon, 28 Oct 2019 11:20:41 +0000 (12:20 +0100)]
ui: TFAEdit: use 'v2' secret format

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
4 years agogui: reset cdimage selector on change
Tim Marx [Fri, 25 Oct 2019 10:47:33 +0000 (12:47 +0200)]
gui: reset cdimage selector on change

to improve UX, disabled child fields shouldn't show validation errors
when the parent widget (radiofield) isn't selected anymore.

Signed-off-by: Tim Marx <t.marx@proxmox.com>
4 years agofollowup: use boxLabel to avoid big labelWidths
Thomas Lamprecht [Fri, 25 Oct 2019 15:38:57 +0000 (17:38 +0200)]
followup: use boxLabel to avoid big labelWidths

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agofix #1291: add purge checkbox to VM/CT destroy dialog
Christian Ebner [Tue, 22 Oct 2019 14:40:37 +0000 (16:40 +0200)]
fix #1291: add purge checkbox to VM/CT destroy dialog

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
4 years agoadd versioned postinst run of newaliases
Stoiko Ivanov [Wed, 23 Oct 2019 16:10:28 +0000 (18:10 +0200)]
add versioned postinst run of newaliases

When installing from ISO '/etc/aliases' gets written correctly, however
postfix needs '/etc/aliases.db' (generated by running newaliases)
in order to work.

added to the postinst script to fix the issue for users having installed from
the ISO before this fix.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
4 years agoui: window settings: remove no-op onShow overwrite
Thomas Lamprecht [Wed, 23 Oct 2019 16:20:56 +0000 (18:20 +0200)]
ui: window settings: remove no-op onShow overwrite

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: window settings: use column layout
Thomas Lamprecht [Wed, 23 Oct 2019 16:18:08 +0000 (18:18 +0200)]
ui: window settings: use column layout

This change shouldn't be noticeable, main advantage is that we can
add a top or botton spanning row for hints or a save/restore feature
(in the future)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui settings: fix noVNC scaling mode radiogroup setValue
Thomas Lamprecht [Mon, 21 Oct 2019 13:20:11 +0000 (15:20 +0200)]
ui settings: fix noVNC scaling mode radiogroup setValue

radio groups set and get Value helper are objects, as they are
expected to be key, value, where key is a field-name of the radio
group and values is the inputValue from the radiobutton to be set.

So ensure we extract only the value in the change event handler, as
we do not want to save the whole object. But on restoring (setValue)
we need to wrap it as object again, else radiogroup won't know what
field we want to set..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: settings: remove ":" from some gettext labels
Thomas Lamprecht [Mon, 21 Oct 2019 09:31:06 +0000 (11:31 +0200)]
ui: settings: remove ":" from some gettext labels

to make those easier to be re-used

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.0-10
Thomas Lamprecht [Fri, 18 Oct 2019 20:30:30 +0000 (22:30 +0200)]
bump version to 6.0-10

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoedit/show lxc pending changes in gui
Oguz Bektas [Thu, 5 Sep 2019 14:46:57 +0000 (16:46 +0200)]
edit/show lxc pending changes in gui

uses the new /pending and the adapted /config API endpoints
to get pending changes and show them in a PendingObjectGrid

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
4 years agofix #2364: allow offline migration with local cloudinit disk
Mira Limbeck [Mon, 7 Oct 2019 10:07:47 +0000 (12:07 +0200)]
fix #2364: allow offline migration with local cloudinit disk

As the cloudinit disk itself does not get copied on an offline
migration, just the config, there's no conflict. Ignore the local
cloudinit disk on offline migration. Also adds a useful message when
trying to live migrate with a local cloudinit disk.

Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
4 years agod/control: bump doc-gen and guest-common deps for VZDump refactoring
Thomas Lamprecht [Fri, 18 Oct 2019 08:58:44 +0000 (10:58 +0200)]
d/control: bump doc-gen and guest-common deps for VZDump refactoring

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agovzdump: move code needed for cfs register of vzdump.cron to guest-common
Christian Ebner [Tue, 15 Oct 2019 11:00:22 +0000 (13:00 +0200)]
vzdump: move code needed for cfs register of vzdump.cron to guest-common

This moves the cfs register code for vzdump.cron to the
pve-guest-common package. Therefore, it relies on the corresponding
patches in pve-guest-common and pve-docs as build dependencies.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoupdated shipped aplinfo index
Thomas Lamprecht [Thu, 17 Oct 2019 16:29:44 +0000 (18:29 +0200)]
updated shipped aplinfo index

for Ubuntu 19.10, CentOS 8 and 6 (update), and deindexing of Alpine
Linux 3.8

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoapi: subscription: use rpcenv for permission check
Fabian Grünbichler [Thu, 17 Oct 2019 13:14:14 +0000 (15:14 +0200)]
api: subscription: use rpcenv for permission check

commit 2d2ed7ab5305eb4b5875e7d0888011edc4ad32f7 had a valid cause but
unnecessarily used the static PVE::AccessControl::check_permissions.
As the RPCEnvironment based check method has a "$noerr" parameter and
we already have a rpcenv instance readily available, we can use that
one just fine.

this is the last caller of PVE::AccessControl::check_permissions(),
which is the last caller of PVE::AccessControl::permission(). both can
thus be dropped altogether.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.0-9
Thomas Lamprecht [Wed, 16 Oct 2019 06:26:04 +0000 (08:26 +0200)]
bump version to 6.0-9

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoupdate trustedkeys
Thomas Lamprecht [Wed, 16 Oct 2019 05:54:19 +0000 (07:54 +0200)]
update trustedkeys

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: migrate: add checkbox to enable offline migration with local resources
Tim Marx [Mon, 14 Oct 2019 09:58:20 +0000 (11:58 +0200)]
ui: migrate: add checkbox to enable offline migration with local resources

Added to make use of [0] and because it does make sense for non HA vm's
as well, in accordance with #2241.

[0] pve-ha-manager: 6e8b0c225405da9472f56fe5c94c94b204259caa
Signed-off-by: Tim Marx <t.marx@proxmox.com>
4 years agogui: qemu: allow move disk for EFI Disk again
Dominik Csapak [Fri, 11 Oct 2019 10:09:45 +0000 (12:09 +0200)]
gui: qemu: allow move disk for EFI Disk again

with commit 0ea3b8499bf289d20edf92532feef59145a4743e we changed how
we define isUsedDisk, which was true for efidisks before, but not
after

use the existing 'isEfi' varable to include them for the move_btn
(but not the resize_btn)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: vm opts: clarify QGA option
Thomas Lamprecht [Thu, 10 Oct 2019 09:53:36 +0000 (11:53 +0200)]
ui: vm opts: clarify QGA option

To make it more clear that PVE does not somehow magically injects a
QHA into the VM, but that this can be set if one has installed the
QGA in the VM themself.

So slightly adapt the label by prepending "Use" and adding a hint for
further details.

Also ensure we call it the real name everywhere, i.e., "QEMU Guest
Agent", this makes it a bit more consistent and easier to find
information for users.

Suggested-by: Aaron Lauterer <t.lamprecht@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: refactor pveQemuBiosEdit widget
Thomas Lamprecht [Thu, 10 Oct 2019 15:23:28 +0000 (17:23 +0200)]
ui: refactor pveQemuBiosEdit widget

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agochange .pve-hint to .pmx-hint css-class
Stoiko Ivanov [Mon, 7 Oct 2019 19:37:34 +0000 (21:37 +0200)]
change .pve-hint to .pmx-hint css-class

With introducing pmx-hint to pmg as well, by adding a 'pmx-hint' css-class
to proxmox-widget-toolkit, it makes sense to use the definition everywhere.
this patch drops the .pve-hint class from pve's css and replaces all occurences
in the GUI-source.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
4 years agoui: vm/qga selector: convert to schematic style
Thomas Lamprecht [Tue, 8 Oct 2019 12:41:05 +0000 (14:41 +0200)]
ui: vm/qga selector: convert to schematic style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: vm/options: use 'none' if no spice enhancement is set
Thomas Lamprecht [Mon, 7 Oct 2019 14:21:44 +0000 (16:21 +0200)]
ui: vm/options: use 'none' if no spice enhancement is set

to make it more clear that this is not a single option which can be
disabled or enabled, but that it consists of multiple options

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: vm-options: add spice enhancements
Aaron Lauterer [Mon, 7 Oct 2019 13:23:52 +0000 (15:23 +0200)]
ui: vm-options: add spice enhancements

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
4 years agoui: add spice enhancements form component
Aaron Lauterer [Mon, 7 Oct 2019 13:23:51 +0000 (15:23 +0200)]
ui: add spice enhancements form component

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
4 years agobump version to 6.0-8
Thomas Lamprecht [Fri, 4 Oct 2019 14:42:00 +0000 (16:42 +0200)]
bump version to 6.0-8

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: make parsePropertyString less picky
Thomas Lamprecht [Fri, 4 Oct 2019 14:07:49 +0000 (16:07 +0200)]
ui: make parsePropertyString less picky

simply return a empty object for cases we would get an exception
anyway, this is not wrong and allows easier usage for cases where
it's not sure if the value is set or not.

We could still do a Ext.isDebugEnabled() check and then throw up, but
this really should not matter much and I do not like if my debug mode
breaks and the non-debug not..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agofix #2389: ceph wizard showing network of target node
Mira Limbeck [Fri, 4 Oct 2019 09:29:58 +0000 (11:29 +0200)]
fix #2389: ceph wizard showing network of target node

Before this patch the wizard shows the available networks for the node
one is connected to, not the actual target node where ceph is
configured. This patch changes this to access the network information of
the target node instead of the local one.
It could be that not every node in the cluster is part of the ceph
cluster (and the same network) which makes this useful.

Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
4 years agoui: settings/xterm.js: add margin between reset/save button
Thomas Lamprecht [Fri, 4 Oct 2019 12:40:24 +0000 (14:40 +0200)]
ui: settings/xterm.js: add margin between reset/save button

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: labelWidth gets `px` suffixed so `auto` won't work
Thomas Lamprecht [Fri, 4 Oct 2019 12:38:31 +0000 (14:38 +0200)]
ui: labelWidth gets `px` suffixed so `auto` won't work

This is a common mistake with widths in ExtJS, most of them have the
'px' unit implicit, so using things like 'auto' or '100%' does not
works with them.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoHarmonize reset buttons in "My Settings"
Dominic Jäger [Thu, 3 Oct 2019 09:58:38 +0000 (11:58 +0200)]
Harmonize reset buttons in "My Settings"

- Rename both buttons to a single word as it is clear where they belong
  to. Use "Reset" instead of "Clear" as you can rather "Reset a saved
  user name" than "Clear a layout".
- Use container instead of panels as they are simpler (e.g. no "border:
  false" necessary) and sufficient.
- Align the buttons at the right for visual appeal.
- Use title case for the user name label for consistency.

Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
4 years agoui: cpuselector: use QEMU and Host as vendors instead of Other
Thomas Lamprecht [Wed, 2 Oct 2019 14:17:00 +0000 (16:17 +0200)]
ui: cpuselector: use QEMU and Host as vendors instead of Other

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoMake CPU Model Selector a searchable grid view
Stefan Reiter [Tue, 10 Sep 2019 17:11:44 +0000 (19:11 +0200)]
Make CPU Model Selector a searchable grid view

Uses a ComboGrid with search feature and a column for vendor. Can be
sorted by both columns.

Default sort is as given in this file, I tried to align it as
* AMD
* Intel
* Other
alphabetically and in QEMU order (as before, seems to be release date?)
within those "groups".

Doesn't work with value set in widget definition (would need to be
preferredValue), but we always call setValue() anyway (and if we don't,
value will be '', aka the default, which is correct too), so just remove
that from ProcessorEdit.js.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: openVNCViewer: mobile has no Ext.state.Manager
Thomas Lamprecht [Tue, 1 Oct 2019 12:58:54 +0000 (14:58 +0200)]
ui: openVNCViewer: mobile has no Ext.state.Manager

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomobile: implement login with OTP based TFA enabled
Thomas Lamprecht [Tue, 1 Oct 2019 11:30:06 +0000 (13:30 +0200)]
mobile: implement login with OTP based TFA enabled

roughly copied over from the full-fledged manager UI, but enough
differences between manager <-> mobile and ExtJS <-> Sencha Touch to
just adapt it here instead of having a force-shared implementation
with lots of corner case checks and even more callback methods..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomobile: workspace: reuse Proxmox.Utils.setAuthData
Thomas Lamprecht [Tue, 1 Oct 2019 11:29:03 +0000 (13:29 +0200)]
mobile: workspace: reuse Proxmox.Utils.setAuthData

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomobile: datacenter: fix version
Thomas Lamprecht [Tue, 1 Oct 2019 12:42:20 +0000 (14:42 +0200)]
mobile: datacenter: fix version

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>