and move the grouping feature in the class definition while changing
the text to a generic one
this allows us to group by all columns and still have meaningful
grouping headers
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we did not check the healthservices array for the monitor widget,
this patch does that, and takes the worst health state
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
since the value at the top is now directly a string,
we need the jslint confusion at the number and not for the
string at the bottom anymore
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we expect a gettext on a single line and to not contain any
variable/logic, so we remove the long text from it altogether (since we
do not want to translate that at the moment), and we rearrange the code
so that gettext only contains strings
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a default filter for bulk start and stop, so that only the
relevant vms are visible (stopped and started respectively)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this makes the column header not only italic but also bold, so that one
can more easily see that the column is filtered
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this uses the new vmselector and the new vmid filter in the backend
to allow starting/stopping/migrating selected vms instead of all
by default all vms are selected to have the same default behaviour
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this is a form field which is a grid for selecting vms
if nodename is given, it will filter the vms only to the given node
you can filter the grid with the column header, and only the selected
and visible items are in the value of the field
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this is mostly copied from MigrateAll.js, but a more generic way,
to allow startall and stopall to also use it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
On the old HA status we saw where a service was located currently,
this information was lost when we merged the resource and the status
tab.
Add this information again.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
since we access novnc always with the NoVncIndex.pm and never in extjs
itself, we can delete this code
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
We closed the Edit window too early, so listeners set to
the 'close' event would reload the underlying grid before the action
successfully completed on the server side.
(NB: the error was only displayed intermittently in the browser console)
The reload call could try a store reload before the store has
a defined url.
The call here is useless since the initial display of
the storage selector compoment will call setStorage() to pass an url
to the store and load it.
Also remove the test on me.store.proxy.url since it was not working
(ExtJS autodefined an URL based on the model name)
with this patch, we do not hide the ceph status anymore if the api call
fails (too slow, e.g.) as long as we showed it at least one time
also, we only stop the updates if we never successfully got the status
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
with this patch, the storage graph on the dashboard only counts the
storages which are selected in the settings window
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this will be used to filter the dashboard storage graph to the selected
storages, so that one can choose which storages are relevant
e.g. if you have one nfs server with multiple exports (on the same filesystem),
you only want to count it once
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
if the rstore in the diffstore is already loaded at the time of
the instantiation, load the data instantly
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this shows the validation status immediatly if no node is selected (for
instance because no node is online or you have only one node and open
the migration window)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
extjs saves the state including the sorter, but cannot serialize the
sorter function. when restoring the state, it is not a valid sorter,
so we delete it before saving
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the buffered renderer does not work with auto height, and was disabled.
to enable it, we set a fixed height
when nothing is found, display 'none' to indicate nothing was found
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
with extjs 6.2 the charts are initialized differently, so that we can
not do this in the afterrender event, instead we do it in the
initComponent, after calling callParent
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
in extjs 6.2, this property will not be set in ApplyIf, so we move it
into the static configuration, so that the headers will not be visible
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This allows to display a 'CT', a 'VM', or a 'CT/VM' label
to be displayed, depending on the context.
Currently when restoring a CT backup or creating a CT via the
wizard, we are asked to enter a *VM* ID, which is confusing.
since most people do not have many login realms to choose from, making
this search/editable makes no sense
but by making this non-editable, you can now click anywhere on the text
to open the options, instead of only the little arrow
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a default sort for the user, group and realmselector
so that the entries are in a consistent order
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
by mistake we checked if me.vtype is 'qemu'
but the property is me.vmtype, so we would always show
restart mode
note that this error was purely cosmetic, behaviour was correct
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
for now we have to explicitely define the
onlineHelp: 'blockid'
string, so that the parser picks it up
in the future we should refactor that window, so that we define the
blockid when declaring the component
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch adds a set/unset noout button (for easy maintenance of your
ceph cluster) and reorders the buttons so that global actions (reload,
add osd, set noout) are left, and osd specific actions are on the right
to reduce confusion, there is now a label left of the osd actions which
displays the selected osd
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we changed the ssh public key field to a pvetextfield, which return not
an empty string but null, so the .length check failed with an exception
we do not need to delete the field because it does not exists, when
no key is given
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
since we often use the kvcombobox not statically but load its store at
runtime, we need to check the store and not the comboItems
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
when using fixed memory size, we implicitly deleted shares and
ballon, which removed a (manually) set balloon: 0,
to be able to set this via the gui, we add a checkbox to the fixed
memory edit (using variable memory always needs ballooning)
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 the component ceph statusdetail,
it displays the monitors (+status)
the osd as a table (in/out,up/down)
and the pg states as a list (+number)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a new component 'runningchart', which is a simple linegraph
you define a timeFrame (default 5*60 seconds), and you regularly add
datapoints to it, and the graph shows the last timeFrame seconds of it
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>
rename Request State to State, and add the request_state and crm_state
as hidden columns (so that the user can display them if they want)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this changes the ha status view and ha resources view, so that they take
an rstore and use that instead of a new one
we do this, so that we can display the status and the resources grid
with one api call
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Add the new stopped state to the ResourceEdit panel.
Rename enabled state to started as done in ha-manager.
As 'enabled' is now the wrong label use the more correct label
'Request state', for both the resource edit window and the grid
column.
Do this by replacing the checkbox with a KVCombogrid.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
As we cannot migrate to the source node do not show it in the
migration window's node selector.
Fixes#1049 partly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
to save the columns/layouts in the browsers local storage
also change width to string (or else jslint complains)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
since we now have the client settings, we do not need this anymore
also rename the stateid to 'grid-resource'
(we want to establish a convention to differentiate between saved local
storage items)
the whole saveCurrentState logic was not really necessary, so we can drop this too
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
since we get the string "0" from the backend if the line is in the
groups.cfg, we have to set the field to type boolean, or the string will
always be interpreted as true
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>