Commit Graph

6150 Commits

Author SHA1 Message Date
Thomas Lamprecht
ec23a5cb32 ui: calendar event: add once daily example and clarify workday one
Using 00:00 with relying on the implied default is sub optimal as its
a bit of a magic example that new users may not understand as easily.
So spell it out explicitly, even if there'd be a shorter version
possible.

We also had some request for the once-daily every day, and its a
sensible example to have in general, could help getting the
difference between an hour list and a single one.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-07 18:51:32 +01:00
Thomas Lamprecht
1ec18d40af ui: upload/download image: trim checksum value
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-03 11:09:51 +01:00
Thomas Lamprecht
e4c36ea34f jobs: limit ID to maximal 64 characters
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-03 10:01:17 +01:00
Dominik Csapak
4ad65791fc fix #3689: add gridhandle to firewall rules to indicate drag/drop
dragHandle was copied from the BootOrderEdit.
Also increases the width by 23px to make space for it.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-12-02 19:16:35 +01:00
Oguz Bektas
0ffa230e17 lxc: add lazytime mount option
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2021-12-01 16:28:21 +01:00
Thomas Lamprecht
1e80487d9e bump version to 7.1-7
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-24 18:32:55 +01:00
Thomas Lamprecht
f180edaae1 d/control: bump http-server and mini-journalreader dependencies
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-24 18:21:35 +01:00
Dominik Csapak
68df949690 api: journal: stream the journal data to the client
instead of accumulating the whole output of 'mini-journalreader' in
the api call (this can be quite big), use the download mechanic of the
http-server to stream the output to the client.

we lose some error handling possibilities, but we do not have
to allocate anything here, and since perl does not free memory after
allocating[0] this is our desired behaviour.

to keep api compatiblitiy, we need to give the journalreader the '-j'
flag to let it output json.

also tell the http server that the encoding is gzip and pipe
the output through it.

0: https://perldoc.perl.org/perlfaq3#How-can-I-free-an-array-or-hash-so-my-program-shrinks?

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-24 18:19:16 +01:00
Thomas Lamprecht
a6aa09fdd1 d/changelog: fix typos/grammar
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-23 09:01:15 +01:00
Thomas Lamprecht
7de8b7301c pvescheduler: use private sub instead of code-ref
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-23 08:59:49 +01:00
Thomas Lamprecht
9c1943935c pvescheduler: fix potential stall on full shutdown
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-23 08:59:18 +01:00
Thomas Lamprecht
8f3b5bbb91 bump version to 7.1-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-22 20:32:25 +01:00
Thomas Lamprecht
d4eb0c1993 pvescheduler: record some todos and small cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-22 20:25:34 +01:00
Thomas Lamprecht
427a5cb429 pvescheduler: make jobs tracking more flexible, rework stop
Avoid hard-coding the current implication of the replication stack to
not get started again until the old worker is done..

We still apply the same check, but changing that to let the jobs have
control is rather easy now.

Also rework the stop logic, send terminate to _all_ workers and make
the timeout a actual shared one (not first gets all, remaining get
kill) and send a kill to the stuck, leftover ones in one go at the
end, including some logging so that the admin can actually know about
this non-ideal situation.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-22 20:15:30 +01:00
Thomas Lamprecht
7d546fb5fd pvescheduler: do not delay restart artifically
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-22 20:14:40 +01:00
Dominik Csapak
983ad9b91b pvescheduler: implement graceful reloading
utilize PVE::Daemons 'hup' functionality to reload gracefully.

Leaves the children running (if any) and give them to the new instance
via ENV variables. After loading, check if they are still around

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-22 17:19:12 +01:00
Dominik Csapak
4af87395e9 pvescheduler: reworking child pid tracking
previously, systemd timers were responsible for running replication jobs.
those timers would not restart if the previous one is still running.

though trying again while it is running does no harm really, it spams
the log with errors about not being able to acquire the correct lock

to fix this, we rework the handling of child processes such that we only
start one per loop if there is currently none running. for that,
introduce the types of forks we do and allow one child process per type
(for now, we have 'jobs' and 'replication' as types)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-22 17:19:12 +01:00
Dominik Csapak
b8981dbd60 pvescheduler: catch errors in forked childs
if '$sub' dies, the error handler of PVE::Daemon triggers, which
initiates a shutdown of the child, resulting in confusing error logs
(e.g. 'got shutdown request, signal running jobs to stop')

instead, run it under 'eval' and print the error to the sylog instead

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-22 17:19:12 +01:00
Thomas Lamprecht
c24be90e01 ui: dc/openID realm: allow to edit acr values
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-19 07:30:38 +01:00
Thomas Lamprecht
381bc55b51 ui: dc/openID realm: allow to edit prompt
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-19 07:30:30 +01:00
Thomas Lamprecht
a72024ab47 ui: dc/openID realm: allow to edit scopes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-19 07:30:14 +01:00
Thomas Lamprecht
41a58b353d ui: openID: make username-claim field editable for arbitrary values
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-19 07:04:38 +01:00
Thomas Lamprecht
5cc0c3a008 api: backup: code reduction
had it lying around and did not felt condensed/code-golfed to me,
rather a bit more expressive (surely biased though)..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-17 15:57:55 +01:00
Thomas Lamprecht
0652096e2f bump version to 7.1-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-17 15:37:18 +01:00
Thomas Lamprecht
de92b4d783 api: backup: add comment regarding normalizing DOW list
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-17 15:36:06 +01:00
Dominik Csapak
307b2608a5 api: backup: normalize 'dow' format when converting
the old web ui sends the days as seperate parameters, which will
be concatenated by a null-byte in the api, causing it to land it this
way in the jobs.cfg

