From: Wido den Hollander <wido@42on.com>
To: Loic Dachary <loic@dachary.org>,
Andreas-Joachim Peters <andreas.joachim.peters@cern.ch>
Cc: Ceph Development <ceph-devel@vger.kernel.org>
Subject: Re: RFC: new rados whereis command
Date: Thu, 25 Dec 2014 13:52:49 +0100 [thread overview]
Message-ID: <549C08A1.1020500@42on.com> (raw)
In-Reply-To: <5499EB3C.2040602@dachary.org>
On 12/23/2014 11:22 PM, Loic Dachary wrote:
> Hi Andreas,
>
> I took a closer look at https://github.com/ceph/ceph/pull/2730 implementing rados whereis [--dns] and I think it deserves a discussion here. If I understand correctly, it relies on a new function of the rados API:
>
> typedef struct whereis {
> int64_t osd_id; //< ID of the OSD hosting this object
> std::string osd_state; //< state of the OSD - either 'active' or 'inactive'
> int64_t pg_seed; //< Seed of the PG hosting this object
> std::string ip_string; //< Ip as string
> std::vector<std::string> host_names; //< optional reverse DNS HostNames
> std::map<std::string, std::string> user_map; //< optional user KV map
> void resolve(); //< reverse DNS OSD IPs and store in HostNames
> } whereis_t;
>
Looking at this, will it return the public or cluster IP? I think the
public, which seems the right thing, but shouldn't the struct already
facilitate also returning the cluster IP?
The rados tool doesn't have to, but you never know what people want in
the future?
Great idea though! Very helpful!
> static int whereis(IoCtx &ioctx, const std::string &oid, std::vector<whereis_t> &locations);
>
> which needs to be added there because the rados API does not expose some details that are needed to fill the fields of the whereis_t structure.
>
> It looks fine to me but ... I'm not used to maintaining or developing the rados API and someone else may have a more informed opinion.
>
> There is a technical detail that also needs to be sorted out : the current implementation exposes the RadosWhereis class (for dump) and this should either be moved to rados.cc or be part of the rados API (which probably is not the best option because it would also expose Formatter as a consequence).
>
> Cheers
>
--
Wido den Hollander
42on B.V.
Ceph trainer and consultant
Phone: +31 (0)20 700 9902
Skype: contact42on
next prev parent reply other threads:[~2014-12-25 12:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-23 22:22 RFC: new rados whereis command Loic Dachary
2014-12-25 12:52 ` Wido den Hollander [this message]
2014-12-26 7:54 ` Mykola Golub
2014-12-29 20:08 ` Sage Weil
2015-01-09 15:21 ` Andreas Joachim Peters
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=549C08A1.1020500@42on.com \
--to=wido@42on.com \
--cc=andreas.joachim.peters@cern.ch \
--cc=ceph-devel@vger.kernel.org \
--cc=loic@dachary.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.