Commit Graph

222 Commits

Author SHA1 Message Date
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
Fabian Grünbichler
98d4857044 www: add permissions button to userview
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-29 10:41:08 +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
56b14a54ea ui: add Bandwidth selector widget
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-27 11:24:46 +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
Aaron Lauterer
1d73b8d9f5 ui: add spice enhancements form component
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-10-07 16:16:34 +02:00
Aaron Lauterer
fbd0335fbf Cleanup: align backslashes in manager6 Makefile
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-18 12:00:53 +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
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
a6c60aed86 gui: ceph: add ServiceList component and use it
this is an abstraction for listing Ceph Services with a few improvements:
* start/stop/restart buttons for all services (incl. icons)
* a syslog button to view the syslog of that service
* correct reloading behaviour when creating/destroying

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-06-05 12:41:11 +02:00
Thomas Lamprecht
76bbe3e2d5 drop references to un-maintained sheepdog plugin
as already announced over two months ago[0], remove the unofficial
SheepDog plugin now completely. Besides that it was never fully
supported in Proxmox VE one of its main developer and ex-maintainer
declared it as abandoned[1], and thus just let's remove it, git
allows to resurrect it any time if a wonder happens anyway.

[0]: https://pve.proxmox.com/pipermail/pve-user/2019-March/170497.html
[1]: http://lists.wpkg.org/pipermail/sheepdog/2019-March/068449.html

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-04 17:45:38 +02:00
Tim Marx
55b49d7ef2 whitespace cleanup
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2019-05-31 15:24:57 +02:00
Dominik Csapak
95d0de895a gui: ceph: add Services.js
Used for a new Panel in ceph dashboard, shows the ceph services
managed by us (mon,mgr,mds)

some code is copied from 'ceph/StatusDetail.js' and is not necessary there
anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-27 16:17:29 +02:00
Wolfgang Bumiller
24d2ed8c27 ui: support u2f authentication and configuration
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-04-03 15:26:37 +02:00
Christian Ebner
40120a3120 Allow to set the firewall log rate limit and burst from the UI
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-04-01 14:59:16 +02: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
Christian Ebner
75122e54d8 1145 Warn if datacenter firewall is disabled
This warns the user that the datacenter firewall is disabled when editing the
host or the VM/CT firewall status.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-03-13 10:03:32 +01:00
Tim Marx
4616a55b37 added basic ability to install ceph via gui
Signed-off-by: Tim Marx <t.marx@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-08 12:33:31 +01:00
Thomas Lamprecht
563ed5eed9 ui: add CephFS integration
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-23 13:59:49 +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
Dominik Csapak
02cebb1a46 gui: add MDevSelector
this is used to select a mediated device type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-22 13:31:31 +01:00
Dominik Csapak
5fc4ccfb9f gui: add form/PCISelector
this adds a form field for selecting a pci device

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-22 13:31:31 +01:00
Thomas Lamprecht
4a4b2b6e0b ui: dc/storage: allow to add CephFS
Allow to add CephFS storage over GUI. Reuse viewcontroller and model from RBD
to detect if we can do a "hyper-converged" addition (with PVE maintained Ceph)
or if only external is possible.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-19 10:40:49 +01:00
Dominik Csapak
a88fcb7d13 gui: expose lxc features
but constrain editing to root@pam
give a checkbox (for now) for nfs and cifs, but keep all that are manually set

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-05 10:37:57 +01:00
Dominik Csapak
fee716d32b add ZFS list/detail/create gui
list shows zpools only, with detail the user can see
the status of the indiviual vdevs/mirrors

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-08 08:14:06 +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
Dominik Csapak
6ac4621119 add Directory list/create gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:42:17 +02:00
Dominik Csapak
64f9c6d60c add LVMThin list/create gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:42:04 +02:00
Dominik Csapak
d660ba8a6c add LVM List/Create Gui
only let the user change the name of the vg

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:41:52 +02:00
Dominik Csapak
1c73c6e524 move DiskSelector to its own file, for generic use
also set the default diskType to undefined and
change the api endpoint to /nodes/NODE/disks/list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:40:45 +02:00
René Jochum
cd84df4c6e fix #1499 Implement a combobox for Permissions paths
Signed-off-by: René Jochum <r.jochum@proxmox.com>
2018-05-25 17:19:07 +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
René Jochum
675e71d37a fixes #1503 Add role CRUD to the GUI.
As given in the subject this implements role create/update/delete over
the manager.

