`AsyncMessenger` has `local_connection` – an instance of
`AsyncConnection` used to send messages to itself (loop back).
Connections are handled by `EventCenter` in its dedicated
thread. When shutting down a messenger, it must be ensured
there is no task left in the `EventCenter`'s queue. Otherwise
a use-after-free can happen. That's the reason why `shutdown()`
of `AsyncMessenger` does `mark_down_all()` on connections
**before** draining the stack. The latter actually injects a task
into all `EventCenter` instances and waits for its completion
(synchronization barrier).
However, that's not the case for `local_connection`. Without
the patch it's marked down by the messenger's destructor
far **after** the synchronization barrier. This behavior is
dangerous when an implementation of `mark_down()` creates
a new task to be executed inside the boundaries of corresponding
`EventCenter` instance.
The fix unifies handling of `local_connection` with other
connections in the aspect of the shutdown phase.
Fixes: https://tracker.ceph.com/issues/43667
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Now that a parent component takes care about the rendering of the workbench, then this componenta can also take care about the authentication check.
Signed-off-by: Volker Theile <vtheile@suse.com>
This PR will simplify the code of the app component in that way that it introduces layout components. Depending on the route a specific layout is choosen. Currently there are two layouts:
- Workbench
- Blank
The blank layout, which does not show any navigation controls, is used for the error, login and logout pages. The workbench layout shows the navigation controls and is mainly used for all pages that are used to configure Ceph.
The 403 and 404 pages have a 'Back' button that will redirect to /login. The Angular router will redirect to /dashboard if logged in.
Fixes: https://tracker.ceph.com/issues/43565
Signed-off-by: Volker Theile <vtheile@suse.com>
Rename to mount-using-kernel.rst and mount-using-fuse.rst respectively
so that it's easier to find them in doc/cephfs directory.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
The cores will make teuthology fail the job--and we don't want them for
this test, where we are deliberately causing crashes.
Fixes: https://tracker.ceph.com/issues/43653
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/32006/head:
mgr/cephadm: revert to OrchestratorClientMixin child
mgr/cephadm: initial upgrade logic
cephadm: return 'cephadm pull' result as JSON
mgr/cephadm: upgrade start/stop/pause/resume
mgr/cephadm: track ceph version as well as container in on 'upgrade check'
mgr/orchestrator_cli: upgrade {start,pause,resume,stop}
mgr/cephadm: fix upgrade check
mon/ConfigKeyService: remove config-key set warning
Reviewed-by: Sebastian Wagner <swagner@suse.com>
* refs/pull/32685/head:
cephadm: remove -crash container before starting it
cephadm: stop the crash container the nice way
cephadm: no need for podman rm when passing --rm to run
ceph-crash: exit code 0 on SIGINT, SIGTERM
Reviewed-by: Michael Fritch <mfritch@suse.com>
opaque data may be set in topic configuration and later on sent inside
nottifications triggered by that topic.
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
see also #32632. before we have the complete fix, we should disable this
test to avoid more noise from this test.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/32673/head:
crush/CrushWrapper: behave with empty weight vector
cmake: no need to link libglobal and libblkid for testing crush
test/crush: no need to use libglobal for testing crush
Reviewed-by: Sage Weil <sage@redhat.com>
Rename python to python2 if Ubuntu distro release is 19 or later.
Fixes: https://tracker.ceph.com/issues/43522
Signed-off-by: Rishabh Dave <ridave@redhat.com>
* refs/pull/32713/head:
qa/tasks/cephadm: start watching initial daemons before bootstrap
qa/tasks/cephadm: create /etc/ceph if it doesn't exist
qa/tasks/cephadm: fix log whitelist when there is no whitelist
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Existing pools might have too many/few PGs and produce a warning that
prevents us from getting to HEALTH_OK.
Signed-off-by: Sage Weil <sage@redhat.com>
This lets us see output while bootstrap is happening.
(Depends on the teuthology change to use journalctl, see
teuthology commit 4fa83040b05b604280789459f095d6f2ad1b0d01.)
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/32698/head:
common: drop the unused mutable_item_history container.
common: drop the unused prune() of {safe,mutable}_item_history.
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>