The current `handle_pyerror` function implementation relies in the
`traceback.format_exception_only` python function to format the
exception object. The problem is that this python function might also
raise an exception. This commit fixes it by enclosing that python
function call in try...catch block.
Fixes: http://tracker.ceph.com/issues/23406
Signed-off-by: Ricardo Dias <rdias@suse.com>
fix exclusive auto-mode lock refuse to release.
when rewatch, owner_id is reset.
at the same time, there is a chance to produce the same cookie, which should be different.
code now skips reacquire lock when the cookie is the same, resulting in unsetting owner_id.
when other clients request lock, client whose owner_id is null is considered invalid and
refuse to release lock.
but unluckily, watcher is always alive, so the client requested lock can't get lock.
Signed-off-by: Song Shun <song.shun3@zte.com.cn>
stop.sh: use --no-mon-config when trying to unmap rbd devices
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
We already send the max, min and avg fill ratio of OSDs but
knowing the OSD with the highest amount of PGs is also useful.
This allows admins to create a trigger should it happen that there
is a OSD with too many PGs.
This could happen if a lot of OSDs fail and PGs start to move filling
up one or more OSDs with many PGs.
As PGs eat CPU and Memory people usually like to watch out for these
situations.
Signed-off-by: Wido den Hollander <wido@42on.com>
Until now the API returns the features provided by an RBD as one comma
separated string. It's more usable for the frontend to receive a list
of strings instead.
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
build/ops: setup-virtualenv.sh: do not hardcode python binary
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
This component is to be used inside a form.
It will render a submit button with the given label.
The button will disabled itself and show a loading icon when the user clicks it,
usually initiating a request to the server, and it will stay in that state
until the request is finished.
To indicate that the request failed, returning the button to the enable state,
you need to insert an error in the form with the 'cdSubmitButton' key.
It will also check if the form is valid, when clicking the button, and will
focus on the first invalid input.
Signed-off-by: Tiago Melo <tmelo@suse.com>
* `CephService.send_command` is much easier to use.
* Refactored `CephFSClients.get` and `Dashboard.load_bufer`
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
vstart: set osd_pool_default_erasure_code_profile in initial ceph.conf
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
This just makes the current Python 2.7 dependency explicit. Making
these statements optionally use Python 3 is left for later.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
. . . instead, take a command-line option that defaults to
"python2.7"
Fixes: http://tracker.ceph.com/issues/23437
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Skip the test case 'test_create_rbd_in_data_pool' only if the cluster
does not support bluestore, otherwise run the test. The Ceph mgr
provides the information if the cluster supports bluestore or not, so
the test will be skipped depending on the current cluster.
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
This partly revert commit:f437598cfcabbd66c372bc8.
Before firstly creating a ceph cluster, there is no ceph.conf.
If specify a non-exist ceph.conf, ceph-conf will meet error.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>