qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] [PATCH v2 5/5] block/rbd: add support for


From: Daniel P. Berrange
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH v2 5/5] block/rbd: add support for 'mon_host', 'auth_supported' via QAPI
Date: Tue, 28 Feb 2017 10:28:49 +0000
User-agent: Mutt/1.7.1 (2016-10-04)

On Tue, Feb 28, 2017 at 10:16:51AM +0000, Daniel P. Berrange wrote:
> On Mon, Feb 27, 2017 at 10:57:44PM -0500, Jeff Cody wrote:
> > On Mon, Feb 27, 2017 at 04:47:54PM -0600, Eric Blake wrote:
> > > On 02/27/2017 12:58 PM, Jeff Cody wrote:
> > > > @@ -604,6 +620,29 @@ static int qemu_rbd_open(BlockDriverState *bs, 
> > > > QDict *options, int flags,
> > > >          goto failed_shutdown;
> > > >      }
> > > >  
> > > > +    /* if mon_host was specified */
> > > > +    if (host) {
> > > > +        const char *hostname = host;
> > > > +        char *mon_host = NULL;
> > > > +
> > > > +        if (port) {
> > > > +            mon_host = g_strdup_printf("%s:%s", host, port);
> > > 
> > > Does Ceph care about IPv6 (in which case you may need [host]:port when
> > > host itself includes ':')?
> > >
> > 
> > Some quick sanity testing seems to show that it does not need [] for ipv6
> > addresses, which is nice.
> 
> Hmm, that is very odd to me, as that means parsing is ambiguous. The
> ceph 'mon_host' option allows the port to be omitted, so given a
> string  2001:242:24:23   there's no way of knowing whether it is
> a IPv6 addr 2001:242:24:23, with no port, or an addr 2001:242:24 with
> port of 23

Looking at the source code to ceph it appears that if you omit the
use of [], then it will treat the entire string as being the address
without port. It does look to support use of [], so we should use
that IIUC.

https://blog.widodh.nl/2014/11/ceph-with-a-cluster-and-public-network-on-ipv6/

See also entity_addr_t::parse in $CEPH/src/msg/msg_types.cc which is
what I think parses the mon addr. NB, I've not tested this yet, so
if you have a live ceph cluster with ipv6, it'd be good to verify that
using [] is correct.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]