Commit Graph

585 Commits

Author SHA1 Message Date
Stefan Reiter
b839766e7d ui: ProcessorEdit: fix total core calculation and use view model
Clean up the code in ProcessorEdit with a view model and fix a bug while at
it - previously, pressing the 'Reset' button on the form would always set
the value of the total core count field to 1, so mark 'totalcores' with
'isFormField: false' to avoid reset.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-06-17 15:51:11 +02:00
Thomas Lamprecht
3bbce3b8cd drop jslint lines
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-06 18:11:47 +02:00
Thomas Lamprecht
bc92b15f84 ui: vm/options: increase localtime edit window width
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-26 19:12:57 +02:00
Fabian Ebner
0beff18b8e Fix 2718: GUI: handle localtime option correctly
The backend treats an undefined value and 0 differently. If the option
is undefined, it will still be set for Windows in config_to_command.
Replace the checkbox with a combobox covering all options.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-05-26 19:09:21 +02:00
Thomas Lamprecht
433645160f ui: qemu: stop pending changes in correct scope
I saw some cases where the pending changes just continued to get
triggered for some VMs, even if they shouldn't anymore - effectively
resulting in 3 - 4 concurrent pending changes call at a time.

It could be this, or not, but it's cleaner this way so go for it

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-22 17:16:37 +02:00
Thomas Lamprecht
63308ba742 ui: memory field: third time's a charm...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-09 18:17:35 +02:00
Thomas Lamprecht
050d86a8b0 ui: also set minimum memory's maxValue to higher default initially
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-07 23:15:44 +02:00
Thomas Lamprecht
77496e1be3 fix #2708: ui: increase default memory in VM create wizard to 2GiB
as nowadays a lot of VMs won't even start the installer with 512 MB.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-07 15:09:29 +02:00
Thomas Lamprecht
6386068d0e ui: call more update store functions in the store scope
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 16:45:22 +02:00
Thomas Lamprecht
17b777914a ui: rng edit: drop useless gettext for integer
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-31 18:05:27 +02:00
Stefan Reiter
4ba4c7c616 qemu: change virtio-rng icon to die
'die' as in 'dice', not what Perl does

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-03-06 18:19:39 +01:00
Stefan Reiter
6c1d8ead7a qemu: add virtio-rng option to GUI
Warn the user when selecting /dev/random or disabling speed limits.

'hardware_counts' is used since technically more than one RNG could be
attached to a QEMU machine. It is limited to 1 however, since the
usefulness of such a setup is more than questionable, considering the
linux kernel only ever uses one hwrng at a time anyway.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-03-06 18:19:39 +01:00
Stefan Reiter
e08c232118 qemu: fix icon alignment in "Add Hardware" menu
It was ever so slightly off.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-03-06 18:19:39 +01:00
Stefan Reiter
5b23d68382 gui: pci passthrough: fix 'Add PCI' dialog for new devices
Commit f36240c507 (gui: pci passthrough: consider domain in PCISelector)
used 'values.host' without checking if it's set, resulting in an error
when the dialog was opened for a new device (where values.host is
undefined).

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-02-17 15:34:38 +01:00
Dominik Csapak
b06d011e31 fix #2572: gui: make snapshot panel visible for VM.Audit
with the now rewritten panels, this works as expected

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-30 18:01:38 +01:00
Dominik Csapak
5b1b9360eb gui: refator SnapshotTree
using the better View, ViewModel, Controller style,
while doing this, make it generic so that we can use it for qemu and lxc

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-30 18:01:38 +01:00
Dominik Csapak
4e0e6b77e9 gui: refactor snapshot window
using an Proxmox.window.Edit, which does many of the things we did
manually, also rewrite is in such way that we can use it for qemu
and lxc

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-30 18:01:38 +01:00
Thomas Lamprecht
aa85713036 manager: startIPStore: status can be null/undef
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-27 19:09:10 +01:00
Dominik Csapak
67847d54fa gui: qemu: HardwareView: improve button disable code
this improves following behaviours:
* do not loop over items multiple times
  (we iterated one time extra for efidisk)
* do not check every item for cloudinit
  (we even checked non-disk types)
* make the counts more generic using an object
* also disable cloudinit button when you have one pending
* also disable serial/net button when at limit or the user has
  not the right priviliges

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-24 10:10:48 +01:00
Dominik Csapak
9d8553982d gui: qemu HardwareView: specify hardware counts in Utils
this also fixes the issue that we only showed 4 hostpci devices in
the gui despite raising the limit in the backend to 16

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-24 10:10:48 +01:00
Dominik Csapak
d790a1b45e fix #2334: gui/cloudinit: enable edit button only when editor is set
when a user does not have the right privileges for cloudinit (e.g.
VM.Config.Network), we do not set an editor, which results in a button
that does nothing when pressed

fix this by enabling the button only when there is an editor set

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-01-09 17:42:34 +01:00
Thomas Lamprecht
5d7c0d9729 followup: code cleanup/nitpicking
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-18 19:40:09 +01:00
Stefan Reiter
c17ecca28d ui/vnc: reload IFrame-embedded noVNC on VM startup
Avoids having to do the 'Console' -> 'Summary' -> 'Console' dance
everytime the VM is started and the Console window is currently open.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2019-12-18 17:55:57 +01:00
Stefan Reiter
d6ba66e13a ui/qemu: cleanup pveSelNode to variable
'vm' has been in use further down anyway, let's move it up.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2019-12-18 17:55:57 +01:00
Thomas Lamprecht
56054937a6 followup: clarify which storage is used for automatic
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-11 09:18:58 +01:00
Thomas Lamprecht
4fe2c21c00 followup: avoid a doc-gen bump, use general QM chapter as onlineHelp
doc was just bumped, there's no real content, I don't want to bump it
just for this, so replace with link to QM and a fixme comment

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-11 09:01:12 +01:00
Dominik Csapak
ab84ee7415 ui: make vmstatestorage configureable
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-12-11 08:55:15 +01:00
Thomas Lamprecht
8717893448 ui: vm/HDEdit: really™ fix backup checkbox default
By ensuring we delete the property if it's true (the backend default)
and set it is false, i.e., like originally (pre, mine and Aaron's
patch), but with reversed user input.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-10 11:29:13 +01:00
Thomas Lamprecht
20d3180b3a ui: vm/HDEdit: fix backup checkbox default
The recent change transformed this checkbox from a negative "No
Backup" to a positive "Backup" did not accounted for changing the
default fallback for the parseBoolean call.

As this would had suggested that disk are backed-up which aren't
backup, it could lead to pretty devastating results...

