allowSpice needs to be a real boolean, because of a
'=== true' check to open a spice console if allowed, so make it one here
this fixes the issue that a doubleclick on a tree item only opened
the novnc console even if spice is the default and the vm is spice
enabled
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
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>