Commit Graph

70194 Commits

Author SHA1 Message Date
Sage Weil
d0a3f156b2 mon/ConfigKeyService: wait for quorum
Among other things, this prevents a mgr activation stall if it
happens to request config-keys from a mon that is out of
quorum.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-30 17:57:35 -04:00
Sage Weil
319b72380e mon/MgrMonitor: show delta
This is mostly because I couldn't debug a weird state where
it kept updating but it appeared the addr was not changing
(always '-').

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-30 17:57:35 -04:00
Sage Weil
dc49857a65 mon/MgrMap: implement dump, add to ceph-dencoder
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-30 17:57:35 -04:00
Sage Weil
dacb05251d mon/MgrMonitor: print MgrMap to log on each change
The other services do this.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-30 17:57:35 -04:00
Sage Weil
31419d0e0f mon/MgrMonitor: health warn/err if no active mgr
Start warning once mons are luminous; start erroring once
require_luminous is set in osdmap.  Allow a grace period for
mgr to restart or standby to take over before we turn a warning
into an error.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-30 17:57:34 -04:00
Sage Weil
cc51f56bb2 mon/PGMap: set initial pg timestamp as osdmap modified stamp
Currently the PGMap may register the new pg in multiple places: the
mgr or mon, and the timestamp is when the mon or mgr gets around to
recording it into its PGMap.  Make this deterministic by using the OSDMap
mtime (which is when the PG was *actually* created).

This fixes a problem where the pg create command has one timestamp (from
the mon) and the pgmap on the mgr has another, so an observer will see the
last_scrub_stamp (and other timestamps) change when nothing has actually
happened.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
79bf5547cc mon/MgrMonitor: do not tick() if not active or leader
Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
Sage Weil
3015f304db mgr/MgrClient: assume missing MgrMap means no acces to mgr at all
If we get as far as authenticating and have no MgrMap that implies the
mon didn't provide us one (despite our request) and we have no access to
the mgr at all.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:27 -04:00
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