diff mbox

iotests: 147: Don't test inet6 if not available

Message ID 20170505102153.758-1-famz@redhat.com
State New
Headers show

Commit Message

Fam Zheng May 5, 2017, 10:21 a.m. UTC
This is the case in our docker tests, as we use --net=none there. Skip
this method.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/qemu-iotests/147 | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Daniel P. Berrangé May 5, 2017, 10:41 a.m. UTC | #1
On Fri, May 05, 2017 at 06:21:53PM +0800, Fam Zheng wrote:
> This is the case in our docker tests, as we use --net=none there. Skip
> this method.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/qemu-iotests/147 | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/tests/qemu-iotests/147 b/tests/qemu-iotests/147
> index 32afea6..db34838 100755
> --- a/tests/qemu-iotests/147
> +++ b/tests/qemu-iotests/147
> @@ -147,6 +147,13 @@ class BuiltinNBD(NBDBlockdevAddBase):
>          self._server_down()
>  
>      def test_inet6(self):
> +        try:
> +            socket.getaddrinfo("::0", "0", socket.AF_INET6,
> +                               socket.SOCK_STREAM, socket.IPPROTO_TCP,
> +                               socket.AI_ADDRCONFIG | socket.AI_CANONNAME)
> +        except socket.gaierror:
> +            # IPv6 not available, skip
> +            return

FWIW, in test-io-channel-socket.c we call getaddrinfo() and also check
bind() succeeds (use port==0 to let it select a free port to test bind
on), before assuming IPv6 is working.

Regards,
Daniel
Fam Zheng May 17, 2017, 2:13 a.m. UTC | #2
On Fri, 05/05 18:21, Fam Zheng wrote:
> This is the case in our docker tests, as we use --net=none there. Skip
> this method.

Ping. Is this patch okay?

> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/qemu-iotests/147 | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/tests/qemu-iotests/147 b/tests/qemu-iotests/147
> index 32afea6..db34838 100755
> --- a/tests/qemu-iotests/147
> +++ b/tests/qemu-iotests/147
> @@ -147,6 +147,13 @@ class BuiltinNBD(NBDBlockdevAddBase):
>          self._server_down()
>  
>      def test_inet6(self):
> +        try:
> +            socket.getaddrinfo("::0", "0", socket.AF_INET6,
> +                               socket.SOCK_STREAM, socket.IPPROTO_TCP,
> +                               socket.AI_ADDRCONFIG | socket.AI_CANONNAME)
> +        except socket.gaierror:
> +            # IPv6 not available, skip
> +            return
>          address = { 'type': 'inet',
>                      'data': {
>                          'host': '::1',
> -- 
> 2.9.3
> 
>
Kevin Wolf May 17, 2017, 11:59 a.m. UTC | #3
Am 17.05.2017 um 04:13 hat Fam Zheng geschrieben:
> On Fri, 05/05 18:21, Fam Zheng wrote:
> > This is the case in our docker tests, as we use --net=none there. Skip
> > this method.
> 
> Ping. Is this patch okay?

I thought you might want to respond to Dan's comment. If you don't plan
to make the change he suggests, let me know and I'll queue the patch as
it is.

Kevin
Fam Zheng May 17, 2017, 12:10 p.m. UTC | #4
On Wed, 05/17 13:59, Kevin Wolf wrote:
> Am 17.05.2017 um 04:13 hat Fam Zheng geschrieben:
> > On Fri, 05/05 18:21, Fam Zheng wrote:
> > > This is the case in our docker tests, as we use --net=none there. Skip
> > > this method.
> > 
> > Ping. Is this patch okay?
> 
> I thought you might want to respond to Dan's comment. If you don't plan
> to make the change he suggests, let me know and I'll queue the patch as
> it is.

This check is enough for me and I think it's good to go.

Fam
Daniel P. Berrangé May 17, 2017, 12:15 p.m. UTC | #5
On Wed, May 17, 2017 at 08:10:51PM +0800, Fam Zheng wrote:
> On Wed, 05/17 13:59, Kevin Wolf wrote:
> > Am 17.05.2017 um 04:13 hat Fam Zheng geschrieben:
> > > On Fri, 05/05 18:21, Fam Zheng wrote:
> > > > This is the case in our docker tests, as we use --net=none there. Skip
> > > > this method.
> > > 
> > > Ping. Is this patch okay?
> > 
> > I thought you might want to respond to Dan's comment. If you don't plan
> > to make the change he suggests, let me know and I'll queue the patch as
> > it is.
> 
> This check is enough for me and I think it's good to go.

That's fine with me - i didn't intend my comments to be a blocker. In
general getaddrinfo should only return IPv6 addrs, if IPv6 is actually
usable.

Regards,
Daniel
Fam Zheng May 17, 2017, 12:21 p.m. UTC | #6
On Fri, 05/05 11:41, Daniel P. Berrange wrote:
> On Fri, May 05, 2017 at 06:21:53PM +0800, Fam Zheng wrote:
> > This is the case in our docker tests, as we use --net=none there. Skip
> > this method.
> > 
> > Signed-off-by: Fam Zheng <famz@redhat.com>
> > ---
> >  tests/qemu-iotests/147 | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/tests/qemu-iotests/147 b/tests/qemu-iotests/147
> > index 32afea6..db34838 100755
> > --- a/tests/qemu-iotests/147
> > +++ b/tests/qemu-iotests/147
> > @@ -147,6 +147,13 @@ class BuiltinNBD(NBDBlockdevAddBase):
> >          self._server_down()
> >  
> >      def test_inet6(self):
> > +        try:
> > +            socket.getaddrinfo("::0", "0", socket.AF_INET6,
> > +                               socket.SOCK_STREAM, socket.IPPROTO_TCP,
> > +                               socket.AI_ADDRCONFIG | socket.AI_CANONNAME)
> > +        except socket.gaierror:
> > +            # IPv6 not available, skip
> > +            return
> 
> FWIW, in test-io-channel-socket.c we call getaddrinfo() and also check
> bind() succeeds (use port==0 to let it select a free port to test bind
> on), before assuming IPv6 is working.

Well it then sounds like we should check bind(port=NBD_PORT). But if we do that,
it looks like a slightly bigger topic, for example a previous run not cleanup?

Let's leave it for now.

Fam
Kevin Wolf May 17, 2017, 12:27 p.m. UTC | #7
Am 05.05.2017 um 12:21 hat Fam Zheng geschrieben:
> This is the case in our docker tests, as we use --net=none there. Skip
> this method.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>

Thanks, applied to the block branch.

Kevin
diff mbox

Patch

diff --git a/tests/qemu-iotests/147 b/tests/qemu-iotests/147
index 32afea6..db34838 100755
--- a/tests/qemu-iotests/147
+++ b/tests/qemu-iotests/147
@@ -147,6 +147,13 @@  class BuiltinNBD(NBDBlockdevAddBase):
         self._server_down()
 
     def test_inet6(self):
+        try:
+            socket.getaddrinfo("::0", "0", socket.AF_INET6,
+                               socket.SOCK_STREAM, socket.IPPROTO_TCP,
+                               socket.AI_ADDRCONFIG | socket.AI_CANONNAME)
+        except socket.gaierror:
+            # IPv6 not available, skip
+            return
         address = { 'type': 'inet',
                     'data': {
                         'host': '::1',