fixes commit 8e1df0acc5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-09 15:46:47 +01:00
Thomas Lamprecht
0bead056b1 followup: rename to "Backup" but add tooltip
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-09 15:11:08 +01:00
Aaron Lauterer
8e1df0acc5 ui: hdedit: change nobackup to include in backup
Change the behavior from having to activate the `No backup` checkbox to
exclude a disk from backups to having a `Include in backup` checkbox
that is checked by default.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-12-09 14:45:14 +01:00
Dominik Csapak
df0875c20e gui: refactor {lxc, qemu}/Summary to panel/GuestSummary
they are both similar enough to have it only once

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-12-09 14:20:37 +01:00
Thomas Lamprecht
4b07ffdd1f ui: vm/hw: be more specific what VM state this is
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-30 18:14:33 +01:00
Thomas Lamprecht
59bce2875c ui: vm/hw: order VM state last and add extra warning
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-30 18:12:28 +01:00
Thomas Lamprecht
b2a5aa1812 ui: vm/hw: make extra message from deletion flexible
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-30 18:12:08 +01:00
Dominik Csapak
23dfddc637 gui: qemu/HardwareView: show vmstate and allow removal
so that a user can remove the 'suspended' state without resuming it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-11-30 17:50:10 +01:00
Oguz Bektas
b8f34731da add reboot button to right-click menu for VMs
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2019-11-30 14:31:22 +01:00
Dominik Csapak
f36240c507 gui: pci passthrough: consider domain in PCISelector
but remove the default domain '0000' before sending to the backend,
and add it if no domain is given in the config

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-11-20 19:43:31 +01:00
Dominik Csapak
e4e36020aa gui: qemu/HDEdit: use propertyStringSet helper
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-11-06 21:12:35 +01:00
Dominik Csapak
18f57a2319 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>
2019-11-06 21:12:35 +01:00
Thomas Lamprecht
417f904f78 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>
2019-10-30 15:49:31 +01:00
Thomas Lamprecht
3ee15859b2 ui: pending revert: rename baseurl config to apiurl
makes more sense and avoids confusion

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-30 15:48:33 +01:00
Thomas Lamprecht
591efb6725 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>
2019-10-30 11:48:03 +01:00
Oguz Bektas
141aba6b62 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>
2019-10-30 09:00:50 +01:00
Tim Marx
9d7d6ed71a 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>
2019-10-25 17:40:48 +02:00
Dominik Csapak
4143529241 gui: qemu: allow move disk for EFI Disk again
with commit 0ea3b8499b 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>
2019-10-11 12:22:50 +02:00
Thomas Lamprecht
ea6a4b5251 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>
2019-10-10 17:50:23 +02:00
Thomas Lamprecht
cd8f0fc54b ui: refactor pveQemuBiosEdit widget
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-10 17:25:12 +02:00
Stoiko Ivanov
f71b7c28ff 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>
2019-10-09 09:11:04 +02:00
Aaron Lauterer
9c22da325d ui: vm-options: add spice enhancements
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-10-07 16:16:34 +02:00
Stefan Reiter
06dd1330df 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>
2019-10-02 13:35:44 +02:00
Thomas Lamprecht
c570b6a96e ui: vm/efi: always allow to add EFI disk even if OVMF is not yet set
As this is annoying else, especially if the change from default to
ovmf BIOS is already a pending change..

A simple hint is enough, we do not do anything with the EFI disk if
OVMF is not set to be used anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-01 09:30:06 +02:00
Aaron Lauterer
536336130a ui: qemubiosedit: add gettext to efi disk hint
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-30 16:46:17 +02:00
Aaron Lauterer
0d077e8150 ui: vm/usbedit: simplify USB3 handling
Enable USB3 by default. There are no restrictions anymore that the speed
of the dev must match the USB3 speed. The xhci controller can deal with
USB 2 and 1 devices. USB3 devices can be plugged in a USB2 (ehci)
controller. As discussed in [0]

When using a USB device for SPICE passthrough my tests showed that USB2
devices connecting to the xhci controller work but a USB3 device passed
via Spice cannot connect to an ehci controller (no USB3 enabled).

qemu-server 6.0-9 supports USB3 also for Spice USB passthrough. See
commit 733234b [1].

All this means we can get rid of the separate handling of USB3 and non
USB3 devices and leave the decision to the user if USB3 should be
enabled or not.

[0]: https://pve.proxmox.com/pipermail/pve-devel/2019-September/039131.html
[1]: https://git.proxmox.com/?p=qemu-server.git;a=commitdiff;h=733234be04d585febd74c655d8b82d17ebf9e133

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 17:02:23 +02:00
Thomas Lamprecht
d155bbc960 ui: usbselector/usbedit: make widths a bit larger
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 16:39:02 +02:00
Aaron Lauterer
cc9c5af4aa ui: vm/usbedit: add gettext to label
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-26 07:31:18 +02:00
Thomas Lamprecht
17f6a3f6f4 ui: vm/usbedit: don't use getUSBValue to avoid possible duplicate "usb3"
As getUSBValue() always added the "usb3" property if the selected
device was recognized as USB3. But we can now also pass such a device
as USB2 so lift this restriction - which also fixes a bug for USB3
selected devices with the USB3 checkbox set.

The solution also avoids the me.down query, which is nice too.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-23 17:08:08 +02:00
Thomas Lamprecht
2e8f031f99 ui: vm/usbedit: code & indentation cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-23 10:01:27 +02:00
Thomas Lamprecht
7c72eb5112 ui: vm/usbedit: cleanup and refactor usb selector change
split the long ternary operation into a common if/else, to make it
readable.

Also, remove the usb3field.isDisabled check as:
1. we do not disable it anywhere anymore
2. if we would, it makes sense to do this anyhow

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-23 08:42:25 +02:00
Thomas Lamprecht
4292a318ee ui: vm/usbedit: use simple bind for radio button changes
reduces code and is more expressive

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-23 08:18:15 +02:00
Thomas Lamprecht
410313f8b2 ui: vm/usbedit: omit usb3 changes for spice completely
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-23 08:17:56 +02:00
Aaron Lauterer
4d51f6572b usb: Enable USB3 for Spice USB passthrough
Instead of having two times the check if the USB3 setting needs to be
added to the config string it is now checked at one place only.