to fix this, split+join the list to get a well-formed dow list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-17 15:22:45 +01:00
Fabian Grünbichler
1c87d3447c fix use statement
else this happens:

"Use of inherited AUTOLOAD for non-method PVE::API2::Backup::uuid() is
no longer allowed at /usr/share/perl5/PVE/API2/Backup.pm line 198.
(500)"

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-11-17 15:07:12 +01:00
Dominik Csapak
ca62f164cd api: backup: correclty use uuid package
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-17 15:07:12 +01:00
Thomas Lamprecht
780fb33927 bump version to 7.1-4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-16 14:22:01 +01:00
Thomas Lamprecht
b48c66655c ui: qemu: disk edit: drop label widths from advanced columns
this is a historical left over from the time when the bandwidth
limits weren't in their own, separate tab, as there we got quite
long labels and we synced the width up for the remaining fields to
avoid that it looks to much off.

Luckily not required anymore, so just drop it for non BW fields.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-16 14:19:00 +01:00
Fabian Ebner
2ee96d1c40 ui: ceph: osd: handle edge case with dead node
If there is a left-over entry for a dead node in the ceph osd tree
the panel wouldn't show and produce an
    Uncaught TypeError: data.versions is undefined
because of an access
    node.version = data.versions[node.name];
further below (not visible in the patch itself).

AFAICT, the same issue would also happen when something went wrong
with getting the broadcasted ceph-versions, or when a node is part
of Ceph, but not PVE.

Handle the situation gracefully by always initializing data.versions.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-11-16 14:11:45 +01:00
Dominik Csapak
f68d8b2c54 ui: qemu/HDEdit: add 'aio' advanced option
so that users can change it more easily if necessary

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-16 14:05:06 +01:00
Thomas Lamprecht
2b28954745 ui: backup views: disable remove button on protected backups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-16 13:57:22 +01:00
Thomas Lamprecht
528c24b569 ui: make protected column header use the icon only
to avoid using to much space, as the icon appears on hitting "change
protection" and the tooltip is set to "Protected" it should be still
quite clear.

Further UX improvement can be made by adding a context menu with can
use words for all actions

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-16 13:57:03 +01:00
Dominik Csapak
bc54c47377 ui: render 'protected' column as icon and enable sorting
instead of 'Yes' and 'No', render the same icon as in pbs for protected
backups, and leave the column empty otherwise

this makes the difference much more visible and is more consistent with
how we present that flag in pbs

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-16 13:57:03 +01:00
Thomas Lamprecht
9bfa063e0f ui: grid/backup: refactor to more modern code-style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-16 13:57:02 +01:00
Thomas Lamprecht
24f25f0eda update shipped aplinfo index
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-16 11:13:18 +01:00
Thomas Lamprecht
7bb23a7e8c bump version to 7.1-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 17:32:36 +01:00
Thomas Lamprecht
532c6b1d24 bump version to 7.1-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 17:32:21 +01:00
Thomas Lamprecht
d9d962999b ui: qemu: fix enabling SSD-emulation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 17:32:21 +01:00
Thomas Lamprecht
2b42965020 api: apt/versions: track swtpm
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 16:35:08 +01:00
Dominik Csapak
5964deeae3 api: metrics: use complete config for testing the connection
not only the given parameters, e.g. at the moment, the gui will
never send a 'verify-certificate' parameter, even if set in the config

by using the complete resulting config, we test the actual settings.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-11-15 16:17:51 +01:00
Thomas Lamprecht
731c3253ec ui: qemu/HD edit: more modern assembly of bandwidth values
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 16:16:40 +01:00
Thomas Lamprecht
727673eb4f jobs: code/style cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 16:12:42 +01:00
Thomas Lamprecht
e4d8437819 ui: qemu: disk edit: expose read-only flag as advanced option
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 11:17:11 +01:00
Thomas Lamprecht
3f543d7ff7 ui: qemu: disk edit: refactor to more declarative style using bindings
would technically require a versioned dependency bump to widget
toolkit as the `clearOnDisable` flag is new in 3.4-2, but this is
really only for slight UX improvement, so avoid the hard dependency
bump..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-15 11:16:04 +01:00
Thomas Lamprecht
1e3033bc8f bump version to 7.1-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-12 18:49:40 +01:00
Aaron Lauterer
7b14d77a7a ui: qm: disk selection: add optional selection of unused
With this optional setting, it is possible to allow the user to also
select 'unused' as a disk bus type.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2021-11-12 18:30:10 +01:00
Thomas Lamprecht
80cfedf852 ui: dc/options: fix renderer
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-12 18:29:33 +01:00
Thomas Lamprecht
afa725cd9c ui: utils: refactor render_as_property_string
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-12 18:25:36 +01:00