Commit Graph

108052 Commits

Author SHA1 Message Date
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