If USB3 is checked for a non USB3 device it will be attached to the USB2
root hub of the xhci controller.

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-23 07:44:57 +02:00
Aaron Lauterer
e7d6f69490 ui: Add online help reference to VM bios settings
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-19 15:07:34 +02:00
Aaron Lauterer
d2d16a78b8 ui: Add online help reference to VM display settings
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-19 15:07:17 +02:00
Thomas Lamprecht
f07d8e6050 ui: power menu: add more tooltips
For reset and reboot.
Shutdown and pause is pretty self-explanatory, so omit that

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-19 14:12:38 +02:00
Dominik Csapak
c48535b16c gui: qemu: add reboot button
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-09-19 13:21:17 +02:00
Thomas Lamprecht
e30cddd254 ui: vm memory: correctly set initial maxValue for balloon
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-08-22 14:08:50 +02:00
Thomas Lamprecht
0ea3b8499b ui: vm/Hardware: do not depent mapping of cdrom, cloudinit, .. on the CSS class
This was pretty brittle to begin with, on should not attach logic to
CSS class names or the like, if possible.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-24 18:08:12 +02:00
Thomas Lamprecht
a032a91a48 ui: vm/Hardware: convert more icons from bitmap to font awesome
since commit 03558174ef we can use the
Font Awesome icons without them being shown in the remove dialog, so
convert more to them - they are vectors and look a bit better.

Also ensure that all icons are rendered as fixed width, with fa-fw

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-24 10:48:19 +02:00
Thomas Lamprecht
fa9cdaa135 ui: vm/HW: use more font awesome icons and fix color
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-23 19:18:15 +02:00
Thomas Lamprecht
700434b2f6 pveAudioInputPanel: comment out onlineHelp doc reference for now
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-23 19:03:50 +02:00
Aaron Lauterer
171ca270a0 Add audio device to HardwareView
Adds the following:

* Menu entry to create a new audio device
  only clickable if:
    * permissions are there
    * no audio device exists
* listing in the hardwarew view

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-07-23 18:29:05 +02:00
Aaron Lauterer
da97bd3d88 Add edit dialog for audio device
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-07-23 18:29:05 +02:00
Stefan Reiter
0cd3abab50 fix #2265: enable discard for virtio-blk
QEMU 4.0 supports this. Guest needs to have at least Kernel 5.0 for it
to be used.

SSD emulation is still not supported AFAICT, so no change here.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2019-07-23 08:08:36 +02:00
Thomas Lamprecht
7b7ca5e1f8 ui: qemu/HWView: cloudinit: use the font-awesome provided cloud symbol
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-17 13:28:20 +02:00
Thomas Lamprecht
83b4bfc314 ui: qemu/HWView: small code cleanup for remove dialog
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-17 13:27:35 +02:00
Thomas Lamprecht
03558174ef ui: qemu/HWView: only render icon when in grid
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-17 13:26:59 +02:00
Dominik Csapak
3098f188b3 gui: fix debug-mode error
setData on an 'empty' store does not work in extjs debug mode
setting store to '{}' here does create a store on component creation
so the store is not 'empty'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-07-17 13:01:31 +02:00
Thomas Lamprecht
2711037a6f gui: smbios: followup: make declaration fully static
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-11 18:08:01 +02:00
Christian Ebner
150ad74a2c fix #2190: Base64 encode SMBIOS value strings in order to allow more characters
On some occasions e.g. license checking, the manufacturer string in the
SMBIOS settings edit has to allow characters such as whitespaces.
https://forum.proxmox.com/threads/proxmox-and-windows-rok-license-for-dell.53236/
In principle SMBIOS allows to pass any zero terminated string to the
corresponding fields in the structure type 1 (System Information).

By base64 encoding the values clashing of the config is avoided.

Relies on the corresponding patch to qemu-server to pass parameter verification
and correct parsing.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-06-11 17:42:33 +02:00
Thomas Lamprecht
06064872c2 gui: vm: add CPU flag selector with tri-state awareness
This allows to select the tri-state (enforce on, enforce off, default
from QEMU+CPU Model) for each CPU flag independently.

For this a grid with a widgetcolumn is used hosting tree radio
buttons for each state. They're marked '+' for enforce on, '-' for
enforce off and the default has no label, as it isn't easy to add in
such a way that it does not confuses people and does not looks
completely ugly.. But, to help people which have a hard time figuring
out what the states mean, a fake column was added showing the current
selected state's outcome in words.

For show casing the new nice interface add all currently supported
flags from out API-
It could be worth to add some selected CPU model awareness, so that
flags are only enabled if they can make sense with the selected
model. But one should be able to add this relative easily with this
as base.

The hardcoded flag lists is not ideal, we should try to generate this
in the future, but here already qemu-server is lacking and this is
rather independent of the fact and can be done later one just fine
too.

Note that this /is/ an *advanced* feature so not visible for all
directly, while I try to document in short what a flag does it surely
isn't perfect and to short to explain all nuances, they should give
enough pointers to know if it's relevant at all (amd / intel cpu) and
for what one should research

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 92572ead6d)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-07 17:45:33 +02:00
Dominik Csapak
2e1a8291d6 fix #2223: fix set_button_status isCDRom
value is not always a string (depending on the value that changed),
so we have to convert it to a string to have a 'match' function

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-31 11:03:58 +02:00
Thomas Lamprecht
10525ed71e fix #2197: ui: editing CDROM doesn't require VM.Config.Disk rights
A user which just has the default role PVEVMUser on a VM is able to
edit the CDROM, either to no media or if storage permissions are
available also to other ISOs, through the API. So reflect this again
for the WebUI. We could add a check for "VM.Config.CDROM", but that's
not really worth, if we keep in mind that the Ext.Caps state is
heuristically only.

