One use noted that they have a 'pdu' type in their type hierarchy that
typically spans multiple racks. Others are known to use the 'pod'
terminology; add that to. And I can imagine 'region' above datacenter.
Factor this into a helper to make things a bit less fragile.
Signed-off-by: Sage Weil <sage@inktank.com>
A chassis is usually bigger than a host but smaller than a rack. This will
be useful for a broad class of modern hardware that sticks multiple hosts
in the same chassis (in sleds, or on cards, or blades, or whatever).
Signed-off-by: Sage Weil <sage@inktank.com>
This reverts commit 08327fed82, except
for the hashpspool bit. We switched back to an integer argument in
commit 337195f046.
Signed-off-by: Sage Weil <sage@inktank.com>
This avoids parsing out the wrong value when a long device name makes
df wrap over two lines.
Fixes: #6699
Reported-by: Jan Harkes <jaharkes@cs.cmu.edu>
Reviewed-by: Noah Watkins <noah.watkins@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
Move these from the OSD. Use a generic implementation in ObjectStore that
hopefully all backends can share (so that it can remain in sync with the
start/stop scripts, ceph-disk, and other orchestration machinery).
Signed-off-by: Sage Weil <sage@inktank.com>
This lets ceph_osd.cc handle the config details and use it directly for
all of the random command-line stuff, eliminating a bunch of mostly-
useless static wrappers in OSD.
Signed-off-by: Sage Weil <sage@inktank.com>
Generic way to create an ObjectStore implementation of the required type,
so that users don't need to know anything about it.
Signed-off-by: Sage Weil <sage@inktank.com>
When the replica responds, it responds with a notify
rather than a log, which the primary then ignores since
it is already in the peer_info map. Rather than fix that
we'll simply not send queries to peers we already know to
have no unfound objects.
Fixes: #6910
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
If for some reason there are no up OSDs in the history which
happen to have usable copies of the pg, it's possible that
there is a usable copy elsewhere on the cluster which will
become known to the primary if it waits.
Fixes: #6909
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
update the description of osd crush rule create-simple using terms that
match the keywords from the crushmap to avoid confusion.
fix missing closing parenthesis in osd crush commands
Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
The ceph-mon command usage is updated to document all of the ceph-mon
specific options.
The ceph tell usage examples for log and debug are using a deprecated syntax.
Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
When receiving the lease release message, it's possible that the lease
has already expired and the corresponding dentry has been trimmed from
the cache.
Fixes#5871
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
We saw this assert because active is not correctly computed.
Remove assert and incorrectly computed active count.
We already use acting.size() to determine whether to set PG_STATE_DEGRADED.
Fixes: #6896
Signed-off-by: David Zafman <david.zafman@inktank.com>
Mark RADOS class libraries as module so that they will be automatically
ignored when stripping binaries.
Signed-off-by: James Page <james.page@ubuntu.com>