Commit Graph

6168 Commits

Author SHA1 Message Date
Dominik Csapak
c048ad30c8 vzdump: add new 'next-run' field for vzdump job listing
and calculate it by getting the next event after 'now' since
we currently have no way to get the last run time for jobs only running
on different cluster nodes

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-01-13 15:33:41 +01:00
Thomas Lamprecht
38772ec8fa d/control: bump http-server versioned depenedency
so that the new TLS knobs actually do something

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-01-13 13:43:19 +01:00
Fabian Grünbichler
ed59fcff47 fix #3789: pass disable TLS 1.2/1.3 options
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-01-13 13:42:58 +01:00
Fabian Grünbichler
64672c2803 fix #3745: handle overridden TLS key location
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-01-13 13:42:58 +01:00
Fabian Grünbichler
ff65c92931 fix #3790: pass TLS 1.3 ciphersuites if set
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-01-13 13:42:58 +01:00
Dominik Csapak
758690bf4d add 'auto' mode for noVNC scaling
in commit
07195aa079 ("ui: fix novnc scaling radio button")

we always set to 'scale' when no value was set, but a non-set value
actually had a different behaviour:

in the embedded console it was set to 'scale', but in the pop-up it was
set to 'off'.

to restore this behaviour, introduce an option 'auto' which unsets the
'novnc-scaling' setting

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-01-13 12:58:59 +01:00
Fabian Ebner
545f94e7d2 ui: node: zfs: use ZFSDetail window from widget-toolkit
The only functional differences I could see are the missing
defaultValue for 'Scan' and the reduced height. For restoring the
height, there is a proposed patch for widget-toolkit.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-01-13 12:54:03 +01:00
Dominik Csapak
07195aa079 ui: fix novnc scaling radio buttons
when having selected 'off', the next start of the window has both
radiobuttons selected and no change is possible anymore. It seems that
the 'checked: true' triggers only after the 'init' function.

So instead remove the 'checked: true', and add the default in the init
function.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-01-11 16:32:50 +01:00
Thomas Lamprecht
02651425d9 avoid installing unused var/lib/vz/template/qemu directory
some users in the forum[0][1] and oguz wondered and made me notice
it, its neither used nor referred too in pve-storage, qemu-server nor
the pve-manager package itself, so just drop it.

[0]: https://forum.proxmox.com/threads/qemu-template-questions.18053/
[1]: https://forum.proxmox.com/threads/what-is-var-lib-vz-template-qemu-for.100092/

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-01-11 14:13:45 +01:00
Dominik Csapak
cf2063d4e1 status: influxdb: suppress warning when no token exists
in get_credentials, we try to read the token for the specified server,
and warn if we cannot do that (e.g. because the file does not exist)

since having no token is a valid configuration, suppress that warning on
connection.

reported by a forum-user:
https://forum.proxmox.com/threads/interface-comes-up-with-all-question-marks.83287/page-2#post-438204

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-12-21 15:44:38 +01:00
Fabian Ebner
392e3cf11d sorters: use correct property 'direction' and keep default 'ASC'
Ext.util.Sorter does not have an 'order' property, so 'order: DESC'
didn't have an effect. The default is 'ASC' and it is arguably the
preferred direction for all affected sorters anyways.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-12-16 10:11:48 +01:00
Fabian Ebner
9082d8d0f9 backup views: sort backups by vmid, then descending by date
to have the most recent ones first, while keeping backups from the
same guest together.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-12-15 16:01:40 +01:00
Thomas Lamprecht
2844a42220 ui: ceph status details: refactoring and clenaups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-15 16:01:25 +01:00
Thomas Lamprecht
27c12d32a9 ui: ceph dashboard: render ghost OSDs
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-10 14:28:30 +01:00
Thomas Lamprecht
8ce85523c3 ui: ceph fs: fix overriding renderer in controller
Overriding the controller render_status must be done in an derived
class, not as config for the instantiated object.

While it worked it really isn't idiomatic and ExtJS complained with
an error in debug mode, which broke the whole UI then.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-10 13:24:11 +01:00
Thomas Lamprecht
4938414798 ui: ceph: variable casing style fix
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-10 10:59:46 +01:00
Thomas Lamprecht
523bc167d7 ui: vm create wizard: default to 4 GiB memory for win11 os type
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-09 17:41:45 +01:00
Thomas Lamprecht
592df57243 bump version to 7.1-8
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-07 19:11:37 +01:00
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