]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #18484 from Liuchang0812/wip-mgr-request-osd-metadata
authorKefu Chai <tchaikov@gmail.com>
Sat, 18 Nov 2017 13:04:37 +0000 (21:04 +0800)
committerGitHub <noreply@github.com>
Sat, 18 Nov 2017 13:04:37 +0000 (21:04 +0800)
mgr: request daemon's metadata when receiving a report from an unknown server

Reviewed-by: John Spray <john.spray@redhat.com>
1  2 
src/mgr/DaemonServer.cc
src/mgr/Mgr.cc
src/mgr/Mgr.h

Simple merge
diff --cc src/mgr/Mgr.cc
Simple merge
diff --cc src/mgr/Mgr.h
index 9a6b3974b2915ad20930c7688f05064618129eee,b1e6d064946e266f3427b3a2db57c8a9aa6d97fb..a4d8aad39ff703c47f1c9e4a429bc8385813a0fd
@@@ -102,7 -100,35 +102,36 @@@ public
    void shutdown();
  
    std::vector<MonCommand> get_command_set() const;
 +  std::map<std::string, std::string> get_services() const;
  };
  
+ /**
+  * Context for completion of metadata mon commands: take
+  * the result and stash it in DaemonStateIndex
+  */
+ class MetadataUpdate : public Context
+ {
+ private:
+   DaemonStateIndex &daemon_state;
+   DaemonKey key;
+   std::map<std::string, std::string> defaults;
+ public:
+   bufferlist outbl;
+   std::string outs;
+   MetadataUpdate(DaemonStateIndex &daemon_state_, const DaemonKey &key_)
+     : daemon_state(daemon_state_), key(key_) {}
+   void set_default(const std::string &k, const std::string &v)
+   {
+     defaults[k] = v;
+   }
+   void finish(int r) override;
+ };
  #endif