There's currently no coler highlightning for "special" roles.

Signed-off-by: René Jochum <r.jochum@proxmox.com>
2018-05-08 15:54:22 +02:00
Dominik Csapak
c287e2336c add node/Certificates.js and use it
this adds the grid for showing the custom/builtin Certificates
and the means to upload and delete custom ones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-04 16:11:00 +02:00
Dominik Csapak
488be4c2c0 add node/ACME.js
this provides the grid for editing domains for letsencrypt,
order/renew the certificates, and the window for creating an
ACME account

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-04 16:11:00 +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
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
Thomas Lamprecht
8ad2b3a1d7 dc/Cluster: allow cluster create over WebUI
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-04-05 11:30:21 +02:00
Thomas Lamprecht
2f13e1d201 dc: add simple cluster panel
Show configured cluster nodes with their addresses, votes, IDs.
Also show cluster name, config_version, and node count.

Prepares for creating and joining a cluster over the WebUI.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-04-05 11:25:55 +02:00
Thomas Lamprecht
f28ec3e4b3 ui: add storage plugin base class
This removes *a lot* of code duplication.

I add a base class for the storage edit window and for its containing
input panel, they implement the shared stuff. Especially the window
was mostly a 1:1 copy...

I look hard for a way to split up this patch, but I did not really
found one which would not generate a lot of work for no value added
(value being 'revertability' and better git history here).
nd actually not too much happens, the same thing happens just over
and over again.
Thus, I've thrown in the dynamic creation of the storage add menu
items here too.

I remove all storage specific Edit windows, they where all just >95%
duplicates of each other.
Special functionallity, i.e. some data deletion/transforming before
submitting gets done with onGetValues.

For the RBD external vs PVE plugin I just added a minimal child class
to RBD which only tells it'S parent that it is the pve one, this is
nice for the mapping and should be easy to understand when reading
the code.

Tried to test an add and an edit of all visible storage plugins,
seems to be OK now.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-28 13:19:41 +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
f1e2b5ddc4 move Clone to window directory
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Wolfgang Link
ca9a198ac7 Add cifs storage plugin 2018-03-19 12:56:13 +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
Fabian Grünbichler
7beadbc886 build: remove empty WWWROOT dir
seems to be a remnant of the Apache days..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-03-13 11:06:12 +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
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
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
5683fb60d1 use GaugeWidget 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
56a353b9e7 use RestProxy from widget toolkit
Split PVE specific models, which where not moved to the general
widget toolkit, in a separate folder: data/models/

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
b97ad4656d use TimezoneStore 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
eaa018d71e use DiffStore from widget toolkit
The alias stayed the same (store.diff) so we need to change direct
usage of 'PVE.data.DiffStore' only.

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
8ea2c8709e use ObjectGrid 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
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
Thomas Lamprecht
70fb5dc57a use BondModeSelector & BondPolicySelector from widget toolkit
widget name stayed the same, so no need to change

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
145806532d use LanguageSelector 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
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
66ce20fd9f use DNSView/DNSEdit 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
4178b82ab5 use ServiceView 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
0c7c0d6bcf use UpdateStore 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
0926feeeb4 use JsonObject from widget toolkit
same xtype/alias, so there is nothing to do except remove it from
pve-manager

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
8bb85b71cc add rrd models
they will be used with the rrdstore

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
371d39ef1e use NodeAPT grid 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
13ff8209f8 use NetworkView/NetworkEdit 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
939edd73c9 use TimeView and TimeEdit 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
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
0fc95a12ee use ComboGrid 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
342225bfda move lxc mountpoint edit from ResourceEdit.js to MPEdit.js
to follow qemu code

also fix the jslint errors in MountPointInputPanel and MountPointEdit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
acd0d10a2a add new DiskStorageSelector.js
this is a wrapper for selecting a storage/disk image

it is a simple container with 4 form fields inside
which can be reused, whenever we need to select a storage for a disk,
image etc.

we have code similar to this four times already
(qemu image creation, lxc mp creation, qemu cloning, qemu efidisk
creation)

so it was time to refactor this and use the storage information from the
backend instead of hardcoding values in the frontend

