1069 Commits

Author SHA1 Message Date
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
80e95f9c99 add render functions for Certificates
this adds render_optional_url for a field which may contain a link
and render_san which simply displays the different values
in each line

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-04 16:11:00 +02:00
Dominik Csapak
94662e2c90 disable the mountpoint selector and path field by default
since in the wizard, the validity check happens before the
viewmodel can set the visible/enabled state so this is invalid there,
even if the remaining panel is valid

setting it to disabled by default, makes the fields 'valid' at the
beginning but retain their behavior

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-02 08:28:29 +02:00
Dominik Csapak
2253a5ead5 show qmpstatus if available
this patch shows the qmpstatus if it is available on the summary in
parenthesis

this shows things like 'suspended' and 'io-error'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-30 11:02:08 +02:00
Dominik Csapak
7e2add23be implement multiField renderer for infopanels
we can use this for fields which use more than one value of the
guest status

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-30 11:02:08 +02:00
Thomas Lamprecht
8368c3b0d9 dc/ClusterEdit: join: fix assisted entry chechbox change listener
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-04-27 15:47:41 +02:00
Dominik Csapak
b4cdf78629 jslint fixes
those found their way in during a rebase of my patches

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-25 11:56:09 +02:00
Dominik Csapak
5c47f4fddb 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
f9bf58a92e add xterm.js settings
this adds font-settings to the 'My Settings'
window and makes that bigger

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-23 09:42:55 +02:00
Dominik Csapak
3ffa987830 set the default console in the gui when setting the option
until now, we only set the default console once on page load,
this enables to set it everytime the dc->options panel loads,
so also after setting an option

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-23 09:42:55 +02:00
Dominik Csapak
df58ed272c remove the novnc panels for node/container
so that by default the users get xtermjs
not for vms though, since most will still not use a serial
terminal as the display

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-23 09:42:55 +02:00
Dominik Csapak
1294fe660c 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
b6d03d8bb5 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
be60d9a5aa fix #1732: actually post values in IScsiEdit
this prevented creating/editing an iscsi storage

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-19 14:52:05 +02:00
Dominik Csapak
9a582aead1 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
25023d7283 better focus of lxc/MPEdit
this gives the focus to either the 'path' field
or to the 'X' tool (if it is a rootfs)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 13:51:30 +02:00
Dominik Csapak
2967087847 merge cores, cpulimit and cpuunits for containers
like we do for qemu vms

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 13:38:36 +02:00
Dominik Csapak
b44ca5bac6 lxc/MPEdit: rework for advanced options
this is a complete rework of the inputpanel (long overdue)
it uses a viewModel and viewcontroller to avoid the
multiple is zfs/root/bind checks and concentrate them
in one place

also some features get optimized (e.g. the noreplication checkbox)

adds a setNodename to the DiskStorageSelector so that we can bind
the nodename there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
86daeceb9d Utils: add forEachMP
in the style of forEachBus, but for containers, so that we
only have to save the count once

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
3f40bc2975 lxc/ResoureEdit: move some cpu fields to advanced options
and show them now also in the wizard

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
2628dc75ab 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
fe8323a0b4 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
d800aebca3 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
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
658222b29a 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
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
Dominik Csapak
3190f6266e 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
ad890f0d4a 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
8bb1541c24 add advanced checkbox to the wizard
so we can show/hide the advanced options of the inputpanels

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dietmar Maurer
e1c35ff029 Cluster.js - use load event from rstore 2018-04-05 12:11:21 +02:00
Thomas Lamprecht
370e6d327f ui: silence auth failures during cluster join
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-04-05 11:42:23 +02:00
Thomas Lamprecht
17ec86d615 ui: add cluster join window POC
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-04-05 11:41:17 +02:00
Thomas Lamprecht
79c9a23af2 dc/Cluster: allow to get join information
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-04-05 11:38:03 +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
Thomas Lamprecht
cf64423cdd controller: StorageEdit: check if 'maxfiles' could be looked up
Allows to extend our, in the ext patch introduced, storage base class
to use the controller for all storage plugins without breaking those
which cannot host backups - i.e., all block based storages

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-28 13:19:41 +02:00
Thomas Lamprecht
bf855846f2 ui/Utils: add storage schema
add a schema describing our storages name, the map for its
InputPanel, the icon we show in the add menu, and if it is available
at all there.

For now just use it to simplify the ugly if/else mess
format_storage_type was, future patches will use the information to
generalise Adding/Editing of those storages.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-28 13:19:41 +02:00
Thomas Lamprecht
2c3a7fc55b ui/Utils: do not create non-standard console.dir fallback
resolves a future jslint type confusion and as it's nor standarized
nor used by our code we can just drop it.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-28 13:19:41 +02:00
Thomas Lamprecht
d9c0aa6c36 ui: restore: add bandwidth limit field
Let user input MiB/s as values in the KiB/s range are not that handy
and would make even smaller backups need several hours to restore,
days for bigger ones.

Try to give the user imformation about per-storage bandwidth limits
and how he can disable all of them.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-26 14:23:50 +02:00
Thomas Lamprecht
21a1cba54c ui: dc/storages: add bwlimit column
we have a format list, so just render it as plain text easiest to do
and gives an OK feedback

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-26 14:15:25 +02:00
Thomas Lamprecht
362257448c ui: dc/storages: use responsive column width
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-03-26 14:15:25 +02:00
Dominik Csapak
1309ea3901 make container clones/template available in the gui
also refactor the right click menu logic

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Dominik Csapak
6d7dc5aced adapt and rescope TemplateMenu for containers
make it guest agnostic so that we can use it for lxc also

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01: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
11183ce685 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
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
e355b7a154 use correct settings for nf_conntrack options in firewall panel
this changes the FirewallOptions back like it was before we
changed to the widget toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-16 16:13:36 +01:00