class MMgrUpdate : public Message {
private:
- static constexpr int HEAD_VERSION = 3;
+ static constexpr int HEAD_VERSION = 2;
static constexpr int COMPAT_VERSION = 1;
public:
std::string daemon_name;
std::string service_name; // optional; otherwise infer from entity type
- bool service_daemon = false;
std::map<std::string,std::string> daemon_metadata;
std::map<std::string,std::string> daemon_status;
decode(daemon_name, p);
if (header.version >= 2) {
decode(service_name, p);
- decode(service_daemon, p);
- if (service_daemon) {
+ decode(need_metadata_update, p);
+ if (need_metadata_update) {
decode(daemon_metadata, p);
decode(daemon_status, p);
}
}
- if (header.version >= 3) {
- decode(need_metadata_update, p);
- }
}
void encode_payload(uint64_t features) override {
using ceph::encode;
encode(daemon_name, payload);
encode(service_name, payload);
- encode(service_daemon, payload);
- if (service_daemon) {
+ encode(need_metadata_update, payload);
+ if (need_metadata_update) {
encode(daemon_metadata, payload);
encode(daemon_status, payload);
}
- encode(need_metadata_update, payload);
}
std::string_view get_type_name() const override { return "mgrupdate"; }
out << ceph_entity_type_name(get_source().type());
}
out << "." << daemon_name;
- if (service_daemon) {
- out << " daemon";
- }
out << ")";
}
dout(20) << "updating existing DaemonState for " << key << dendl;
daemon = daemon_state.get(key);
- if (m->need_metadata_update == true &&
+ if (m->need_metadata_update &&
!m->daemon_metadata.empty()) {
daemon_state.update_metadata(daemon, m->daemon_metadata);
}
} else {
update->daemon_name = cct->_conf->name.get_id();
}
- if (service_daemon) {
- update->service_daemon = service_daemon;
+ if (need_metadata_update) {
update->daemon_metadata = daemon_metadata;
}
update->need_metadata_update = need_metadata_update;
return -EEXIST;
}
ldout(cct,1) << service << "." << name << " metadata " << metadata << dendl;
- service_daemon = true;
service_name = service;
daemon_name = name;
daemon_metadata = metadata;
daemon_dirty_status = true;
- if (need_metadata_update == true &&
+ if (need_metadata_update &&
!daemon_metadata.empty()) {
_send_update();
need_metadata_update = false;