for this we need to pass the format=1 parameter to the storage api call,
and to not load the fileselector when it is initially disabled

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Emmanuel Kasper
a7664d88d6 Add Storage Controller class
This controller will display the 'Max Backups' field only if the storage can
hold backups.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-07 09:35:45 +01:00
Thomas Lamprecht
e488f98182 ui: add PVE.menu.Item
Extend 'Ext.menu.Item' with a simplified handler logic also used in
'PVE.button.Button'.

If 'confirmMsg' config is set we wrap the defined handler in a
confirm dialog, useful if the menu item just makes an API call and
does not has an own (edit) window shown.

In contrast to the 'pveButton' we do not have a selection model,
enable function and the respective logic here.

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
Dietmar Maurer
e83795f570 Subscription.js - use enableTextSelection instead of 'selectable' feature
The 'selectable' feature does not work anymore.
2017-09-27 17:23:03 +02:00
Dominik Csapak
d6f5549e58 add CephPoolSelector
this allows us to give the user a list of pve managed ceph pools

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-09-07 12:35:14 +02:00
Dominik Csapak
9058a478af add replication grid
this patch adds a replication grid, which shows the status/configuration
for the defined replication jobs, and allow them to be
added/edited/removed

in case the replication grid gets shown in the datacenter, we omit the
status fields, because we only have the configuration there

when opening the grid, we check if there are at least two nodes,
because currently we only allow replication in a cluster environment

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-14 07:33:46 +02:00
Dominik Csapak
56da921434 add calendarevent form field
this is a freely editable combobox, which shows five usable examples and
their syntax, allowing users to deduct how the syntax works without
reading documentation

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-14 07:32:59 +02:00
Dominik Csapak
059cb51053 do not let www-data own the static js/html files
this is neither necessary, nor useful
those files are meant to be read only anyway, so there is no gain in
them being owned by www-data

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-09 14:00:30 +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
c11ab8cb4a add right-click menu for nodes
to easier reach the bulk actions, create wizards, and shell

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:54 +02:00
Dietmar Maurer
9556b395b0 depend on libjs-extjs 2017-01-25 18:29:17 +01:00
Dominik Csapak
6a4edbd195 change Start/Stop/Migrate all to Bulk actions
this uses the new vmselector and the new vmid filter in the backend
to allow starting/stopping/migrating selected vms instead of all

by default all vms are selected to have the same default behaviour

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-05 15:59:44 +01:00
Emmanuel Kasper
ed416f2024 Convert the VMIDSelector to a generic GuestIDSelector
This allows to display a 'CT', a 'VM', or a 'CT/VM' label
to be displayed, depending on the context.

Currently when restoring a CT backup or creating a CT via the
wizard, we are asked to enter a  *VM* ID, which is confusing.
2016-12-19 07:31:27 +01:00
Emmanuel Kasper
a255dd7e8c Turn the qemu StartupEdit widget into a generic component
and use this component for Qemu.
2016-12-06 06:53:20 +01:00
Dominik Csapak
195c7c8cbe add ceph statudetail panel
this adds a the component ceph statusdetail,
it displays the monitors (+status)
the osd as a table (in/out,up/down)
and the pg states as a list (+number)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:37:44 +01:00
Dominik Csapak
4226b8fba3 add runningchart widget
this adds a new component 'runningchart', which is a simple linegraph

you define a timeFrame (default 5*60 seconds), and you regularly add
datapoints to it, and the graph shows the last timeFrame seconds of it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:37:24 +01:00
Dominik Csapak
046e640c54 refactor health status widget and ceph status data
this adds a new component health widget, used for cluster and ceph
status

also refactor ceph error levels and ceph status data into PVE.Utils

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:37:09 +01:00
Dominik Csapak
c06fc22640 add the haStatus panel
for the new status

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 12:29:09 +01:00
Dominik Csapak
8a7e5598f1 add pveIntegerField and use it
this adds a subclass of Ext.form.field.Number with the settings for
Integers (allowDecimals: false and allowExponential: false and default
step size 1)

and use it where we only accept integers

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-02 17:14:06 +01:00
Dominik Csapak
23b126b2ba add guests panel
this adds a guests panel which will show the running/stopped/etc. guests
in the cluster dashboard

to update this, we have to call updateValues with the data

we do this, because in the component above, we will collect the data
after a load event of the PVE.data.Resources store, to avoid going
through this (sometimes large) list more than once

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:39:16 +02:00
Dominik Csapak
0b659b8ef9 add dc health panel
this adds a dc health panel which will be used in the cluster dashboard

