Commit Graph

84162 Commits

Author SHA1 Message Date
Sage Weil
9c42d88743 qa/tasks/rebuild_mondb.py: --no-mon-config to ceph-objectstore-tool
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
2bc34bb882 common/config: add --mon-config option (opposite of --no-mon-config)
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
3c2b30e4c5 mon/MonClient: apply timeout while fetching config
The normal timeouts automatically apply during the authenticate() stage,
but not to the explicit wait for a config.  If we don't get that quickly
we shoudl retry another monitor because it is possible we will connect to
an out-of-quorum (or otherwise unresponsive) mon.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
bee6ced276 mon/MonClient: tolerate pre-mimic mons
Return success if the mons are pre-mimic (and thus have no config).

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
a095ec8b0f ceph-disk: --no-mon-config
Some of these cases make sense to fetch mon configs, but we are deprecating
ceph-disk anyway, and the tests currently make use of ceph-disk in places
that do not have a mon_host defined via a ceph.conf or other environment.
This avoids breaking those test cases without any real impact on users
(which will either use ceph-volume or presumably remain in a legacy config
environment).

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
11e287c137 qa/workunits/cephtool/test.sh: fix mon_caps
Pass --no-mon-config so we don't get

 failed to fetch mon config (--no-mon-config to skip)

instead.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
c9e974800f qa: --no-mon-config for ceph-objectstore-tool --op mkfs ..
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
4a1d198c4f ceph-objectstore-tool: infer osd id to authenticate
In order to get mon configs we need to authenticate as somebody.
Infer it from the data directory.

Note that this won't work for --op mkfs.  Those users need to pass
--no-mon-config or -n.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
148105046d global/global_init: send startup errors to cerr, not log
(Flush the log, too, as something that has useful error messages.)

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
e44e10d6e0 qa/tasks/ceph.py: --no-mon-config during ceph-osd mkfs
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
902f3987de vstart.sh: use assimilate-conf to ingest config options quickly
Separate 'config set' commands is slow.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
8e2a30068a mgr/MgrClient: only send config_bl if it has changed
The mgr already treats the config_bl as optional in the MMgrReport
messages.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
dc120501f4 vstart.sh: fix osd bootstrap
Install the key before trying to use it for mkfs.  Among other things
this means the osd can fetch it's config from the mon before doing the
mkfs step.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
6286150289 mon: require authentication but no caps for monmap and config
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
3b67d1846d mon: clean up dealth_with bool weirdness
Just return!

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
9936f89167 mon: require authentication for MGetConfig and mon metadata
More importantly, the set of non-authentication operations that are allowed
is more restricted: auth messages, getting monmap, ping.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
66a3946fec mon: add authenticated flag in Session
Authentication is orthogonal to the caps; the client might have no
capabilities but still be authenticated such that we know *who* it is.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
4a3243dfe3 test/mgr/mgr-dashboard-smoke: don't clobber CEPH_ARGS for other daemons
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
6877b3bd26 global/global_init: apply_changes() for config fetch session
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
4c9f7b32d1 common/config: exclude unchanged defaults from diff
If we have a CONF_DEFAULT in the values map we do not need to include it
in the diff!

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
e28acbe56b test/run-cli-tests: CEPH_ARGS="--no-mon-config"
These are all offline tool tests.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
d7849c0be8 common/config: parse --no-mon-config into md_config_t, not CephInitParameters
We want to accept this in $CEPH_ARGS, which makes md_config_t a better
place to keep it.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
27c844d77c common/config: tweak order of env parsing
CEPH_ARGS is half-way between env and cmdline; parse it at the end of
env.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
77faa7b3d1 test/clie/ceph-conf: fix loop detection output test
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
c2cd2e7351 common/config: use cerr for --show-config-value
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
4683b9bba9 common/config: normalize the default value
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:50 -06:00
Sage Weil
ae142824ea qa/tasks/rebuild_mondb: --no-mon-config for ceph-monstore-tool
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
960e201c79 qa/workunits/objectstore/test_fuse.sh: no mon config for ceph-objectstore-tool
There isn't a running cluster for this test.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
e89d22fe67 qa/workunits/cephtool/test.sh: streamline test_mon_injectargs
Be less sensitive to formatting of output string on set commands.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
904604eba4 osd: implement tell/daemon 'config get'
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
5876a2ba2d rados: only suggest changing mon_allow_pool_delete on EPERM
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
9446f769b8 common/ceph_context: only common_init_finish() once per cct
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
1717d4c578 common/options: 'developer' -> 'dev'
I like shorter.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
5ddc551516 doc/rados/configuration: big update
- remove a bunch of outdated info
- update to reflect new monitor-based configuration
- move a bunch of common settings to another document/page

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
c77e19c9f2 qa: test config CLI interface
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
de4bead01c common/options: fix stringification
There is a generic operator<< for boost::variant--we can't overload it
for Option::value_t.  Make a to_str() method instead.

Add a parse_option() output arg for the normalized value for convenience.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
38a3f50c58 mon/ConfigMonitor: indent 'config dump'
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
448b346c46 doc/dev/config-key: document how we structure things in config-key
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
e8b3235973 common/config,mgr: fix config for new encode/decode syntax
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
a4938894e2 messages/MMgrOpen: fix decode
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
bb019ccd36 mon/ConfigMonitor: validate and normalize option on 'config set'
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
90faa119d1 common/options: flag a bunch of pool settings for RUNTIME
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
d1d0759628 mon/ConfigMonitor: 'config (get|show)' RW -> RO
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
e6acf2d1d5 osdmaptool: eliminiate global osd_pg[p]_bits option
osdmaptool is the only user.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
0f27f433ba common/options: some osd startup-only options
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
62e570a864 common/options: a few more [CLUSTER_]CREATE options
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
284d31e508 common/options: replace 'mkfs' tag with FLAG_[CLUSTER_]CREATE
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
2acda841af common/options,ceph_test_msgr: unmark misc ms options as RUNTIME
These were marked RUNTIME for the benefit of the test.  Replace with a
no-op observer.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
4583e43120 common/config_obs: NoopConfigObserver
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00
Sage Weil
7d15a5a9e2 common/options: replace FLAG_SAFE with FLAG_{RUNTIME,STARTUP,CLUSTER_CREATE,DAEMON_CREATE}
Signed-off-by: Sage Weil <sage@redhat.com>
2018-03-06 14:44:49 -06:00