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>