mgr: create a skeleton MMonMgrReport message type

We'll use this for sending data to the monitor at tick intervals.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
This commit is contained in:
Greg Farnum 2017-03-10 18:21:17 -08:00 committed by Sage Weil
parent 35fd964ec0
commit efbe4667d9
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,52 @@
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
/*
* Ceph - scalable distributed file system
*
* Copyright (C) 2017 Greg Farnum/Red Hat <gfarnum@redhat.com>
*
* This is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software
* Foundation. See file COPYING.
*
*/
#ifndef CEPH_MMONMGRREPORT_H
#define CEPH_MMONMGRREPORT_H
#include "messages/PaxosServiceMessage.h"
#include "include/types.h"
class MMonMgrReport : public PaxosServiceMessage {
static const int HEAD_VERSION = 1;
static const int COMPAT_VERSION = 1;
public:
MMonMgrReport()
: PaxosServiceMessage(MSG_MON_MGR_REPORT, 0, HEAD_VERSION, COMPAT_VERSION)
{}
private:
~MMonMgrReport() override {}
public:
const char *get_type_name() const override { return "monmgrreport"; }
void print(ostream& out) const override {
out << get_type_name();
}
void encode_payload(uint64_t features) override {
paxos_encode();
}
void decode_payload() override {
bufferlist::iterator p = payload.begin();
paxos_decode(p);
}
};
#endif

View File

@ -168,6 +168,7 @@ using namespace std;
#include "messages/MMgrReport.h"
#include "messages/MMgrOpen.h"
#include "messages/MMgrConfigure.h"
#include "messages/MMonMgrReport.h"
#include "messages/MLock.h"
@ -746,6 +747,10 @@ Message *decode_message(CephContext *cct, int crcflags,
m = new MMgrBeacon();
break;
case MSG_MON_MGR_REPORT:
m = new MMonMgrReport();
break;
case MSG_MGR_MAP:
m = new MMgrMap();
break;

View File

@ -196,6 +196,8 @@
// *** ceph-mon(MgrMonitor) -> ceph-mgr
#define MSG_MGR_DIGEST 0x705
// *** cephmgr -> ceph-mon
#define MSG_MON_MGR_REPORT 0x706
// ======================================================