Commit Graph

70178 Commits

Author SHA1 Message Date
Sage Weil
2a073941a8 qa/releases/luminous.yaml: set up mgr key; start mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
d403d42ac8 qa/suites/rados/upgrade: don't initially start mgr daemon
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
fa0b2164ad qa/tasks/ceph.py: add 'skip_mgr_daemons' option
For upgrades

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
7edca203d8 qa/tasks/ceph.py: give everyone mgr caps
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
a6fab0825f mgr: do not crash if FSMap doesn't have 'addr' metadata
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
8ca982f403 mgr/MgrClient: do not assert on control-c
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
21297a65a5 mgr/Session: keep inst, not addr
For parity with log messages from other daemons etc.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
6a314cf420 mgr: move MgrSession to its own header
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
880dc2d8d3 mon/AuthMonitor: fix mgr mon caps to 'allow profile mgr'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
6625fcd8fd systemd/ceph-mgr@.service: fix mgr mon cap
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
5906e359bd vstart.sh: fix mgr caps
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
dcfb54fd2d mon/AuthMonitor: add 'mgr' caps to keyring on upgrade
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
bfc38f786c mon/MonCap: add bootstrap-mgr profile
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
bd350e3699 ceph-authtool: check 'mgr' section too
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
58f51ad671 mgr/MgrClient: fix uninitialize variable
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
bc128e882a mgr/MgrClient: move lock init into .h
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
81834844f0 mgr/Mgr: less noisy about ms_dispatch
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
271a7588b5 qa/suites: run mgr daemon(s)
Everything up upgrade/, which will be slightly tricky.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
f5681ffc5a test/osd/osd-scrub-repair.sh: cope with mon/mgr asynchrony
Need to wait for mon to reflect pg state as reported by
mgr.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
d902e5b76e mgr/MgrClient: throttle connection attempts
Max of 1 per second.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
accfd6ce88 qa/workunits/cephtool/test.sh: test_auth_profiles must include mgr
For 'pg ...' commands

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
20114e0e82 mon/MonCap: pass entity type (mgr, mon) to is_capable
This lets us define different meanings for profiles on
the mon and mgr.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
588629a189 mon/MgrMonitor: enforce mgr caps
Require 'allow x' for mgr beacon.  Verify fsid.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
607b43a092 mgr: include cluster fsid in MMgrBeacon
Prevent ceph-mgr from talking to the wrong cluster!

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
8c61e40519 mon/MonCap: expand 'profile mgr' caps
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
2357507715 mgr/DaemonServer: enforce caps
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
e23420da21 mgr/DaemonServer: attach MgrSession to connections
Reuse MonCap; it is suitably generic.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
3049c896a4 vstart.sh: debug mgrc
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
4ec7a58640 vstart.sh: give client.admin mgr 'allow *'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
4c4977f42b vstart.sh: give osd mgr = 'allow profile osd'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
3403750af4 vstart.sh: pass ceph.conf to ceph-mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
e0a07e1ea9 test/osd/osd-*.sh: run mgr daemon for tests
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
83b19dd1f1 qa/workunits/ceph-helpers: start and stop mgr daemons
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
6c21532bf7 ceph-mgr: threads after fork
MgrStandby contains an Objecter with a ceph_timer and
associated thread.  Create it after we fork.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
89735b78f6 mon: forward mgr commands; cap them
Put the completions on a finisher to avoid deadlock.
(MgrClient lock is inside mon_lock due to start_command;
completion cannot retake mon_lock while holding MgrClient's
internal lock.)

The mon has a cap on the nubmer of client message bytes it hold
in memory.  We do not want to eat those up and DOS the mon
because the mgr is not available and all mgr commands are
blocked.

Define the limit as a fraction of mon_client_bytes to avoid user
misconfiguration.

Return EAGAIN if we hit the limit.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
cc6e568baa mon: add a finisher
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
55088f7bbe mon/MgrMonitor: feed our MgrClient MgrMaps
We don't have a MonClient so we don't subscribe to these in the
usual way.  This will do.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
9c70829604 mon: add a MgrClient
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
ab765298fc mon: generate tickets for mgr service
This is kludgey because the mon is 'special' when it comes to
auth, but it works!

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
6ffa93ba43 mgr/MgrClient: remove unused cond signal helpers
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
6ff0857974 mgr/MgrClient: don't block command submission if no session yet
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
e19d4a0118 mgr/MgrClient: resend pending commands on reconnect
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
909fdcacf7 mgr/DaemonServer: implement 'pg [scrub|deep-scrub|repair] ...'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
5ad3244df4 mgr/DaemonServer: use process_pg_map_command helper for most things
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
268d08dd30 mgr/DaemonServer: use stringstream ds in local scope
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
f052a2c6f4 mgr: don't crash on bad auth msg from client
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
bde03d27e2 osd: accept MOSDScrub messages from ceph-mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
2c4bece289 msg/Connection: implement peer_is_mgr()
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
5c0d1f9d33 mgr/DaemonServer: set messenger policy; set throttles
Put clients, osds, mons, and mdss in different buckets.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:25 -04:00
Sage Weil
6ac21d86aa mon: move most PGMonitor commands into PGMap.{cc} helper
We don't need private access to PGMap members, so a simple
function will do.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:38:32 -04:00