fix compile warnning in any PR (Ex: https://jenkins.ceph.com/job/ceph-pull-requests/29193/console):
/home/jenkins-build/build/workspace/ceph-pull-requests/src/rgw/rgw_usage.cc:33:13: warning: ‘void dump_usage_bucket_info(ceph::Formatter*, std::__cxx11::string&, cls_user_bucket_entry&)’ defined but not used [-Wunused-function]
static void dump_usage_bucket_info(Formatter *formatter, string& name, cls_user_bucket_entry& entry)
test: create asok files in a temp directory under $TMPDIR
to shorten the pathname of unix domain socket created for admin socket,
so it does not exceed the limit of 107 on GNU/Linux:
* ceph-helper.sh: the temp directory is named ${TMPDIR:-/tmp}/ceph-asok.$$
* vstart.sh: the temp directory is named `mktemp -u -d "${TMPDIR:-/tmp}/ceph-asok.XXXXXX"`
Sage Weil [Fri, 21 Jul 2017 15:58:08 +0000 (11:58 -0400)]
mon/PGMap: remove skewed utilizatoin warning
This has a few problems:
1- It does not do it's analysis over CRUSH rule roots/classes, which
means that an innocent user of classes will see skewed usage (bc hdds are
more full than ssds, say)
2- It does not take degraded clusters into account, which means the warning
will appear when a fresh OSD is added.
qa: flush out monc's dropped msgs on msgr failure injection
We have a few open tickets regarding the mgr being down during suites
involving messenger failure injection. There are a few suspicions that
this may be related with the monclient, but we'll need more logs to
validate those suspicions and, more, to validate we're actually fixing
the issue.
John Spray [Fri, 14 Jul 2017 09:54:01 +0000 (05:54 -0400)]
common: remove usage of set_daemon_default for now
The code in common_preinit is still there to override
these settings as appropriate.
The set_daemon_default stuff was breaking ceph-conf tests (because
you would get the client-side defaults when asking about an OSD's
settings), and md_config_t isn't properly identifying daemons
using code_env yet.
Ticket to add it back in:
http://tracker.ceph.com/issues/20627
John Spray [Thu, 13 Jul 2017 12:24:31 +0000 (08:24 -0400)]
common: revert public_addr setting to a string
This was a string in the old schema, and tests
depended on that -- if we want to change its type
let's do that separately to the infrastructure changes.
John Spray [Wed, 12 Jul 2017 23:54:59 +0000 (19:54 -0400)]
tools: avoid max() calls on rbd config options
These were awkward for typing of the '1' literal vs.
the int64_t settings. The whole max() thing is also
unnecessary now, if we set proper bounds on the option
definitions.
John Spray [Tue, 11 Jul 2017 12:25:26 +0000 (08:25 -0400)]
common: re-add unsigned config option type
As long as some options are being consumed
via md_config_t:: members, various users
of (unsigned) int values will get compile warnings
when they e.g. compare them with other unsigned values.
John Spray [Fri, 7 Jul 2017 14:12:18 +0000 (10:12 -0400)]
common/config: hook in new Option config descriptions
The C++ class member fields continue to exist for
settings defined in common/legacy_config_opts.h, but
all the schema information is coming from common/options.cc
now.
The values in md_config_t::values are automatically
copied into the C++ class member fields for legacy config
options as needed.
John Spray [Fri, 7 Jul 2017 14:08:07 +0000 (10:08 -0400)]
mgr: tighten initialization of keyring setting
We should not proceed if setting this fails. Also
the meta=false setting is not what you want when
calling into set_val after initialization, I'm not sure
how that ever worked!
John Spray [Wed, 5 Jul 2017 20:32:05 +0000 (16:32 -0400)]
common: separate config opts definitions from subsys definitions
Previously these were all in one header and inclusions of it
got really verbose from everyone having to define SUBSYS and OPTION
macros even though they only wanted to pick out one or the other.
Also, this separates the subsys.h stuff (staying) from the legacy
config opt definitions (transitional, will go).
John Spray [Wed, 5 Jul 2017 13:12:46 +0000 (09:12 -0400)]
common: hook in 'safe' flag to new config options
It's a poor substitute for real a concurrency solution
but for the moment carry it forward so that the options
structure can replace the list of config_option
in md_config_t.
John Spray [Wed, 5 Jul 2017 10:58:09 +0000 (06:58 -0400)]
common: rip out option code generation bit
We can have a legacy (static field) config object
that includes fields from config_opts.h, and
then switch to using dynamic get() for newly
added options, so that we don't need to do
code generation for the new config infrastructure.
Sage Weil [Fri, 12 May 2017 03:31:50 +0000 (22:31 -0500)]
common/options: new options infrastructure
Define schema for config options. Helper to generate a header fragment
to declare the types.
Unlike the old config_opts.h approach, we will not intialize values in
the header. This avoids a recompile if there is a change and also allows
us to specify different defaults and do parsing and validation at runtime.
Instead, we'll intialize values in the constructure of the containing
class.
Sage Weil [Thu, 20 Jul 2017 22:06:50 +0000 (18:06 -0400)]
qa: remove workloadgen test
The CRUSH rule creation is busted (rules and buckets out of order), but
after I fix that it doesn't seem to run right anyway. Remove it.
We get the mon thrasher coverage from rados/monthrash already; I don't
think this is adding meaningful coverage for the amount of effort it takes
to maintain.
osd/PGLog: force write of may_include_deletes after split
When a collection is split this needs to be persisted again. Normally
this is only persisted when the missing set is rebuilt during a new
interval when it previous did not include deletes, but during split we
keep the in-memory missing set may_include_deletes flag, but do not
rebuild the missing set.
Sage Weil [Thu, 20 Jul 2017 17:59:45 +0000 (13:59 -0400)]
msg: restore peer addr checks
This was dropped in bf4938567943c80345966f9c5a3bdc75a913175b but should
not have been. Since we are advertising the addr and not the bind
addr there is no reason to disable this check.
Sage Weil [Thu, 20 Jul 2017 17:07:32 +0000 (13:07 -0400)]
osd,mds,mgr: do not dereference null rotating_keys
Immediately after we bind to a port, but before we have set up our
auth infrastructure, we may get incoming connections. Deny them. Since
we are not yet advertising ourselves these are peers trying to connect
to old instances of daemons, not us.
This triggers now because of bf4938567943c80345966f9c5a3bdc75a913175b.
Previously, the peer would see we were a different addr and drop the
connection. Now, it continues.
Fixes: http://tracker.ceph.com/issues/20667 Signed-off-by: Sage Weil <sage@redhat.com>