104 Commits

Author SHA1 Message Date
Thomas Lamprecht
845956ccaf ui: add CephFS integration
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-23 13:59:49 +01:00
Dominik Csapak
ed6296c4c5 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
e1a9da2c7f 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
60bb91ba55 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
695b6120eb 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
725128bbff 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
fc33101191 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
3f33951bb0 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
5cae151d8f add Directory list/create gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:42:17 +02:00
Dominik Csapak
7f794dcb22 add LVMThin list/create gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:42:04 +02:00
Dominik Csapak
6c4c85d018 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
676b5a9e9f 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
67f413c2a8 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
62bc2f4827 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
9265782932 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
80d50f89cd 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
e097a60260 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
b605c0a2b2 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
462f088d74 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
064dd6bdb5 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
1c32b7d087 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
8f60ee4cca 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
0eab34b9fb move TemplateMenu to menu directory
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Dominik Csapak
393f5ffb41 move Clone to window directory
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Wolfgang Link
aaabf1c190 Add cifs storage plugin 2018-03-19 12:56:13 +01:00
Dominik Csapak
69bfdc1507 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
a646a86ca9 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
8a1e3f6c6b 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
593b4f6151 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
c2e814237c 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
37c91965f9 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
860d71a234 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
c3a1166ed7 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
e54f7d0a8b 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
dd5e77fa85 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
6529dbca44 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
74c82e073f 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
0a06dc0049 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
85daa13bcd 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
ed7d742942 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
ef752dc1e3 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
0d173d3e55 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
f6355cb78a 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
ac187266de 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
324095c43e 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
9946c4bd24 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
956cd0bdda 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
f1df7184bf 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
b7c72c0e89 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
e0f07195a9 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