Re: Mon identity in a dynamic environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sage,

Finally getting around to this one.

> I think this is the way to go, and I don't think it will be *that* 
> involved.  Probably it just requires an option to supplement public_addr 
> with bind_addr.  As long as the Messenger myaddr field is populated with 
> the public_addr (and not bind_addr) field I suspect everything will Just 
> Work.  Peers connecting to us will see the public_addr for their 
> getpeeraddr config and that's the one that the messenger will advertise 
> during its handshake; bind_addr would be used *only* by the actual bind 
> call.  Does that seem reasonable?

There is a fair amount of logic around public_addr that makes this a little more
complex. For example, we automatically select the public_addr using pick_addresses
when public_network is set. Also we have logic that attempts to discover available ports,
and “rebinds” the socket which we would want to carry over to the proposed “bind_addr”.

I think it might be easier to go in the other direction. i.e, introduce “mon_advertise_addr”
which overrides msgr->my_inst->addr and be used on the network to reach the mons. If
empty (default) advertise_addr will be set to the effective value of public_addr. If set it must be an 
ip address or resolvable DNS name. If a port is specified it will be used, otherwise
CEPH_MON_PORT is assumed.

Finally, by using the “mon_” prefix this makes it clear that this is limited to MONs where its needed.
While its possible to do with for OSD, MDS, etc. I think it unnecessarily increases the config surface area.

What do you think?

Thanks!
Bassam

��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux