]>
git.proxmox.com Git - ceph.git/blob - ceph/src/mgr/MgrStandby.h
e24f175cada4090845e42157e26d7313f88fa304
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph - scalable distributed file system
6 * Copyright (C) 2016 John Spray <john.spray@redhat.com>
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
15 #ifndef MGR_STANDBY_H_
16 #define MGR_STANDBY_H_
18 #include "auth/Auth.h"
19 #include "common/Finisher.h"
20 #include "common/Timer.h"
21 #include "common/LogClient.h"
23 #include "client/Client.h"
24 #include "mon/MonClient.h"
25 #include "osdc/Objecter.h"
31 class MgrStandby
: public Dispatcher
,
32 public md_config_obs_t
{
34 // config observer bits
35 const char** get_tracked_conf_keys() const override
;
36 void handle_conf_change(const struct md_config_t
*conf
,
37 const std::set
<std::string
> &changed
) override
;
41 std::unique_ptr
<Messenger
> client_messenger
;
46 LogChannelRef clog
, audit_clog
;
51 std::shared_ptr
<Mgr
> active_mgr
;
54 const char **orig_argv
;
56 std::string
state_str();
58 void handle_mgr_map(MMgrMap
*m
);
59 void _update_log_config();
62 bool available_in_map
;
65 MgrStandby(int argc
, const char **argv
);
66 ~MgrStandby() override
;
68 bool ms_dispatch(Message
*m
) override
;
69 bool ms_handle_reset(Connection
*con
) override
{ return false; }
70 void ms_handle_remote_reset(Connection
*con
) override
{}
71 bool ms_get_authorizer(int dest_type
, AuthAuthorizer
**authorizer
,
72 bool force_new
) override
;
73 bool ms_handle_refused(Connection
*con
) override
;
78 int main(vector
<const char *> args
);
79 void handle_signal(int signum
);