Some setups may want to use more replicas as three, while my proposed
maximal 7 replicas is also arbitrary it should cover all normal
usecases (i.e. 5 replicas) and a bit more, just to be sure.
size/min_size 2/1 is unsafe as it can result in split brains, so we
should not recommend it as default.
If the user really wants it he can still set it explicit.
with the commit
40342aa6c4
we introduced a validator on the guestidselector, but did not
notice that the wizard checks the validity on the field change event,
but the selector gets valid/invalid in an api callback(so a little later)
with this patch, we now validate the field correctly with validate()
and also listen on the validitychange event to catch it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
by default, extjs submits the language dependent decimal separator,
e.g. ',' for german and '.' for english
but we always want '.'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
If on bootup one of our VMs is locked by an backup we safely can
assume that this backup job does not run anymore and that the lock
has no reason anymore and just hinders uptime of services.
As at this time we (the node) have quorum so we may safely assume
that we have a consistent view of the cluster and all our VMs really
belong to us. We just need to ensure that we do not run into an
automatic backup jobs, so execute our code with VZDumps lock or
timeout.
Log in the Task and Sys log that we removed the lock, so that an
admin easily sees that there may be need for cleaning leftovers from
an interrupted backup.
Addresses bug #1024
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
small refactoring in get_filtered_vmlist: save a VMs config in its
own subhash to avoid collisions with other data which we want to save
in the vmid list, for now this is only `type` but in the next patch
I want to save also the class
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This allows also to filter after HA states, so one may bulk control
HA managed services more easily or do bulk actions just on unmanaged
VMs
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
If we explicitly set a fields defaultValue we really want it in the
Model.
Also needed for a further patch
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
having our ceph.service pulled in by ceph.target does not
work anymore, because "systemctl start ceph.target" hangs
forever on ceph-common upgrades. multi-user.target seems to
work as well, and we are ordered after pve-cluster anyway.
only replace the old ceph.service if it is an exact match.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
extjs cannot "convert" and id from other fields, so the ids in the
diffstore and the realstore are different and we re-add every element on
every update
to mitigate this, we generate the id (which is "uid:hostname") in the
backend, and simply use it in the frontend
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
instead of using markInvalid, use a validator, which also marks the
field dirty and marks the form correctly invalid.
also optimize the label/error message assignments
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
because extjs 6.2 handles destroying of components differently (namely
asynchronous), we have to check earlier if the view is destroyed, else
we get a 'cannot access ~ of undefined' error
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
in extjs 6.2 form fields in widgetcolumns get parsed in a form
which is not what we want here, because we have a hidden field, which
gets generated on a change
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
they are mostly copied from ExtJSIndex.pm and TouchIndex.pm, and
they are prepared with the Template::Toolkit syntax
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>