Commit Graph

6541 Commits

Author SHA1 Message Date
Dominik Csapak
00e4bd2e10 ui: qemu disk: honor iothread setting from config
To have a IOThread on by default in the wizard and on disk add, we
added a 'bind' for the value here. This also changes the value for
existing VM disks, and if one does not notice, modifies it away again
(since we don't have the controller here and isSCSISingle is false)

Simply don't bind value when we edit a VM disk from config

Note that this is only an issue in Chromium based browsers.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-21 15:51:40 +01:00
Thomas Lamprecht
783870bfc2 update aplinfo
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-21 14:25:58 +01:00
Thomas Lamprecht
3fcb8f0865 bump version to 7.3-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-21 14:25:58 +01:00
Fiona Ebner
2b233ecc08 api: vzdump: soften parameter permission checks
Allows sufficiently privileged users to pass-in retention and
performance parameters for manual backup, but keeps tmpdir, dumpdir
and script root-only. Such users could already edit the job
accordingly, so essentially not granting anything new.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2022-11-21 14:13:05 +01:00
Thomas Lamprecht
f64fa68d8c ui: workspace: increase initial resource tree width from 200 to 300 px
we got much more wide screens and higher resolutions nowadays than
when this width was decided (before the famous imported from SVN
commit in 2011).

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-21 13:38:13 +01:00
Thomas Lamprecht
8fab87dc72 ui: dc options: support setting case sensitive
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-21 08:49:13 +01:00
Thomas Lamprecht
1d1a331949 ui: dc options: add Color-Overrides text to render, if any
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-21 08:48:53 +01:00
Thomas Lamprecht
65cbfe79e4 fix #4245: api: node HW: allow to get PCI info with Sys.Audit on /
keep Sys.Modify only for backward compat, as it does not make really
much sense to ask for that on an informative GET call.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-20 13:29:58 +01:00
Thomas Lamprecht
12f011de4e bump version to 7.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-19 15:57:53 +01:00
Thomas Lamprecht
87f43acb8e ui: improve ZFS pool name validator accuracy
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-19 15:56:46 +01:00
Thomas Lamprecht
58de15074f ui: node disk manage: mark using ZFS reserved pool names as invalid
ZFS will die anyway later so catch this earlier for better UX

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 18:27:56 +01:00
Thomas Lamprecht
1b015ebc3d ui: utils fix typos in tag tree styles
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 17:56:50 +01:00
Thomas Lamprecht
593272c434 bump version to 7.2-15
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 17:27:30 +01:00
Thomas Lamprecht
9d7d39ef1c ui: datacenter options: add Cluster Resource Scheduling editor
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 17:26:38 +01:00
Dominik Csapak
2da3166e58 ui: tags: highlight finish inline editing button
by making it a 'regular' blue button instead of a toolbar button

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-18 16:37:46 +01:00
Dominik Csapak
66dace4b3c ui: tags: implement dirty tracking for inline editing
similar to how regular forms are tracked

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-18 16:37:46 +01:00
Dominik Csapak
e83ea30e4a ui: tags: shortcut accept&cancel with keypresses
pressing 'Enter' accepts the current tags and
'Escape' cancels editing

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-18 16:37:46 +01:00
Dominik Csapak
1b48b8b7a1 ui: hide 'no tags' field and edit icon without VM.Config.Options
they cannot edit them anyway, so no point in showing them that
there is no tag

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-18 16:37:46 +01:00
Dominik Csapak
56dee217bc ui: fix datacenter tags options inputs
* dont allow blank for tree shape
* allow completely removing registered tags and user-tag-access properties
* correctly check validity for the listfield
* use correct gettexts
* don't inject empty field in the listfield when setting an empty string

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-18 12:56:18 +01:00
Matthias Heiserer
8c3667927c ui: vm network edit: use the correct default model
commit c8f2cf4c1a broke the preselected
Model by setting it to ''. The GUI displays/selects an empty field
as default.

Fixes: c8f2cf4c ("ui: vm network: allow to override MTU for virtio devices")
Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 12:55:11 +01:00
Thomas Lamprecht
ea7f41ed64 ui: vm vNIC: make MTU validation more fine-grained for better UX
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 11:44:47 +01:00
Thomas Lamprecht
9ea839b3dc ui: vm vNIC: add empty text for MTU field
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-18 11:44:29 +01:00
Thomas Lamprecht
940c72bb74 bump version to 7.2-14
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 19:47:00 +01:00
Thomas Lamprecht
ac5c9be084 d/control: bump versioned dependency for libpve-storage-perl to 7.2-12
ensuring we got all ready for dRAID

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 19:36:41 +01:00
Thomas Lamprecht
2db62238ee ui: disk manage: move dRAID options into field set
to avoid an overly asymmetric form field balance

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 19:29:21 +01:00
Thomas Lamprecht
049b783638 ui: disk manage: rework assembling dRAID options
Simply use onGetValues to assemble the dRAID config, if any.

We do not need to bother with setting values as this is only for
creates, never for edit/displays.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 19:14:08 +01:00
Stefan Hrdlicka
84cf9e4f4b fix #3967: enable ZFS dRAID creation in WebGUI
add fields for additional settings required by ZFS dRAID

Signed-off-by: Stefan Hrdlicka <s.hrdlicka@proxmox.com>
2022-11-17 18:47:23 +01:00
Thomas Lamprecht
02514a0f5b d/control: bump versioned dependency for librados2-perl to 1.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 18:43:11 +01:00
Thomas Lamprecht
09b65afff9 ui: tags: reduce opacity of "No Tags" hint
make it less stand out, it's just a hint not primary information

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 18:36:54 +01:00
Aaron Lauterer
6242a6009d ui: osd: mon: mds: warn if stop/destroy actions are problematic
Check if stopping of a service (OSD, MON, MDS) will be problematic for
Ceph. The warning still allows the user to proceed.

Ceph also has a check if the destruction of a MON is okay, so let's use
it.

Instead of the common OK button, label it with `Stop OSD` and so forth
to hopefully reduce the "click OK by habit" incidents.

This will not catch it every time as Ceph can need a few moments after a
change to establish its current status. For example, stopping one of 3
MONs and then right away destroying one of the last two running MONs
will most likely not trigger the warning. Doing so after a few seconds
should show the warning though.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2022-11-17 18:27:48 +01:00
Aaron Lauterer
d9415cc4f7 ui: osd: warn if removal could be problematic
If an OSD is removed during the wrong conditions, it could lead to
blocked IO or worst case data loss.

Check against global flags that limit the capabilities of Ceph to heal
itself (norebalance, norecover, noout) and if there are degraded
objects.

Unfortunately, the 'safe-to-destroy' Ceph API endpoint will not help
here as it only works as long as the OSD is still running. By the time
the destroy button is enabled, the OSD will already be stopped.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2022-11-17 18:27:48 +01:00
Aaron Lauterer
ccb281a7ae api: ceph: add cmd-safety endpoint
Ceph provides us with several safety checks to verify that an action is
safe to perform. This endpoint provides means to acces them.
The actual mon commands are not exposed directly. Instead the two
actions "stop" and "destroy" are offered.

In case it is not okay to perform an action, Ceph provides a status
message explaining why. This message is part of the returned values.

For now there are the following checks for these services:

MON:
  - ok-to-stop
  - ok-to-rm
OSD:
  - ok-to-stop
  - safe-to-destroy
MDS:
  - ok-to-stop

Even though OSDs have a check if it is okay to destroy them, it is for
now not really usable in our workflow because it needs the OSD to be up
and running to return useful information. Our workflow in the GUI
currently is that the OSD needs to be stopped in order to destroy it.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2022-11-17 18:27:48 +01:00
Thomas Lamprecht
fc27fd06b6 d/control: bump versioned pve-cluster dependency to 7.2-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 18:26:56 +01:00
Thomas Lamprecht
13a0c8bf11 ui: eslint auto-fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-17 18:21:48 +01:00
Dominik Csapak
1f359096b6 ui: tags: add preview to tag shape option
with a combogrid and the example text 'preview'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:48 +01:00
Dominik Csapak
432aec5641 ui: change style of ListField
and make it more like the 'traffic control' time grid in pbs

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:48 +01:00
Dominik Csapak
38f4e6e43b ui: tags: hide already set tags in dropdown
on every change, collect all tags and update the filter of all tag
fields

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:48 +01:00
Dominik Csapak
871953db9f ui: tags: make sorting more natural
by sorting the lower cased variants, and only if they are identical
sort the original values with 'localeCompare'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:48 +01:00
Dominik Csapak
59e71a0881 ui: rework inline tag editing
things that changed:
* removed 'add Tag' inline button with proper button that adds
  empty tag
* don't require to confirm each tag, simply update the color "live"
* set a minimum width for the editing box, so that it's easier to click
* replace cancel/finish icons with proper buttons
* fix tagCharRegex for multichar text (necessary for paste)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:48 +01:00
Dominik Csapak
8d8ba23da9 ui: implement tag ordering as configured in datacenter config
datacenter.cfg returns an 'ordering' option. parse that and
use it to order the tags when viewing. default is alphabetical.

With alphabetical ordering, drag & drop when editing is disabled and the
tags will be inserted at the right place. When saving, the sorted
order will be written into the config

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:23 +01:00
Dominik Csapak
ad4a19f652 ui: add tags to ResourceGrid and GlobalSearchField
also allows to search for tags in the GlobalSearchField where each tag is
treated like a seperate field, so it weighs more if the user searches for
the exact string of a single tag

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>

ui: ResourceGrid: render tags

with the 'full' styling

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:23 +01:00
Dominik Csapak
366558a79d ui: tree/ResourceTree: show Tags in tree
and update the treenodes when the tags change.
since we change the vm node text (which we pass through to the config
panel), we have to change how we generate the text there slightly
(otherwise that would include the rendered tags)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:23 +01:00
Dominik Csapak
d70be8cd73 ui: {lxc, qemu}/Config: show Tags and make them editable
add the tags in the status line, and add a button for adding new ones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:21:23 +01:00
Dominik Csapak
1b42bb8657 ui: add form for editing tags
This is a wrapper container for holding a list of (editable) tags
intended to be used in the lxc/qemu status toolbar

To add a new tag, we reuse the 'pveTag' class, but overwrite some of
its behaviour and css classes so that it properly adds tags

Also handles the drag/drop feature for the tags in the list

When done with editing (by clicking the checkmark), sends a 'change'
event with the new tags

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:53 +01:00
Dominik Csapak
b6f9fc78c0 ui: add form/Tag
displays a single tag, with the ability to edit inline on click (when
the mode is set to editable). This brings up a list of globally available tags
for simple selection.

this is a basic ext component, with 'i' tags for the icons (handle and
add/remove button) and a span (for the tag text)

shows the tag by default, and if put in editable mode, makes the
span editable. when actually starting the edit, shows a picker
with available tags to select from

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:53 +01:00
Dominik Csapak
0a627d9468 ui: dc/OptionView: add editors for tag settings
namely for 'tag-tree-style' and 'tag-colors'.
display the tag overrides directly as they will appear as tags

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:53 +01:00
Dominik Csapak
4f43785ac9 ui: add PVE.form.ListField
a field which contains just a list of textfields, e.g. useful for a list
of simple tags

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:53 +01:00
Dominik Csapak
7381265da2 ui: add grid form for mapping tags to foreground/background colors
This provides a basic grid to edit a list of tag color overrides.
We'll use this for editing the datacenter.cfg overrides and the
browser storage overrides.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:12 +01:00
Dominik Csapak
8b4c7a46e2 ui: parse and save tag infos from /cluster/options
stores the color-map into a global list of overrides. on update, also parse
the values from the browser localstore. Also emits a GlobalEvent
'loadedUiOptions' so that e.g. the tags can listen to that and refresh their
colors

also saves the list of 'allowed-tags' into PVE.Utils

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:12 +01:00
Dominik Csapak
b7f4cb7cf9 ui: save ui options from /cluster/options instead of version
/cluster/options is now the go to place for getting these options
(until we have more options unrelated to the datacenter.cfg)

Also move the use of the console from VersionInfo to here, since
this will be the future place for ui related backend options.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-11-17 18:20:12 +01:00