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>
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>
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>
this is now all in the widget-toolkit and needs to be
set/read to/from there, else we possibly get an inconsistent view on
those
this fixes as issue, where after login the ResourceStore would not update
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>
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>
we improve the icons in the tree and the resource grid by
differentiating between cluster online/offline status and no rrd data
when we have no rrd data from a node/storage, instead of showing a
red x (which is scary) even if the node is reachable by corosync (which
confused quite a bit of people, because we show all nodes as online in
the datacenter summary), we show the node/storage with a '?'
this signals that something is wrong with this node, even if we can
reach it via cluster methods
this rewrite of the logic includes a refactoring of the method
of getting the icon, because we want the same icons in the tree and the
grid, and an optimization on how we use the css classes
(introducing a x-grid-custom-icon class)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
simplify HA Information in VM/CT Summary panel.
Use the already translated 'HA State' instead of 'Managed by HA'
(which now becomes obsolete as it was the single appearance).
Simplify PVE.Utils.format_ha respectively to mach the new name,
as here is the only use of this function we have no side effects.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
move from the key => value format to one where all versions from a
base OS type can be directly used as data for a store.
We will rely on this in the next patch to allow a easy transition to
combobox UI for the OS type selector.
We also avoid having the base type multiple times.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this is for adding a pve managed ceph rbd storage, so that the user
just has to select the pool, and does not need to write the monitor
hosts and copy the keyring
the old "RBD" is renamed to "RBD (external)"
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
so we always show one decimal place
(instead of all with seconds and none with minutes, hours, days)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch changes the ceph dashboard
now we show the information in a more graphical way, namely:
the overall status is displayed by a big icon (+health)
the warnings/errors are in a list (with severity)
we show more detailed information about monitors, osds, and pgs
we show the usage of the cluster as a gauge graph, and
the reads, writes and iops as running charts (the last 5 minutes)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
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>
with this patch, vms in an ha error state get an icon (reusing the node
offline icon) to indicate the error
in the resource grid, we also add the icon, and have an additional
column where we can display the ha state
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
when we get a max value of 0
(for example when a storage is not active)
the render function would show:
'NaN% (0B of 0B)'
because of a division by 0
this patch simply returns 'N/A' because
a max value of 0 should never be valid
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This will allow us to add contructed values ( regexp a = stringA + stringB )
into the constructor.
Access to the PVE.Utils properties and methods stays the same.
instead of manually setting the onlineHelpTooltip property
we now have a method which maps links to the docs to
titles
for now this uses a static hashmap, but in the future
we want to generate this by the pve-docs package
also most of the subheaders we can generate instead of
saving them because they simply have each word capitalized
(e.g. '_container_network' => 'Container Network')
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
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>
this adds a component StatusView which is intended to
replace the old statusview panels of qemu/lxc/nodes
(later maybe also pools and storages)
it extends Ext.panel.Panel and expects an rstore and title
it is not intended to be used directly but to be subclassed
it works like this:
on instantiating, it adds a listener to the rstore load,
so that on every rstore load 'updateValues' gets executed
there, if successful, looks for every subcomponent of type
'pveInfoWidget' and calls 'updateField' on it
'updateField' calculates the update text and value for
the info widgets based on the given class variables
using either:
textField -> which gets the value from the store and
displays it simple as text (with renderer and calculator)
or valueField and (optional) maxField
where it determines the usage
(also with a renderer and calculator)
for both there is a default calculator/renderer
but this can be overwritten when instantiating/declaring
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a vtype which splits the given string into a list by
; or , or space
and checks if it is a valid (hostname|ip) port notation
also make the rbd monhost input field use it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
in my commit 685b7aa4c5
i introduced a bug with that an item gets selected
in the tree when you right click on it
also fix the function parameters
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we had the function for the cmdmenu at two
different places (resourcetree and resourcegrid)
move it to PVE.Utils to reuse code, and
also use it in pool members list
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the hotplugselector was not good to use,
and the options were confusing (empty was the default value, etc)
now we have checkboxes for each value, and if none are selected,
hotplug is disabled
also fixes the renderer when hotplug is set to '1' which
just means the default of 'disk,network,usb'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
with this fix, we (again) allow ipv4 cidr to be as low as 8
also check the cidr for ipv6 and show the valid ranges in the
error text
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Strings like 'Linux 4.X/3.X/2.6 Kernel' are difficult
enough to visually parse, so don't append the internal
representation (l26) at the end: it does not bring any relevant
information to the user, and we usually don't display
internal representations in the GUI.
previously, we had a disk/memory usage column in the resource grid,
whose raw data were the bytes used, but we added a renderer
to display it as percentage
with this, the columns sorted by bytes and not by percentage,
which made the column rather confusing
with this patch, we add a real percentage column (where the
data is a float from 0 to 1) so it sorts correctly
also make the old columns show the used size in B/KiB/etc.
by default we still only show the percentage column
since the disk usage part was always zero with qemu guests,
leave it empty there
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we set new icons for the tree and grid
changes:
* new icons
* wider type column (bigger icons)
* use arrows true (uses arrows instead of +/- and gets rid of the
ugly lines in the tree)
* datacenter has icon instead of folder open/close
* "folder view" gets type icons for folders
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we used a factor of 2^10 when calculating, but
wrote MB,GB,etc which is not (entirely) correct
this patch changes the units to MiB, GiB, etc,
because this is more sensible than changing the calculation
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we used an empty value for the Key-Value ComboBox for defaults.
With extjs6, if the idProperty of a model is empty, they generate
a name for it, which breaks our logic for submitting
(currently we checked if this is empty, and send a delete command
to our api)
instead, we use the value 'default' and check for it when we submit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
includes the following fixes:
* remove all code related to the old java applet vnc client
(we do not use this anymore)
* move static configuration to class definition
* use Ext.ux.IFrame instead of widget.uxiframe (to be consistent)
* change listener from show to activate (for browser refresh)
* change deprecated autoScroll to scrollable
* remove novnc option from openVNCViewer function,
since we do not need this option anymore
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
ExtJS6 adds accessibility (aria) support to the framework, which means
special handling of space/enter key and panels title, and a lot of
warnings / errors in the browser console
Aria support will be reenabled after all the components are migrated to
ExtJS6