rados.py also gets "conf_defaults" dict for things you might want to
default in your app differently before ceph.conf gets to them; currently
used for ceph CLI to be able to set log_to_stderr/err_to_stderr true,
among others.
Signed-off-by: Dan Mick <dan.mick@inktank.com>
If we are the leader, and the auth database has not yet been upgraded,
do so. The upgrade consists of translating old-style (pre-v0.64) caps
to new-style caps (e.g., 'allow profile bootstrap-osd'). This happens
once and the conversion takes the form of a normal paxos transaction.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
AuthMonitor::election_finished() does nothing.
PaxosService::election_finished() is the one being handled.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
On blackist addition or populate ObjectContext
check watcher address against blacklist
Add dout() of the watcher's ip address
fixes: #3527
Signed-off-by: David Zafman <david.zafman@inktank.com>
In 3c5706163b we made exit() not actually
exit so that the leak checking would behave for a non-forking case.
That is only needed for the normal exit case; every other case expects
exit() to actually terminate and not continue execution.
Instead, make a signal_exit() method that signals the parent (if any)
and then lets you return. exit() goes back to it's usual behavior,
fixing the many other calls in main().
Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
When attempting to create a new pg object in response to a
peering message, there are 3 cases:
1) That pg is currently being deleted. In this case, we
cancel the deletion and resurrect the pg at the epoch at
which it had been deleted.
2) A pg is being deleted which would have split into the
pg we want to create had it not been deleted. In that case,
we resurrect that pg at the map at which it had been deleted
and let the request wait on the impending split.
3) Neither that pg nor a parent can be resurrected. In this
case, we create a new pg at the map epoch of the peering
request.
Fixes: #5154
Signed-off-by: Samuel Just <sam.just@inktank.com>
b70868e007 broke non-package builds on
ubuntu and debian. This fixes the problem, and is required for anything
compiling class_api.cc.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Add functions to the librados C/C++ API, to take advantage and utilize the
advisory locking system offered by RADOS.
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Filippos Giannakos <philipgian@grnet.gr>
The accessor returns a reference. Instead of taking+dropping it each
time, take one ref in Monitor ctor and release it in the dtor.
Signed-off-by: Sage Weil <sage@inktank.com>
This was initialized in (one of) the ctor(s), but not encoded/decoded,
and not used. Remove it. This makes valgrind a happy.
Signed-off-by: Sage Weil <sage@inktank.com>