Commit Graph

70384 Commits

Author SHA1 Message Date
Sage Weil
24b53524d2 librados: return error from mgr start_command
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
5dc9b8d026 qa/tasks/dump_stuck.py: stop making assertions about 'health' report
Health comes from teh mon, while the pg stats come from teh mgr, so they
may be out of sync.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
4085eb4753 mgr/DaemonServer: log commands to cluster + audit logs
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
d3a10d3512 mgr/MgrStandby: add LogClient
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
2072fd9737 mgr/DaemonServer: debug on shutdown
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
69a4a8f616 mgr/DaemonServer: whitespace
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
a46690c623 mgr/MgrClient: cope with disappearing perf_counters
Perfcounters can go away; deal with it.  This collapses
into a single loop, but it means that the mgr might
stop getting certain counters without explicit
notification.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
8e61e1cfcf qa/suites/upgrade/jewel-x: don't initially start mgr daemons
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
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