Kefu Chai
e470481d71
Merge pull request #33325 from tchaikov/wip-super-setup
...
qa/tasks: call super class's setUp()
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-02-15 18:46:51 +08:00
Kefu Chai
3fd1d4eb7d
Merge pull request #33348 from tchaikov/wip-rbd-mirror-test
...
mgr/dashboard: s/fsid/mirror_uuid/
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-02-15 18:43:32 +08:00
Kefu Chai
0afd744ea6
mgr/orchestrator: "addr" is optional for constructing InventoryNode
...
this addresses a regression introduced by 5276871e15
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-15 18:42:14 +08:00
Kefu Chai
9000afb24b
qa/tasks/mgr/orch: s/service ls/ps/
...
to fix the broken test of "test_load_data". it's a regression introduced
by aacc9a650f
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-15 18:41:18 +08:00
Ronen Friedman
443475b3a1
crimson/osd: remove unneeded captures - pg.cc
...
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2020-02-15 12:37:28 +02:00
Kefu Chai
f80d8fa0b5
Merge pull request #33243 from tchaikov/wip-43795
...
ceph_argparse: put args from env before existing ones
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-02-15 12:55:39 +08:00
Kefu Chai
7d262db114
qa/tasks: call super class's setUp()
...
to address the regression introduced by
8729281121
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-15 12:39:08 +08:00
Kefu Chai
87172bcf63
mgr/dashboard: s/fsid/mirror_uuid/
...
to fix the broken rbd-mirror test. it's a regression introduced by
7b07e3c9dc
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-15 12:29:09 +08:00
Kefu Chai
cc407739db
Merge pull request #33345 from athanatos/sjust/wip-fix-crimson-build
...
Crimson build fixes
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-15 11:49:59 +08:00
Sage Weil
838f513a85
Merge PR #33343 into master
...
* refs/pull/33343/head:
qa/suites/rados/cephadm/upgrade: add simple upgrade test
qa/tasks/cephadm: improve shell subcommand
Reviewed-by: Michael Fritch <mfritch@suse.com>
2020-02-14 19:52:57 -06:00
Sage Weil
32b2ded8dc
qa/tasks/cephadm: deploy rgw daemons too
...
Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-14 19:52:34 -06:00
Samuel Just
66503ecccd
crimson/common/errorator: restrict all_same_way to valid types
...
As with pass_further/discard_all, we don't want the returned handler
to work on types outside of the errorator at all. Otherwise, the
handler will transparently apply to any error.
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-02-14 17:28:38 -08:00
Samuel Just
01399ebfd2
common/crimson/errorator: add universal pass_further_all, discard_all, all_same_way
...
In many cases, we simply want to add catch-all handling.
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-02-14 17:28:38 -08:00
Samuel Just
b2671e37eb
crimson/common/errorator: fix errorator::pass_further and discard_all
...
Previously, both of these were invocable on all errors, but would
static_assert on invalid ones. What we actually want is for them
to only be invocable on valid errors. That way, we can do, for
instance:
}).handle_error(
roll_journal_segment_ertr::pass_further{},
SegmentManager::open_ertr::all_same_way([this](auto &&e) {
logger().error(
"error {} in close segment {}",
e,
current_journal_segment_id);
ceph_assert(0 == "error in close");
return;
})
to explicitely propogate any errors in roll_journal_segment_ertr
while asserting on anything else.
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-02-14 17:28:38 -08:00
Samuel Just
a3bb1ddc60
crimson/common/errorator: add pass_further and discard to unthrowable_wrapper
...
This lets us use, for instance, ct_error::enoent::pass_further{} to
explicitely propogate enoent.
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-02-14 17:28:38 -08:00
Samuel Just
9b6b475c75
test_alien_echo: convert Condition to use readable_eventfd
...
Should have been included in 5f05a50bae
.
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-02-14 16:47:06 -08:00
Samuel Just
39f8a6bf9d
crimson/CMakeLists.txt: link pthread to libcrimson for setting thread affinity
...
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-02-14 16:47:02 -08:00
Michael Fritch
ff6288ae2d
cephadm: expose timeout
for is_available
check
...
allow for the `--timeout` arg to override the default 30sec timeout
while waiting for a service to become available
Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-02-14 15:07:17 -07:00
Michael Fritch
19d11df7dc
cephadm: add --retry
arg
...
enables overriding the the default number of retries when waiting for a
service to become available
Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-02-14 15:06:24 -07:00
Sage Weil
409e6d06e5
qa/suites/rados/cephadm/upgrade: add simple upgrade test
...
Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-14 15:33:12 -06:00
Sage Weil
f24b90c78c
qa/tasks/cephadm: improve shell subcommand
...
- pass teuth job params through environment
- run commands via bash -c
Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-14 21:10:36 +00:00
Neha
cb322b5b89
osd/PeeringState: require SERVER_OCTOPUS to respond to RenewLease
...
To avoid sending pg_lease to pre-octopus OSDs during upgrades.
Fixes: https://tracker.ceph.com/issues/44156
Signed-off-by: Neha Ojha <nojha@redhat.com>
2020-02-14 19:09:14 +00:00
Sage Weil
e8ab248229
Merge PR #33073 into master
...
* refs/pull/33073/head:
qa/suites/rados/cephadm: deploy prometheus.a
mgr/cephadm: implement prometheus add/update
mgr/cephadm: teach _create_daemon how to provision prometheus
mgr/orch: add prom hooks
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
2020-02-14 12:52:26 -06:00
Jan Fajerski
4e0415fde9
Merge pull request #33332 from jan--f/c-v-filestore-zap-fix
...
ceph-volume: don't remove vg twice when zapping filestore
2020-02-14 17:13:00 +01:00
Radoslaw Zarzynski
80da5f9a98
osd: fix racy accesses to OSD::osdmap.
...
Accordingly to cppreference.com [1]:
"If multiple threads of execution access the same std::shared_ptr
object without synchronization and any of those accesses uses
a non-const member function of shared_ptr then a data race will
occur (...)"
[1]: https://en.cppreference.com/w/cpp/memory/shared_ptr/atomic
One of the coredumps showed the `shared_ptr`-typed `OSD::osdmap`
with healthy looking content but damaged control block:
```
[Current thread is 1 (Thread 0x7f7dcaf73700 (LWP 205295))]
(gdb) bt
#0 0x0000559cb81c3ea0 in ?? ()
#1 0x0000559c97675b27 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x559cba0ec900) at /usr/include/c++/8/bits/shared_ptr_base.h:148
#2 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x559cba0ec900) at /usr/include/c++/8/bits/shared_ptr_base.h:148
#3 0x0000559c975ef8aa in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
#4 std::__shared_ptr<OSDMap const, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
#5 std::shared_ptr<OSDMap const>::~shared_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr.h:103
#6 OSD::create_context (this=<optimized out>) at /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/osd/OSD.cc:9053
#7 0x0000559c97655571 in OSD::dequeue_peering_evt (this=0x559ca22ac000, sdata=0x559ca2ef2900, pg=0x559cb4aa3400, evt=std::shared_ptr<PGPeeringEvent> (use count 2, weak count 0) = {...}, handle=...)
at /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/osd/OSD.cc:9665
#8 0x0000559c97886db6 in ceph::osd::scheduler::PGPeeringItem::run (this=<optimized out>, osd=<optimized out>, sdata=<optimized out>, pg=..., handle=...) at /usr/include/c++/8/ext/atomicity.h:96
#9 0x0000559c9764862f in ceph::osd::scheduler::OpSchedulerItem::run (handle=..., pg=..., sdata=<optimized out>, osd=<optimized out>, this=0x7f7dcaf703f0) at /usr/include/c++/8/bits/unique_ptr.h:342
#10 OSD::ShardedOpWQ::_process (this=<optimized out>, thread_index=<optimized out>, hb=<optimized out>) at /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/osd/OSD.cc:10677
#11 0x0000559c97c76094 in ShardedThreadPool::shardedthreadpool_worker (this=0x559ca22aca28, thread_index=14) at /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/common/WorkQueue.cc:311
#12 0x0000559c97c78cf4 in ShardedThreadPool::WorkThreadSharded::entry (this=<optimized out>) at /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/common/WorkQueue.h:706
#13 0x00007f7df17852de in start_thread () from /lib64/libpthread.so.0
#14 0x00007f7df052f133 in __libc_ifunc_impl_list () from /lib64/libc.so.6
#15 0x0000000000000000 in ?? ()
(gdb) frame 7
#7 0x0000559c97655571 in OSD::dequeue_peering_evt (this=0x559ca22ac000, sdata=0x559ca2ef2900, pg=0x559cb4aa3400, evt=std::shared_ptr<PGPeeringEvent> (use count 2, weak count 0) = {...}, handle=...)
at /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/osd/OSD.cc:9665
9665 in /usr/src/debug/ceph-15.0.0-10071.g5b5a3a3.el8.x86_64/src/osd/OSD.cc
(gdb) print osdmap
$24 = std::shared_ptr<const OSDMap> (expired, weak count 0) = {get() = 0x559cba028000}
(gdb) print *osdmap
# pretty sane OSDMap
(gdb) print sizeof(osdmap)
$26 = 16
(gdb) x/2a &osdmap
0x559ca22acef0: 0x559cba028000 0x559cba0ec900
(gdb) frame 2
#2 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x559cba0ec900) at /usr/include/c++/8/bits/shared_ptr_base.h:148
148 /usr/include/c++/8/bits/shared_ptr_base.h: No such file or directory.
(gdb) disassemble
Dump of assembler code for function std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release():
...
0x0000559c97675b1e <+62>: mov (%rdi),%rax
0x0000559c97675b21 <+65>: mov %rdi,%rbx
0x0000559c97675b24 <+68>: callq *0x10(%rax)
=> 0x0000559c97675b27 <+71>: test %rbp,%rbp
...
End of assembler dump.
(gdb) info registers rdi rbx rax
rdi 0x559cba0ec900 94131624790272
rbx 0x559cba0ec900 94131624790272
rax 0x559cba0ec8a0 94131624790176
(gdb) x/a 0x559cba0ec8a0 + 0x10
0x559cba0ec8b0: 0x559cb81c3ea0
(gdb) bt
#0 0x0000559cb81c3ea0 in ?? ()
...
(gdb) p $_siginfo._sifields._sigfault.si_addr
$27 = (void *) 0x559cb81c3ea0
```
Helgrind seems to agree:
```
==00:00:02:54.519 510301== Possible data race during write of size 8 at 0xF123930 by thread #90
==00:00:02:54.519 510301== Locks held: 2, at addresses 0xF122A58 0xF1239A8
==00:00:02:54.519 510301== at 0x7218DD: operator= (shared_ptr_base.h:1078)
==00:00:02:54.519 510301== by 0x7218DD: operator= (shared_ptr.h:103)
==00:00:02:54.519 510301== by 0x7218DD: OSD::_committed_osd_maps(unsigned int, unsigned int, MOSDMap*) (OSD.cc:8116)
==00:00:02:54.519 510301== by 0x7752CA: C_OnMapCommit::finish(int) (OSD.cc:7678)
==00:00:02:54.519 510301== by 0x72A06C: Context::complete(int) (Context.h:77)
==00:00:02:54.519 510301== by 0xD07F14: Finisher::finisher_thread_entry() (Finisher.cc:66)
==00:00:02:54.519 510301== by 0xA7E1203: mythread_wrapper (hg_intercepts.c:389)
==00:00:02:54.519 510301== by 0xC6182DD: start_thread (in /usr/lib64/libpthread-2.28.so)
==00:00:02:54.519 510301== by 0xD8B34B2: clone (in /usr/lib64/libc-2.28.so)
==00:00:02:54.519 510301==
==00:00:02:54.519 510301== This conflicts with a previous read of size 8 by thread #117
==00:00:02:54.519 510301== Locks held: 1, at address 0x2123E9A0
==00:00:02:54.519 510301== at 0x6B5842: __shared_ptr (shared_ptr_base.h:1165)
==00:00:02:54.519 510301== by 0x6B5842: shared_ptr (shared_ptr.h:129)
==00:00:02:54.519 510301== by 0x6B5842: get_osdmap (OSD.h:1700)
==00:00:02:54.519 510301== by 0x6B5842: OSD::create_context() (OSD.cc:9053)
==00:00:02:54.519 510301== by 0x71B570: OSD::dequeue_peering_evt(OSDShard*, PG*, std::shared_ptr<PGPeeringEvent>, ThreadPool::TPHandle&) (OSD.cc:9665)
==00:00:02:54.519 510301== by 0x71B997: OSD::dequeue_delete(OSDShard*, PG*, unsigned int, ThreadPool::TPHandle&) (OSD.cc:9701)
==00:00:02:54.519 510301== by 0x70E62E: run (OpSchedulerItem.h:148)
==00:00:02:54.519 510301== by 0x70E62E: OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*) (OSD.cc:10677)
==00:00:02:54.519 510301== by 0xD3C093: ShardedThreadPool::shardedthreadpool_worker(unsigned int) (WorkQueue.cc:311)
==00:00:02:54.519 510301== by 0xD3ECF3: ShardedThreadPool::WorkThreadSharded::entry() (WorkQueue.h:706)
==00:00:02:54.519 510301== by 0xA7E1203: mythread_wrapper (hg_intercepts.c:389)
==00:00:02:54.519 510301== by 0xC6182DD: start_thread (in /usr/lib64/libpthread-2.28.so)
==00:00:02:54.519 510301== Address 0xf123930 is 3,824 bytes inside a block of size 10,296 alloc'd
==00:00:02:54.519 510301== at 0xA7DC0C3: operator new[](unsigned long) (vg_replace_malloc.c:433)
==00:00:02:54.519 510301== by 0x66F766: main (ceph_osd.cc:688)
==00:00:02:54.519 510301== Block was alloc'd by thread #1
```
Actually there is plenty of similar issues reported like:
```
==00:00:05:04.903 510301== Possible data race during read of size 8 at 0x1E3E0588 by thread #119
==00:00:05:04.903 510301== Locks held: 1, at address 0x1EAD41D0
==00:00:05:04.903 510301== at 0x753165: clear (hashtable.h:2051)
==00:00:05:04.903 510301== by 0x753165: std::_Hashtable<entity_addr_t, std::pair<entity_addr_t const, utime_t>, mempool::pool_allocator<(mempool::pool_index_t)15, std::pair<entity_addr_t const, utime_t>
>, std::__detail::_Select1st, std::equal_to<entity_addr_t>, std::hash<entity_addr_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta
il::_Hashtable_traits<true, false, true> >::~_Hashtable() (hashtable.h:1369)
==00:00:05:04.903 510301== by 0x75331C: ~unordered_map (unordered_map.h:102)
==00:00:05:04.903 510301== by 0x75331C: OSDMap::~OSDMap() (OSDMap.h:350)
==00:00:05:04.903 510301== by 0x753606: operator() (shared_cache.hpp:100)
==00:00:05:04.903 510301== by 0x753606: std::_Sp_counted_deleter<OSDMap const*, SharedLRU<unsigned int, OSDMap const>::Cleanup, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr
_base.h:471)
==00:00:05:04.903 510301== by 0x73BB26: _M_release (shared_ptr_base.h:155)
==00:00:05:04.903 510301== by 0x73BB26: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:148)
==00:00:05:04.903 510301== by 0x6B58A9: ~__shared_count (shared_ptr_base.h:728)
==00:00:05:04.903 510301== by 0x6B58A9: ~__shared_ptr (shared_ptr_base.h:1167)
==00:00:05:04.903 510301== by 0x6B58A9: ~shared_ptr (shared_ptr.h:103)
==00:00:05:04.903 510301== by 0x6B58A9: OSD::create_context() (OSD.cc:9053)
==00:00:05:04.903 510301== by 0x71B570: OSD::dequeue_peering_evt(OSDShard*, PG*, std::shared_ptr<PGPeeringEvent>, ThreadPool::TPHandle&) (OSD.cc:9665)
==00:00:05:04.903 510301== by 0x71B997: OSD::dequeue_delete(OSDShard*, PG*, unsigned int, ThreadPool::TPHandle&) (OSD.cc:9701)
==00:00:05:04.903 510301== by 0x70E62E: run (OpSchedulerItem.h:148)
==00:00:05:04.903 510301== by 0x70E62E: OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*) (OSD.cc:10677)
==00:00:05:04.903 510301== by 0xD3C093: ShardedThreadPool::shardedthreadpool_worker(unsigned int) (WorkQueue.cc:311)
==00:00:05:04.903 510301== by 0xD3ECF3: ShardedThreadPool::WorkThreadSharded::entry() (WorkQueue.h:706)
==00:00:05:04.903 510301== by 0xA7E1203: mythread_wrapper (hg_intercepts.c:389)
==00:00:05:04.903 510301== by 0xC6182DD: start_thread (in /usr/lib64/libpthread-2.28.so)
==00:00:05:04.903 510301== by 0xD8B34B2: clone (in /usr/lib64/libc-2.28.so)
==00:00:05:04.903 510301==
==00:00:05:04.903 510301== This conflicts with a previous write of size 8 by thread #90
==00:00:05:04.903 510301== Locks held: 2, at addresses 0xF122A58 0xF1239A8
==00:00:05:04.903 510301== at 0x7531E1: clear (hashtable.h:2054)
==00:00:05:04.903 510301== by 0x7531E1: std::_Hashtable<entity_addr_t, std::pair<entity_addr_t const, utime_t>, mempool::pool_allocator<(mempool::pool_index_t)15, std::pair<entity_addr_t const, utime_t> >, std::__detail::_Select1st, std::equal_to<entity_addr_t>, std::hash<entity_addr_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (hashtable.h:1369)
==00:00:05:04.903 510301== by 0x75331C: ~unordered_map (unordered_map.h:102)
==00:00:05:04.903 510301== by 0x75331C: OSDMap::~OSDMap() (OSDMap.h:350)
==00:00:05:04.903 510301== by 0x753606: operator() (shared_cache.hpp:100)
==00:00:05:04.903 510301== by 0x753606: std::_Sp_counted_deleter<OSDMap const*, SharedLRU<unsigned int, OSDMap const>::Cleanup, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:471)
==00:00:05:04.903 510301== by 0x73BB26: _M_release (shared_ptr_base.h:155)
==00:00:05:04.903 510301== by 0x73BB26: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:148)
==00:00:05:04.903 510301== by 0x72191E: operator= (shared_ptr_base.h:747)
==00:00:05:04.903 510301== by 0x72191E: operator= (shared_ptr_base.h:1078)
==00:00:05:04.903 510301== by 0x72191E: operator= (shared_ptr.h:103)
==00:00:05:04.903 510301== by 0x72191E: OSD::_committed_osd_maps(unsigned int, unsigned int, MOSDMap*) (OSD.cc:8116)
==00:00:05:04.903 510301== by 0x7752CA: C_OnMapCommit::finish(int) (OSD.cc:7678)
==00:00:05:04.903 510301== by 0x72A06C: Context::complete(int) (Context.h:77)
==00:00:05:04.903 510301== by 0xD07F14: Finisher::finisher_thread_entry() (Finisher.cc:66)
==00:00:05:04.903 510301== Address 0x1e3e0588 is 872 bytes inside a block of size 1,208 alloc'd
==00:00:05:04.903 510301== at 0xA7DC0C3: operator new[](unsigned long) (vg_replace_malloc.c:433)
==00:00:05:04.903 510301== by 0x6C7C0C: OSDService::try_get_map(unsigned int) (OSD.cc:1606)
==00:00:05:04.903 510301== by 0x7213BD: get_map (OSD.h:699)
==00:00:05:04.903 510301== by 0x7213BD: get_map (OSD.h:1732)
==00:00:05:04.903 510301== by 0x7213BD: OSD::_committed_osd_maps(unsigned int, unsigned int, MOSDMap*) (OSD.cc:8076)
==00:00:05:04.903 510301== by 0x7752CA: C_OnMapCommit::finish(int) (OSD.cc:7678)
==00:00:05:04.903 510301== by 0x72A06C: Context::complete(int) (Context.h:77)
==00:00:05:04.903 510301== by 0xD07F14: Finisher::finisher_thread_entry() (Finisher.cc:66)
==00:00:05:04.903 510301== by 0xA7E1203: mythread_wrapper (hg_intercepts.c:389)
==00:00:05:04.903 510301== by 0xC6182DD: start_thread (in /usr/lib64/libpthread-2.28.so)
==00:00:05:04.903 510301== by 0xD8B34B2: clone (in /usr/lib64/libc-2.28.so)
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 17:04:34 +01:00
Jan Fajerski
156af24e6d
Merge pull request #33320 from jan--f/c-v-fix-filestore-journal-size
...
ceph-volume: pass journal_size as Size not string
2020-02-14 15:55:13 +01:00
Jan Fajerski
bccdf6eafa
ceph-volume: don't remove vg twice when zapping filestore
...
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
Fixes: https://tracker.ceph.com/issues/44149
2020-02-14 15:35:33 +01:00
Kefu Chai
007367d613
Merge pull request #32679 from rzarzynski/wip-crimson-watchnotify_part1
...
crimson: add support for watch / notify, part 1
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-14 21:46:26 +08:00
Kefu Chai
8ea41e2760
Merge pull request #33296 from tchaikov/wip-crimson-cmake
...
cmake: compile crimson-auth with crimson::cflags
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 21:44:01 +08:00
Mykola Golub
a627b2af0a
Merge pull request #33097 from dillaman/wip-43933
...
librbd: tweak deep-copy to avoid creating last snapshot until sync is complete
Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-02-14 15:38:32 +02:00
Kefu Chai
bc2589ee9d
Merge pull request #33298 from sebastian-philipp/debian-rook-jsonpatch
...
debian: add python3-jsonpatch as dependency
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-14 20:22:02 +08:00
Jan Fajerski
49f6e6d600
ceph-volume: pass journal_size as Size not string
...
Fixes: https://tracker.ceph.com/issues/44148
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-02-14 12:50:47 +01:00
Kefu Chai
bd6fd50985
Merge pull request #32174 from ronen-fr/admin_commands_3
...
common,crimson: supporting admin-socket commands
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-14 19:32:20 +08:00
Sebastian Wagner
80a799a30f
debian: add python3-jsonpatch as dependency
...
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-14 09:43:32 +01:00
Jan Fajerski
37bc878198
Merge pull request #33283 from jan--f/c-v-zap-on-vg-without-lv
...
ceph-volume: avoid calling zap_lv with a LV-less VG
2020-02-14 08:46:27 +01:00
Kefu Chai
72880f09e6
Merge pull request #32690 from rosinL/wip-timeevent
...
msg/async/dpdk: destroy fd in do_request
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-14 15:41:07 +08:00
Kefu Chai
812f10ffad
cmake: compile crimson-auth with crimson::cflags
...
* move auth related stuff into crimson/CMakeLists.txt, so we can
link them against crimson::cflags, which populates the necessary
definitions and other cxx flags when building these source files.
* expose crimson::cflags as a public library of crimson, as
crimson-osd links against crimson. and the cflags should be populated
to crimson-osd, otherwise they are compiled with different compiler
options.
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-14 14:21:32 +08:00
Kefu Chai
cfa1d72c61
Merge pull request #33084 from tchaikov/wip-crimson-pg-coll
...
crimson/os: init PG with pg coll not meta coll
Reviewed-by: Samuel Just <sjust@redhat.com>
2020-02-14 11:21:52 +08:00
Kefu Chai
fde37884a2
Merge pull request #33241 from nagpavan-chilakam/patch-1
...
doc/architecture.rst: fix a typo in EC section
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-14 11:04:47 +08:00
Patrick Donnelly
5c98a5fd7b
Merge PR #33194 into master
...
* refs/pull/33194/head:
qa: add tests for mds_join_fs cluster affinity
qa: update cluster warning message for removed MDS
doc: add section on new mds_join_fs behavior
mon/MDSMonitor: enforce mds_join_fs cluster affinity
mon/MDSMonitor: use type of info.rank or mds_rank_t
qa: accept operation on current fs status
qa: add method to enable multifs
qa: fix nested generator use
qa: manage config changes through mons
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-02-13 15:21:30 -08:00
Radoslaw Zarzynski
5ba2b2c017
crimson/osd: fix the lifetime management of OpsExecuter.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:41 +01:00
Radoslaw Zarzynski
59e101639b
crimson/osd: dispatch MWatchNotify on watch removal.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:40 +01:00
Radoslaw Zarzynski
14a3c59bc1
crimson/osd: improve debugs in OpsExecuter::do_op_notify_ack.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:40 +01:00
Radoslaw Zarzynski
f5d89210ea
crimson/osd: implement the complete phase of Notify propagation.
...
Q: How to test?
A: * `${CEPHBIN:-bin}/rados -p rbd touch moj_watch`
* `${CEPHBIN:-bin}/rados -p rbd watch moj_watch`
* `${CEPHBIN:-bin}/rados -p rbd notify moj_watch test2`
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:40 +01:00
Radoslaw Zarzynski
8adb6e7de0
crimson/osd: dispatch MWatchNotify on CEPH_OSD_OP_NOTIFY.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:40 +01:00
Radoslaw Zarzynski
241838cf58
messages: MWatchNotify takes notifier_gid during construction.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:40 +01:00
Radoslaw Zarzynski
9a3a5ebeaf
crimson: create_n_propagate
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:40 +01:00
Radoslaw Zarzynski
61ea32441d
crimson: pass real connection in OpsExecuter::do_op_watch_subop_watch()
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:39 +01:00
Radoslaw Zarzynski
11d678ac7d
osd: minor fix formatting in Watch.cc.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:39 +01:00
Radoslaw Zarzynski
85b539896a
osd: clean-up raw connection checks.
...
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-02-14 00:11:39 +01:00