X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fmgr%2FServiceMap.h;fp=src%2Fceph%2Fsrc%2Fmgr%2FServiceMap.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=99165112731f0dfd48bf024eed702c0c1e980389;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/mgr/ServiceMap.h b/src/ceph/src/mgr/ServiceMap.h deleted file mode 100644 index 9916511..0000000 --- a/src/ceph/src/mgr/ServiceMap.h +++ /dev/null @@ -1,102 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#pragma once - -#include -#include -#include -#include - -#include "include/utime.h" -#include "include/buffer.h" -#include "msg/msg_types.h" - -namespace ceph { - class Formatter; -} - -struct ServiceMap { - struct Daemon { - uint64_t gid = 0; - entity_addr_t addr; - epoch_t start_epoch = 0; ///< epoch first registered - utime_t start_stamp; ///< timestamp daemon started/registered - std::map metadata; ///< static metadata - - void encode(bufferlist& bl, uint64_t features) const; - void decode(bufferlist::iterator& p); - void dump(Formatter *f) const; - static void generate_test_instances(std::list& ls); - }; - - struct Service { - map daemons; - std::string summary; ///< summary status string for 'ceph -s' - - void encode(bufferlist& bl, uint64_t features) const; - void decode(bufferlist::iterator& p); - void dump(Formatter *f) const; - static void generate_test_instances(std::list& ls); - - std::string get_summary() const { - if (summary.size()) { - return summary; - } - if (daemons.empty()) { - return "no daemons active"; - } - std::ostringstream ss; - ss << daemons.size() << (daemons.size() > 1 ? " daemons" : " daemon") - << " active"; - return ss.str(); - } - - void count_metadata(const string& field, - std::map *out) const { - for (auto& p : daemons) { - auto q = p.second.metadata.find(field); - if (q == p.second.metadata.end()) { - (*out)["unknown"]++; - } else { - (*out)[q->second]++; - } - } - } - - }; - - epoch_t epoch = 0; - utime_t modified; - map services; - - void encode(bufferlist& bl, uint64_t features) const; - void decode(bufferlist::iterator& p); - void dump(Formatter *f) const; - static void generate_test_instances(std::list& ls); - - Daemon* get_daemon(const std::string& service, - const std::string& daemon) { - return &services[service].daemons[daemon]; - } - - bool rm_daemon(const std::string& service, - const std::string& daemon) { - auto p = services.find(service); - if (p == services.end()) { - return false; - } - auto q = p->second.daemons.find(daemon); - if (q == p->second.daemons.end()) { - return false; - } - p->second.daemons.erase(q); - if (p->second.daemons.empty()) { - services.erase(p); - } - return true; - } -}; -WRITE_CLASS_ENCODER_FEATURES(ServiceMap) -WRITE_CLASS_ENCODER_FEATURES(ServiceMap::Service) -WRITE_CLASS_ENCODER_FEATURES(ServiceMap::Daemon)