fixes commit d35b5b2afb

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-13 17:27:49 +00:00
Dominik Csapak
d35b5b2afb fix #1814: do not enable disk related buttons for audit user
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-04-10 09:50:05 +02:00
Dominik Csapak
e09330e03f use correct icon for hibernate in cmdmenu
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-04-09 13:51:42 +02:00
Thomas Lamprecht
3a958fd5d7 ui: qemu system panel: set onlineHelp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-04-08 17:24:32 +02:00
Thomas Lamprecht
af6390f0a9 ui: qemu: change suspend to disk icon to fa-download
it ressembles a state downloaded to disk, so quite fitting for
hibernate/suspend to disk

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-04-05 09:53:12 +02:00
Christian Ebner
b29918337e fix: #1145 enable CT/VM firewall by default on creation via WebUI
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-04-03 11:25:25 +02:00
Thomas Lamprecht
833b048f9f ui: ct/vm: add tooltip to hibernate and stop button
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-30 15:21:12 +01:00
Dominik Csapak
38f7580279 gui: show Resume button if suspended
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-30 14:36:31 +01:00
Dominik Csapak
af856c9082 gui: add Hibernate/Pause to CmdMenu/Shutdown Menu
and have it in order of impact on the guest
(pause, hibernate, poweroff, stop)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-30 14:36:31 +01:00
Dominik Csapak
a33f612bcf gui: CmdMenu: rename suspend to paus
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-30 14:36:31 +01:00
Dominik Csapak
995a8ea2c6 gui: CmdMenu: hide the start and suspend button conditionally
only to disable them wastes space for no reason and might confuse users

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-30 14:36:31 +01:00
Thomas Lamprecht
11515a43dd followup: remove unnecessary references
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-28 17:53:30 +01:00
Thomas Lamprecht
c24fdb62b9 fix schema error: do not submit efidisk checkbox value
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-28 17:51:47 +01:00
Dominik Csapak
aae2273c61 gui: qemu/HardwareView: add machine to HardwareView
so the user can edit this via the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
439d78210a gui: qemu/HardwareView: move scsihw and bios to HardwareView
it is guest hardware and not really an option, and we have it now
in the wizard, so it makes sense to have it here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
755f4e5469 gui: qemu/HardwareView: remove Keyboard setting
this is deprecated and should not be necessary anymore, since
qemu and novnc can handle this better if no keyboard layout is set

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
8d554444e6 gui: qemu/HardwareView: add space between groups
so that we can add items between them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
471d03aa6b gui: add system panel to the vm creation wizard
for this we have to adapt the scsiController logic slightly, so that
the ostype change sets the viewmodel, which in turn changes the
bound fields (one one the system tab, and the displayfield on the hd tab)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
a1ee14a296 gui: add qemu/SystemEdit
contains the inputpanel for the coming system tab in the vm creation
wizard, where the user can configure the vm system hardware like
the scsi controller, display, etc.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
6a040799f4 gui: qemu/HardwareView: prepare Hardwareview for font-awesome icons
we want to be able to use fontawesome icons directly instead of having
to use extracted png in css classes

this patch makes it possible to use 'iconCls' with the font-awesome icon name

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
375d291810 gui: show lock in status bar of vms/cts
also add 'tbarSpacing' parameter to ConfigPanel, that controls
the spacing after the title

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-21 18:39:27 +01:00
Dominik Csapak
de63d77a3f fix #2132: gui: set vcpu default maxValue to 1
else one can set it to higher values if the vm has one socket with one core

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-15 13:50:07 +01:00
Thomas Lamprecht
97f7773b6c ui: qemu/cddrive: increase width for better ux
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-02-21 11:14:16 +01:00
Oguz Bektas
fc32524056 fix #2096: enable resume in context menu for guest triggered sleep
We act correctly for an outside triggered suspend, but if the guest
suspends itself from inside (e.g., systemctl suspend,
`echo "standby" > /sys/power/state` or windows sleep) it has another
state (suspended vs. paused), so handled that also

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2019-02-19 11:46:17 +01:00
Dominik Csapak
95f2a8a21a show hookscript in gui
only viewing, no editing
and show it only when it is set

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-01-31 11:05:55 +01:00
Dominik Csapak
89ae1bb151 gui: add virtio-gpu and none to combobox
since 'virtio' is alredy used in that file for a number,
we have to add jslint confusion

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-01-28 17:32:32 +01:00
Dominik Csapak
2b25a905ad do not send 'undefined' as romfile
when adding a pcidevice, we added 'romfile=undefined' by accident

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-12-05 14:25:24 +01:00
Dominik Csapak
25a1063ac7 gui: let users add PCI devices
this enables the gui part to enable the user to add a pci device
via the gui

we disable the button after 4 devices, since that is the maximum
in the backend

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-22 13:31:39 +01:00
Dominik Csapak
c59fb4eef5 gui: add qemu/PCIEdit
this patch adds the PCIEdit window and InputPanel uses PCISelector
and MDevSelector

when we detect an iommugroup of -1, we put a warning on top to inform
the user that IOMMU is not activated (but let him add the devices
regardless, so that he can use it after IOMMU is activated)

also puts a warning if he selects a device that shares an iommugroup
with a different device (but not the same device with different
function). that detection is not perfect, but we cannot do really
better

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-22 13:31:31 +01:00
Thomas Lamprecht
3097170dad ui: qemu/HW: menu setDisable mustn't ignore caps
We passed a 'disable' config to those menu items on creation, but
promptly ignored that after the first set_button_status call, which
only checked if it's possible to add another device, but not if our
capabilities heuristic is OK.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-22 08:40:15 +01:00
Nick Chevsky
75357e9f0d Enable "Discard" option for IDE and SATA drives
Even though QEMU supports the discard feature for both ATA [1] and
SCSI drives, the "Discard" checkbox in Proxmox VE is artificially
restricted to SCSI drives. This change expands availability of the
"Discard" checkbox to all drive types supported by QEMU, leaving
VirtIO Block as the only remaining exclusion.

Combined with the new "SSD emulation" option [2], enabling discard
on IDE/SATA drives allows reclaiming of free space on thin-provisioned
storage with guests that do not support our SCSI controllers.

[1] d353fb72f5
[2] https://git.proxmox.com/?p=pve-manager.git;a=commit;h=f9261fde2134cec35a5ec7c3ebbee5daa4d67ec7

Signed-off-by: Nick Chevsky <nchevsky@gmail.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-14 09:21:12 +01:00
David Limbeck
793f2cf4e0 fix #1959: remove invalid SLAAC option
nocloud configuration does not support SLAAC option, only static or dhcp
so this option shouldn't be available

Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
2018-11-13 10:12:06 +01:00
David Limbeck
afa1997599 fix #1969: increase max unused disks
Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
2018-11-09 16:51:56 +01:00
Dominik Csapak
4f3e66d89b gui: let users edit the vga memory
and show the default for each type of virtual gpu

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-09 14:02:35 +01:00
David Limbeck
cbe0b4b834 fix sorting for unused disks in HardwareView.js
sort everything based on group and order for those with multiple numbered
entries

Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
2018-11-09 14:02:26 +01:00
Nick Chevsky
f9261fde21 Add "SSD emulation" property to IDE, SATA, and SCSI drives
When enabled, the "SSD emulation" feature exposes drives as
solid-state (rather than rotational) by enabling the new `ssd`
qm.conf flag [1] on the drives, which in turn sets QEMU's
`rotation_rate` property [2, 3] on the underlying devices.

This change also moves the "Discard" option out of the advanced
section and promotes it to the top of the dialog box, as proposed
by Thomas Lamprecht [4].