it shows the overall cluster status (or simply ok if no cluster defined)
with a symbol and text

then it shows the number of online and offline nodes

optionally it shows then the overall ceph health
of the connected node

if the api call for ceph fails 3 times, we stop it
the ceph status is hidden by default

for updating the cluster and node status, we have to call
updateStatus as a callback from a store which
loads the /api2/json/cluster/status call

we do not have our own store for this, because we will be using the store
which handles this in the component above

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:38:18 +02:00
Dominik Csapak
f36edd909a add gaugeWidget
this adds a gaugeWidget panel, which will be used for the
cluster dashboard

it shows a title, a gauge (a half circle) with the percentage
in the center

over 59% the color is yellow,
over 89% the color is red

also you can add a text to the bottom

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:33:13 +02:00
Dominik Csapak
cd81cc2a8e move dcNodeView into its own file
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:31:47 +02:00
Dominik Csapak
ce11a8afd0 add 'my settings' to top bar
this adds a menu right to the username with an entry 'my settings',
this opens a window with (for now) browser specific settings
and a place to reset them

the plan would be to add password change, 2fa setup etc here

one remark: the reset layout button reloads the window,
to really apply the reset

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-28 09:46:25 +02:00
Dietmar Maurer
c8802a60b7 use auto-generated block IDs to reference online docu. 2016-10-13 11:26:06 +02:00
Thomas Lamprecht
8f46103543 Makefile: fix distclean target
As some Makefiles in sub directories do not implement the distclean
target, namely:
PVE/Service/Makefile
PVE/CLI/Makefile

This target is broken.

As all other implementations just redirect to the 'clean' target I
do not implement the missing ones but rather remove all such
targets. Keep it just in the top level directory, for consistence
sake with other pve repos, and redirect it there directly to the
clean target.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-09-28 08:21:48 +02:00
Dominik Csapak
f3777880e9 whitespace cleanup
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-13 16:42:29 +02:00
Dominik Csapak
3b37ab6db8 add efidisk button to add menu
this adds a new button "efi disk" to the
qemu hardware add menu

this is only enabled if the vm has ovmf enabled and
no active efidisk

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-13 07:52:46 +02:00
Dominik Csapak
f935538f4c remove ceph disk panel code
because we do not need it anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-07 11:44:35 +02:00
Dominik Csapak
a36deac4a5 add DiskList panel
this patch adds a disk list panel which:
lists the disks with typical columns
(type, vendor, serial, smart, wearout, etc.)

and with a doubleclick you can show the smart attributes

and with a click on init disk you can initialize a disk
with a gpt table

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-07 11:17:53 +02:00
Dominik Csapak
6da4aea874 refactor backupconfig window
refactor it in its own class, because we need it again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-05 11:20:41 +02:00
Dominik Csapak
f3bb7cf1a2 remove subconfigpanel related code
this removes all subconfigpanel related code,
since it is not needed anymore

we now have the treelist/cardpanel combo instead of tabpanels
which means we can drop the whole subconfigpanel class
and subclasses

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-24 12:32:25 +02:00
Dominik Csapak
4cb8c20f16 delete old lxc/qemu statusview classes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-19 13:54:37 +02:00
Dominik Csapak
6d43126dcb include new statusview classes in makefile
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-19 13:54:37 +02:00
Emmanuel Kasper
b70e9ef5c8 Add PVE.qemu.OSDefaults class to hold OS-dependant wizard defaults 2016-07-21 12:46:52 +02:00
Dominik Csapak
839eed5834 fix #558: add cluster wide search to the top
this makes use of the new globalsearch field and
puts it on top of the page, so that one can easily use it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-21 10:24:03 +02:00
Emmanuel Kasper
ecbca6c4c0 Add help button for PVE
This help button is meant to be added on InputPanels, where a
link to an online documentation chapter or subschapter is available.

Clicking on the help button will open the help in a new
browser tab.

Original idea similar to the pfSense GUI.
2016-06-01 12:30:25 +02:00
Dominik Csapak
52721af8dc add split button
the same code base as our pveButton
(selectionchange handling, confirm,etc.)
but with a split button (a button with a menu)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-05 07:42:06 +02:00
Dietmar Maurer
5783c7f4dd switch GUI to extjs6 2016-03-31 12:11:31 +02:00