class MMgrBeacon : public PaxosServiceMessage {
- static const int HEAD_VERSION = 5;
+ static const int HEAD_VERSION = 6;
static const int COMPAT_VERSION = 1;
protected:
std::set<std::string> available_modules;
map<string,string> metadata; ///< misc metadata about this osd
+ // From active daemon to populate MgrMap::services
+ std::map<std::string, std::string> services;
+
// Only populated during activation
std::vector<MonCommand> command_descs;
return metadata;
}
+ const std::map<std::string,std::string>& get_services() const {
+ return services;
+ }
+
+ void set_services(const std::map<std::string, std::string> &svcs)
+ {
+ services = svcs;
+ }
+
void set_command_descs(const std::vector<MonCommand> &cmds)
{
command_descs = cmds;
::encode(available_modules, payload);
::encode(command_descs, payload);
::encode(metadata, payload);
+ ::encode(services, payload);
}
void decode_payload() override {
bufferlist::iterator p = payload.begin();
if (header.version >= 5) {
::decode(metadata, p);
}
+ if (header.version >= 6) {
+ ::decode(services, p);
+ }
}
};