[1] https://git.proxmox.com/?p=qemu-server.git;a=commit;h=6c875f9f315f2dc7a0a3a988622c2efdf089b171
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1498042
[3] https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg00698.html
[4] https://pve.proxmox.com/pipermail/pve-devel/2018-November/034327.html

Signed-off-by: Nick Chevsky <nchevsky@gmail.com>
2018-11-09 09:33:26 +01:00
Tim Marx
3b2e557ff9 close #584: ui qemu: changed remove unused disk to asynchron call
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2018-10-18 13:26:15 +02:00
David Limbeck
cdf5bec2c9 fix #1884: vm/hardware: ensure correct value on pending changes
e.g., pending deletion of cdrom/dvd drive showed as hard disk in
hardware tab

Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-08-24 11:24:38 +02:00
David Limbeck
eb273d60e5 fix #1872 Move button stays on the screen after closing 2018-08-20 14:42:27 +02:00
Stoiko Ivanov
1662ccdbfd ui/qemu: Extend Qemu Guest agent
Change to agent now being a property_string, and including  fstrim_cloned_disks.

Co-Authored-By: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-08-02 16:20:12 +02:00
Thomas Lamprecht
d8e2ae9956 ui: add auostart after create checkbox
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-12 09:45:05 +02:00
René Jochum
fdce7d56ce Remove swap/memory limit in the Manager, fixes #1799 2018-06-07 13:44:21 +02:00
Dominik Csapak
abbf0eb74f let NotesView load itself
instead of needing to load from the outside, let NotesView handle the
loading itself

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-25 11:04:08 +02:00
Dominik Csapak
2283cff333 correctly update qemu ip information
we updated the status from the status store too often, so that
if the guest agent was not running, the message would
change between 'no information' and 'not running'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-25 10:44:05 +02:00
Dominik Csapak
203829c718 only show 'more' buttons for ips when there are actually ips to show
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-25 10:43:59 +02:00
Dominik Csapak
5fa6f3205a check for VM.Montior privileges on qemu AgentIPView
so that the user does not get the useless 'no information' or
'not running' message, but the real cause

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-25 10:43:47 +02:00
Thomas Lamprecht
d49d0443b8 ui: use cbind to make usb input panel static
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-05-18 15:39:54 +02:00
Thomas Lamprecht
37977fa500 ui: vm: allow to add socket backed serial devices
We show and can remove serial devices but couldn't add new ones
through the WebUI.
Add a simple component to allow adding serial ports backed by a
socket, which can be especially useful now with xterm.js

Passing through serial devices from /dev isn't possible with this, as
it is normally a root only operation and not that often used.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-05-17 09:25:34 +02:00
Dominik Csapak
16dedd0f6a add missing onlineHelp links
for:
* dc/Cluster
* node/Certificates
* qemu/CloudInit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-14 12:01:39 +02:00
Dominik Csapak
d47512afe6 make HDMove.js also usable for lxc
this makes it possible to reuse the window for container move_volume

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-07 14:55:49 +02:00
Dominik Csapak
811a06ca65 close HDMove on taskDone
this triggers the 'destroy' event of the window at the correct time

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-07 14:55:49 +02:00
Dominik Csapak
1d90225274 use correct multiKey and getObjectValue calls for memory line
also show shares and if ballooning is off

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-23 12:12:47 +02:00
Dominik Csapak
3438c27eab allow xtermjs to be the default console
if not available for a vm, we fallback to novnc like with spice

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-23 09:42:55 +02:00
Wolfgang Link
7cb345b816 fix #1691: use asynchronous API call for HD create
It should use an asynchronous API call to create an image,
because some storages may need longer to alloc an image.

If a storage needs more than 30 sec
the proxy will timeout and we have an orphan image.

Also, it is possible to increase the timeout for some
storages if an asynchronous call is used
2018-04-20 11:03:47 +02:00
Dominik Csapak
b08ae04435 overwrite the built-in 'run_editor' function
this is needed for the 'enter' handler

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 14:03:59 +02:00
Dominik Csapak
29e19e9583 qemu/CreateWizard: add advanced options on general tab
add start on boot, guest agent and boot order fields

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
57f034f6ff qemu/NetworkEdit: rework panel for advanced options
move some fields into advanced options, and remove nat mode

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
869f805312 qemu/MemoryEdit: rework panel and move most things in advanced options
this is a major rework of the memory inputpanel
previously we had to select fixed/variable and
could set shares/ballooning, depending on what was selected

now the panel is much simpler:

non advanced:

memory: the target maximum memory

advanced:

min-memory: the minimum memory, if different from the memory field
we have 'dynamic' memory

shares, only if we have 'dynamic' memory

ballooning-device: better naming, deactivates the ballooning device

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
c2233c8fc2 qemu/HDEdit: move diskthrottling to advanced options
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
ab1ee35244 fix editor and set_button_status for cloudinit
cloudinit images do not have an editor so return here
and value has to be a string to match
also set the remove button text correctly when selecting a cloudinit disk

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
457d5a9413 remove CPUOptions
this is now merged with ProcessorEdit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
5034f33904 rework ProcessorEdit and merge with CPUOptions using advanced options
make ProcessorEdit static and merge with CPUOptions
moves some fields in the advanced options

this also changes how we add the flag checkboxes,
which is static now, but if we want to add more, we have to
create a better way than add a checkbox for each flag anyway

also increases the cpulimit to 128 (as per api)
and fixes a small whitespace error

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
546d09c24e qemu/HDEdit.js: move some fields into advanced options
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
58b35f745b move TemplateMenu to menu directory
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Dominik Csapak
0718aefcc7 make clone window guest agnostic
so that we can reuse it for containers

while we do this, we also have to adapt the SnapshotSelector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Dominik Csapak
f1e2b5ddc4 move Clone to window directory
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Dominik Csapak
2ed6dceb9e cloudinit: implement missing remove logic
this was missing from my original series
also enable deletion of the password field via remove button

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 13:28:59 +01:00
Dominik Csapak
4c5071922f add CloudInit Config Panel and use it
this lets the user edit the cloud init config
like username, sshkey, ipconfig, etc.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 10:05:57 +01:00
Dominik Csapak
b38d0810ca add CIDriveEdit
and use it on the HardwareView to add/remove and display the
CloudInit drives

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 10:05:57 +01:00
Dominik Csapak
0aa9d113a6 add qemu SSHKey Edit for CloudInit
displays all ssh keys in a big textarea, and lets you load one
from a file

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 10:05:57 +01:00
Dominik Csapak
01e02121c7 add qemu IPConfigEdit for CloudInit
resembles the lxc IPConfigEdit, but is slightly different

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 10:05:57 +01:00
Dominik Csapak
abe824aa95 add PVE.Utils.forEachBus and use it in qemu/HardwareView
this iterates over all busses or over the ones you specify
( a single or an array )

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 10:05:57 +01:00
Dominik Csapak
33f459ca5c improve node/lxc/qemu summary pages
let them use a one/two column layout depending on browser width
optimize stylings/padding values
get rid of the (now long) unecessary lazyitems plugin
(this was necessary for performance when we still used tabpanels instead
of our own configpanel with treelist)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-02-23 11:01:28 +01:00
Dominik Csapak
e7f07a2efc show guest-agent provided ip address in qemu summary
this adds a new component 'AgentIPView' which
uses the qemu-agent api call to tries to get the ip information for
the guests

