We can't merge until the PGs are stored together. (The mon would stop
us if we tried, but let's not waste time trying.)
Signed-off-by: Sage Weil <sage@redhat.com>
This is some of the same info we get in the json dump from
print_summary -> overall_recovery_summary -> recovery_summary.
Signed-off-by: Sage Weil <sage@redhat.com>
If we are waiting for a PG to merge we can't decrease more, but if we
were in the process of merging and an increase is requested, we can
abort the merge by increase pg_num_actual whenever we want.
Signed-off-by: Sage Weil <sage@redhat.com>
If we are in premerge (pg_num_pending == pg_num - 1) and abort by
increasing pg_num, we the last_force_op_resend_prenautilus since it will
be an interval change for nautlius+.
Signed-off-by: Sage Weil <sage@redhat.com>
Previously we were automatically adjusting pgp_num_target on a
pg_num_target change *only* when decreasing pg_num. Instead, make
pgp_num (continue to) track pg_num if it currently matches. If it ever
is set differently than pg_num, leave it different (unless/until it
matches again).
This is still slightly weird, but I think in practice it is good enough.
In the rare case that the admin manually sets pgp_num to something
different than pg_num, they probably won't also be using automagic
pg_num adjustment that might make them match and start tracking again.
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/24292/head:
qa: add test for rctime on root inode
mds: set rctime on new system inode
mds: small refactor
Reviewed-by: Zheng Yan <zyan@redhat.com>
Remove protocol-specific interfaces from Messenger/Connection classes,
and let SocketMessenger manage SocketConnection instead of Connection.
Signed-off-by: Yingxin <yingxin.cheng@intel.com>
Some (currently) pre-nautilus OSDs will crash if you try to authenticate
a heartbeat connection but they are not expecting it:
src/auth/Crypto.h: 109: FAILED assert(ckh)
ceph version 12.2.8-457-gccd69ef (ccd69ef36a) luminous (stable)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x110) [0x5618b04aaea0]
2: (()+0x41cbec) [0x5618afe2cbec]
3: (CephxSessionHandler::_calc_signature(Message*, unsigned long*)+0x8c5) [0x5618b0777ba5]
4: (CephxSessionHandler::check_message_signature(Message*)+0x7d) [0x5618b077800d]
5: (AsyncConnection::process()+0x1b44) [0x5618b0761a04]
6: (EventCenter::process_events(int, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*)+0x359) [0x5618b0546079]
7: (()+0xb38c3e) [0x5618b0548c3e]
8: (()+0xb5070) [0x7ff04faf5070]
9: (()+0x7dd5) [0x7ff050168dd5]
10: (clone()+0x6d) [0x7ff04f259b3d]
See http://tracker.ceph.com/issues/36443
It won't be fixed in all clusters before upgrade to nautilus, though, so
we also need to work around it here.
Signed-off-by: Sage Weil <sage@redhat.com>
Before nautilus, osd heartbeats are sent over an unauthenticated channel.
We need support here to allow these connections when they are necessary
for upgrade compatibility.
Signed-off-by: Sage Weil <sage@redhat.com>
Do not set up a Session object, though--nobody cares (currently!).
This avoids having to special-case the generic authorizer validation
code in msg/* to have to handle non-authenticated sessions. Also, it
seems like a good idea to authenticate these sessions!
Signed-off-by: Sage Weil <sage@redhat.com>
This code is essentially identical across the OSD and MDS. The
monitor is annoyingly different, but in a msgr1 specific way that
we can handle carrying here until msgr1 gets ripped out in a
couple years.
Signed-off-by: Sage Weil <sage@redhat.com>
dashboard/mgr: Save button doesn't prevent saving an invalid form
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
* refs/pull/24493/head:
mgr/DaemonState: clean up device life_expectancy values
mgr/devicehealth: warn based on life_expectancy_max
mgr/devicehealth: warn on failing devices at 6 weeks
Reviewed-by: John Spray <john.spray@redhat.com>
Remove columns 'tags', 'enum_values', 'long_desc', 'type', 'flags',
'daemon_default', 'desc', 'level', 'can_update_at_runtime', 'services',
'max', 'see_also', 'min' and 'source' from table view and add them to
the details.
The table contains 'name', 'value' and 'default' only.
Fixes: http://tracker.ceph.com/issues/34533
Signed-off-by: Tatjana Dehler <tdehler@suse.com>