PGRecovery::start_recovery_ops() should wait for all inflight recovery ops, whether they are
started by BackgroundRecovery or not, otherwise there may be circumstances in which BackgroundRecovery
keep recursively invoking its do_recovery when start_recovery_ops returns recovery done while there are
still missing objects.
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
mgr/dashboard: displaying time in human-readable format
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
"nfs add" is no longer supported in rook. Instead "apply nfs" should be used to
deploy nfs-ganesha daemons.
Signed-off-by: Varsha Rao <varao@redhat.com>
The 'disks' key will now be treated as a dictionary where all previous
global settings can be individually applied. Additionally, a disk can be
pre-created and provided for use by qemu.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The '--import-only' optional can be combined with either a
'--source-spec' or '--source-spec-path' optional to define
the source for the read-only import.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* refs/pull/37878/head:
doc/mgr/orchestrator: Update about "{mds, rgw} add" status in rook
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Travis Nielsen <tnielsen@redhat.com>
crimson/os/seastore/.../lba_btree_node_impl: hold reference to *this during lookup
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4f2f4f modified TransactionManager::mount() to use a weak_transaction
while calling init_cached_extents. This is fine, but lookup() needs
to hold a reference to *this until the child lookup completes in order
to ensure residence in the lba pinning set.
Signed-off-by: Samuel Just <sjust@redhat.com>
Add a feature design section to the dashboard dev
guide, linking to the individual docs under dov/dev/dashboard
Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
The healthcheck for slow_ops is used by the mgr/prometheus
module so it's important the alert generated matches the
format expected in mgr/prometheus.
Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
SLOW_OPS is triggered by op tracker, and generates a health
alert but healthchecks do not create metrics for prometheus to
use as alert triggers. This change adds SLOW_OPS metric, and
provides a simple means to extend to other relevant health
checks in the future
If the extract of the value from the health check message fails
we log an error and remove the metric from the metric set. In
addition the metric description has changed to better reflect
the scenarios where SLOW_OPS can be triggered.
Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
When using the non-legacy mode image migration, the 'rbd status'
command will now show the source-spec for the migration if the
source pool id is invalid.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When long command names and long optional names are combined,
it's possible for the help text to be printed beyond the 80
character limit.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Read requests will always need to go via the image dispatch layer to
ensure migrations are properly handled.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When in import-only mode, allow the source image to be opened by
name in case it's a V2 image format w/o its image id specified in
the JSON.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
To remain consistent between the native which will automatically close
the ImageCtx if it fails to open the image, the raw format should also
close the ImageCtx.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
For backing source formats that don't care about the low-level
RBD layout details, provide safe default values for the layout
to ensure that striping logic will still function.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
If the "list_snaps" IO call returns immediately, it can result
in an attempted recursive lock starting from CopyupRequest.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The migration prepare operation will need to know the size of
the source image so that it can create the destination image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When preparing an import, the native format can not expect to have
the child image opened since it hasn't been created yet.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
These related methods accept a JSON-encoded source-spec that
describes how to read from the source image. The migration is
a one-way operation, so children/groups/etc won't be updated
to point to the new destination image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When migrating from an import-only source-spec like an external
file, it will be important to also store the progress on the
destination image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Remove all the hard-coded references to the NativeFormat
handler and allow the RawFormat+FileStream handlers to be
instantiated.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Remove the dependency on the MigrationInfo struct and allow the native
format to directly pull parameters from the JSON-encoded object
structure.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>