only for vms at the moment, since for containers you already
set it on their network tab

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-02-23 11:01:28 +01:00
Thomas Lamprecht
8cdfb23faa qemu/wizard: move to declarative syntax
Use a ViewModel directly, instead of emulating its behaviour with a
ViewController.

The rest consists mostly of indentation changes, moving some
components directly inside their parent declaration.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-15 14:48:02 +01:00
Thomas Lamprecht
8a56fe1a87 ui: qemu: make DisplayEdit declarative and drop DisplaySelector
DisplayEdit did not get a cleanup during our ExtJS 4 to ExtJS 6
cleanup, in fact it was really touched in the last 5 years.

So refactor it to a declarative syntax, at least almost, we keep the
me.load in initComponent, just to much hassle to adress this for now.

Also purge DisplaySelector. It was a component inheriting from
KVComboBox with the possible VGA values as items only used here.
So just use a KVComboBox directly and set comboboxItems directly.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-09 14:46:14 +01:00
Dominik Csapak
8cd96756d3 fix edit button for some panels
when using the 'run_editor' function provided by the ObjectGrid,
we have to make sure the function runs in the context of the grid,
not in that of the button, else we cannot access the
selectionModel/rows/etc. of the grid

this happened with the switch to the widget toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-07 10:39:57 +01:00
Dominik Csapak
b6450910ce fix #1629: improve min/max memory handling
instead of directly setting the minvalue when the maxvalue is lower
we invalidate it and only on blur we set the minvalue

without this we lose the minvalue when editing only the maxvalue

e.g.:

Max: 2048
Min: 1024

if we now edit the maxvalue to 4096, on pressing the '4', we are
setting the minvalue to '4' because 4 is lower than 1024

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-31 14:08:46 +01:00
Dominik Csapak
07de011804 fix #1631: change units to binary prefix
we always expected MiB/GiB but labeled them incorrectly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-31 14:08:34 +01:00
Dominik Csapak
a71b43989e enable/disable xtermjs depending on the existance of a serial port
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-01-30 16:37:21 +01:00
Dominik Csapak
a488da8c24 show serial ports on the gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-01-30 16:37:21 +01:00
Dominik Csapak
cd86ab24de change group of unused to 99 to that we can add things in between
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-01-30 16:37:21 +01:00
Dominik Csapak
7f0b90e937 qemu/Monitor: save the last 20 commands
and make them available with the up/down arrow key

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-29 15:08:30 +01:00
Thomas Lamprecht
ef4ef788d5 use InputPanel from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
0ee5a21ef1 use LogView from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
9cb193cf8c use ObjectStore from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
672a6270ea use HelpButton from widget toolkit
Proxmox.button.Help renamed the css class for the button styling, as
this class is only used rarely and the widget toolkit does not
provides a (shared) css file itself, just rename it here too.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
8cbc11a70c use TaskViewer & TaskProgress window from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
9fccc702ec use windowEdit from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
bc0eaf5870 use PendingObjectGrid from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
998922c308 qemu/Options: cleanup & use new features from ObjectGrid
Ther's a little delay with the revert button on pending changes, but
that was the case previously too, so don't worry for that in this
patch

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
09cacce778 use KVCombobox from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
ce7eeea1bf use RRDTypeSelector from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
896c0d5019 use Checkbox from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Dominik Csapak
7c3876c88b remove unneeded SendKeyMenu
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:38 +01:00
Dominik Csapak
e7ade592e3 use Proxmox.Utils instead of PVE.Utils
some function are now in Proxmox.Utils instead, so we have to use that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:38 +01:00
Dominik Csapak
5720fafabc use Button from widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
6c60ab5e58 use Tasks from widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
5536d678cb use RRDChart and RRDStore from widget toolkit
also remove old unused RRDView

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
bf96f60deb use IntegerField from widget toolkit
there we implemented deleteEmpty, which we can use in some cases.
this also fixes a bug in the ControllerSelector where
an empty field would be allowed (but should not)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
dbed4c1c05 use TextField from proxmox-widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
76f56b02ad add spec-ctrl cpu flag checkbox
also make the mechanism for the flag checkboxes generic

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-17 09:10:10 +01:00
Wolfgang Bumiller
f7e1db3d53 readability fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-01-10 11:47:26 +01:00
Dominik Csapak
1eeb6f176a add PCID checkbox to ProcessorEdit
but not in wizard, and default is off
(because we do not know if the cpu supports it)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-10 11:46:48 +01:00
Emmanuel Kasper
ea54132130 Set Console Button icon style at definition time
This will allow the 'Upgrade' button to get an icon too.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-20 14:33:30 +01:00
Emmanuel Kasper
ff5a8a9b44 Add a proper confirmation message when we detach an used disk
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-04 12:02:47 +01:00
Emmanuel Kasper
877fce5419 Fix #1526: Use 'detach' instead of 'remove' when the disk is used
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-04 12:02:47 +01:00
Emmanuel Kasper
72408db913 Fix JSLint type confusion warnings
The type confusion warnings arose from string and integer concatenation,
and object properties of the name which were alternatively set with
strings and integers.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-12-04 12:02:47 +01:00
Emmanuel Kasper
0464b05279 Do not translate PC hardware specific terms
The SKU (Stock Keeping Unit) field was never translated anyway in our po files,
probably because nobody knew what the initials meant.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +01:00
Emmanuel Kasper
a1af3e3842 Do not translate Qemu specific terms
Multiqueue is the proper name as used by Qemu, as seen in
https://www.linux-kvm.org/page/Multiqueue

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-28 11:24:52 +01:00
Dominik Csapak
fb71c9a595 use DiskStorageSelector in qemu/HDMove.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
1490ff3d7e use DiskStorageSelector in qemu/Clone.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
c56689d0dd use DiskStorageSelector in qemu/HDEfi.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
771aec961f use DiskStorageSelector in qemu/HDEdit.js
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
9fe20b3f6a prevent visual flashing of button when changing element in the tree
when changing between elements in the tree, either the
start or shutdown buttons were visually flashing (meaning they are
enabled/disabled for a short time and change state shortly after)

this patch fixes that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Acked-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-10-31 12:43:26 +01:00
Emmanuel Kasper
7b2f6ac8af Update VM SCSI controller type after OS selection in Wizard
This was done previously without any kind of user visible feedback, so users
would not know that they had a Virtio SCSI controller as default controller
for Linux VMs.

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-10-19 11:46:24 +02:00
Emmanuel Kasper
2414ef153a Update VM SCSI type based on iothread value when inside the wizard
We keep the same logic as before: once the iothread option is selected,
the SCSI controller is switched to virtio-scsi-single, until iothread
is unselected again.

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-10-19 11:46:24 +02:00
Emmanuel Kasper
42bd655684 Add a field to show which SCSI controller type we are currently using
We use the field label 'SCSI Controller'. 'Type' is redundant, otherwise
we would have Network Card Type, Display Type, Network Card type, etc ...

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-10-19 11:46:23 +02:00
Emmanuel Kasper
7206af4b04 Do not use 'autoselect' as a boolean when preselecting a bus
The bus selector is displayed when we add a Hard Disk or CD Drive.
When it is displayed, we *always* preselect the next available
slot on the controller of our choice.
So this test is not needed.

We keep the test on the string value of 'autoselect' to select
a bus position when adding a CD Drive.

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-10-19 11:46:23 +02:00
Thomas Lamprecht
11480a8ca0 fix #1518: ui: qemu: add HA manage menu item to panel
Allows to add an unmanaged VM to HA or to edit the HA settings of a
managed one.

Fixes: #1518
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-19 09:24:46 +02:00
Thomas Lamprecht
757f4362c2 ui: qemu: combine system changing buttons
add a 'More' Button to the VM and CT Config Panel (its base panel)
and move all buttons which may result in config changes there.
After that we have separated power/migrate actions from system
affecting actions (clone, remove, convert to template).

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-19 09:24:46 +02:00
Thomas Lamprecht
d24064e4d3 PVE.qemu.OSTypeEdit: declare static
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-25 14:11:50 +02:00
Thomas Lamprecht
5f38c3fc81 wizard: merge CD/DVD and OS panels
We had a single column for the CD/DVD panel, fill the second column
with the now in size reduced OS type selector, as ISO selection and
OS type selection are tied together.

Reduces steps needed for creating a VM.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-25 14:11:50 +02:00
Thomas Lamprecht
e41bb8b9b6 OSType edit: switch to combobox
Move from the radiogroup to two comboboxes, where the base OS and
then a specific Version can be choosen.

Avoids multiple occurences of strings like "Microsoft Windows" and
saves a lot of space - which will be used to merge this panel with
the ISO selector panel in the create wizard.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-25 14:11:50 +02:00
Thomas Lamprecht
0f421616f1 refactor OSDefaults, OSTypeEdit: add and use getDefaults
encapuslation wise it makes sense to have a helper which assembles a
os specific setting object in the OSDefaults class, where those
settings are defined.

Else we always need to check if the current OSType on the user side
of this class, which is against encapsulation.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-25 14:11:50 +02:00
Thomas Lamprecht
4ad508efc9 ui: reuse ResourceStores default handling for guest description
First, there was an additional space between "'" and ")" which lead
me to this.
I could never trigger the case where vmname is undefined, and saw
that we have a almost same default handling in data/ResourceStore.js

So, just use that one instead here - it misses the single-quotes
inside the parentheses, but as there are already said parentheses
this is visually still very OK, IMO.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-22 10:41:57 +02:00
Matthias Urban
8ed196a408 VM.Snapshot.Rollback privilege added
VM.Snapshot.Rollback privilege added

Signed-off-by: Matthias Urban <matthias.urban@pure-systems.com>
2017-09-22 09:24:44 +02:00
Thomas Lamprecht
3695863919 disable discard for non-scsi disks
Adapted from: Dominik Csapak <d.csapak@proxmox.com> version

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:43 +02:00
Thomas Lamprecht
ed1ac8f4b3 create: clear iothread on disable
A user may set the `iothread` option and then change the bus type to
something which does not support it (sata, ide), while we disable
it the previously set value remains, which is confusing.
An user could think he coulkd trick the Wizard into using iothreads
for SATA/IDE but we just ignore the value in this case.

Set iothread to false in the case it gets disabled.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:43 +02:00
Emmanuel Kasper
2a2dce7037 Change the SCSI controller type when editing a harddisk only when creating a VM.
If not, the following could happen:
 * user has a VM with two disks attached to a LSI controller
 * adding a third disk, he notices the iothread option, and clicks it
 * the scsihw type for all disks is changed now to virtio-scsi-single
 * on next cold restart, STOP 0x0000007B INACCESSABLE_BOOT_DEVICE for a Windows VM

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:43 +02:00
Thomas Lamprecht
8722af4a58 remove unused variables
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:43 +02:00
Thomas Lamprecht
2d06e72392 HDEdit: push more items in the same call
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:43 +02:00
Thomas Lamprecht
79a14fbbd8 CreateWizard: remove title from confirm tabpanel
It isn't needed as its obvious that the table below show the
configuration. It just takes away space.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:43 +02:00
Dominik Csapak
8ad3421180 hide migrate in contextmenu when no cluster or no rights
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 11:07:42 +02:00
Dominik Csapak
6ecdb34077 hide not usable buttons for qemu
this hides not usuable buttons for qemu
e.g. start/shutdown for templates
migrate for non-cluster setups

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-09-01 09:59:48 +02:00
Thomas Lamprecht
9a8a573568 qemu/create: use 'virtio-scsi-single' if 'iothread' is set
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reported-by: Nils <gismo3303@gmail.com>
2017-08-22 10:49:57 +02:00
Thomas Lamprecht
7a6e0635cf qemu/HDEdit: whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-08-22 10:42:42 +02:00
Emmanuel Kasper
7da4966dc0 Select OS Type after selecting the Installation Media
This prepares for the future, in case we want to infer the
OS Type from the installation media name or content.
2017-07-11 13:25:25 +02:00
Emmanuel Kasper
8d4f1d4d2b Use a View Controller for making components react to each other
This allow to declare all the components inside the same items
array, and separate behaviour from view better.

No functional changes.
2017-07-11 13:24:48 +02:00
Emmanuel Kasper
85806e47d1 Use camel case for InputPanels aliases
Camel Case names for component alias follow Ext recommended practises
and are used otherwise everyelse in the code base.

No functionnal changes, aliases for these components were not used
anyway.
2017-07-11 13:23:38 +02:00
Emmanuel Kasper
1b6f87ab1d Add a Skip replication option on Disk Panel
This will allow to disable replication, when for instance we
add a disk on a non-replicatable storage.
The option is hidden in the wizard, because at that time no VM
replication has been set.
2017-06-27 10:49:35 +02:00
Dominik Csapak
d5a7996b13 fix reselection on vm/ct migrate in gui
there were a number of problems in how we reselected vms when they
migrated and selected:

we relied on the data in the configpanel to be static, but since
pveselnode is a reference, it actually changes when the resourcestore
changes
also, handling the reselection as a response to the statusstore failure
is very inconsistent, because we know exactly when a vm moves node in
the tree

this patch removes the whole configpanel vm migration code,
and lets the tree handle it
for this, we have to check if we have to reselect the entry,
deselect it manually and after the treeupdate reselect it

also in the right click selection check we have to check if it is
already selected, else the next selection will get canceled

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-23 13:01:12 +02:00
Dominik Csapak
1d0293b8c0 show resume button when qmpstatus is 'suspended'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-22 12:24:03 +02:00
Dominik Csapak
cb6df20c2e add replication grid to lxc/qemu/node
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-14 07:34:48 +02:00
Dominik Csapak
ec3d837288 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>
2017-06-08 16:06:16 +02:00
Dominik Csapak
2668ba649c 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>
2017-06-08 16:05:27 +02:00
Dominik Csapak
f46721af8e 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>
2017-06-08 15:57:56 +02:00
Dominik Csapak
fa522e4867 show usb devices in qemu hardware view
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-08 15:57:56 +02:00
Dominik Csapak
461833217b add defaultButton and focus to snapshot window
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-02 16:16:51 +02:00
Dominik Csapak
05c4b7645d use nodename parameter to preselect the node in the wizard
this will be used for the ndoe right-click-menu

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:54 +02:00
Dominik Csapak
d6dab970ba add a 'convert to template' in the vm action bar
this was only available on right clicking a vm, now it is also available
in the action bar

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:53 +02:00
Dominik Csapak
f2fa05d13d move qemu reset button into shutdown menu
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:53 +02:00
Emmanuel Kasper
d5e771ce51 Rename 'create' to 'isCreate' in pveWindowEdit and subclasses
This fixes around 20 jslint type confusion warnings.
Also reduce the scope and document jslint warnings along the way.
No functional changes.
2017-03-02 10:36:35 +01:00
Emmanuel Kasper
67cb91e4d7 Indentation fix 2017-02-28 11:33:51 +01:00
Emmanuel Kasper
f4f9e66296 Make explicit the meaning of an empty storage field
By default when no target storage is selected in the clone panel, the clone
will use the same storage*s* as the source.

This was not obvious to guess that from the panel.
2017-02-28 11:20:30 +01:00
Emmanuel Kasper
c8fc7a4eee Add a clone button in the VM toolbar
Up to now the Migrate function had a first class button in the toolbar,
but the Clone function didn't.
With this button the toolbar still fit correctly in a smaller
1280 pixel wide display.
2017-02-22 13:54:36 +01:00
Emmanuel Kasper
4e2b6cc8ee Move the snapshot API test to a static function
This will allow code reuse in a following patch.

No functional change.
2017-02-22 13:54:36 +01:00
Emmanuel Kasper
0057ea5c88 Fix handling of failed API call verifyFeature()
This call can for instance fails when a source VM has references
to non existing storages.
2017-02-22 13:54:35 +01:00
Emmanuel Kasper
4092576b1b Fix #1266: use a renderer when displaying Unix timestamps.
The timestamp is displayed read only in a large window, and not sortable,
hence we use the human readable renderer.
2017-02-01 10:09:58 +01:00
Emmanuel Kasper
ec99b1c367 Remove duplicate strings 2017-01-18 10:19:43 +01:00
Emmanuel Kasper
22c01a4473 Disable autoSelect of target storage
autoSelect: true  was surreptitiously commited with the refactoring
of 406ac585db
( Use component references via lookupReference() )
2017-01-12 17:00:33 +01:00
Emmanuel Kasper
406ac585db Use component references via lookupReference()
This allows to add the components in each column in the order they
appear in the Clone Window.
References from child components are kept in an object in the parent
component so it should be the same performance-wise (contrary to to Ext.ComponentQuery
which is doing DOM parsing)
2017-01-12 12:26:07 +01:00
Emmanuel Kasper
68a433faff Use qcow2 as default disk format for clones fix: #1144
When using a file based storage, qcow2 has more features as raw,
this is why we recommend it for clones, similarly to when adding
new disk images.
2017-01-12 10:56:02 +01:00
Emmanuel Kasper
1c06db3444 Do not show a Clone Mode selection Window for non-templates clones
As Non-templates clones are always a full clone.
2017-01-12 10:48:29 +01:00
Emmanuel Kasper
364c58460f Group the Pool selector combobox to the VM properties
The pool membership relates here to the VM membership, not
the storage membership, so it makes sense to move it closer
to the VM ID / VM name form fields.
2017-01-12 10:41:47 +01:00
Emmanuel Kasper
2f3c5c38c0 Make the Snapshot selector an optional parameter in the Clone Window
The snapshot selector was known to confuse first time pve users.
Some wondered that they had no snapshot called 'current' in their
snapshot trees, and other thought that snapshots would be included
in the copied image.

So before displaying the Clone Window, do an API call to verify
if the source VM has snapshots.
2017-01-12 10:41:36 +01:00
Emmanuel Kasper
26693bb937 Disable the submit button based on whole form validity
Until now we disabled the submit button, based on
the feature API call where we tested if the selected VM, and its snapshot
can be used as the source of a clone.

This had the following problems:
 * the feature test for copy clone / linked clone always returned true,
 since the passed paramaters were already filtered before user input
 (ie we only allowed a linked clone to be selected if the source VM is
 a template, or a snasphot to be selected if existed on source VM)
 * the guest ID input field was not validated

With the current patch, the validation is now made on each of the form
fields. verifyFeature() is still used to populate a list of valid nodes
passed to the Node Selector.
2017-01-12 10:40:22 +01:00
Emmanuel Kasper
c3dea8fcaa Use correct parameter for GuestIDSelector 2017-01-12 10:38:01 +01:00