[ovs-dev] [PATCH v2] ovn-nbctl: Fix the ovn-nbctl test "LBs - daemon" which fails during rpm build

Ben Pfaff blp at ovn.org
Tue Oct 23 19:34:45 UTC 2018


On Tue, Oct 23, 2018 at 11:24:39PM +0530, Numan Siddique wrote:
> On Tue, Oct 23, 2018 at 10:20 PM Ben Pfaff <blp at ovn.org> wrote:
> 
> > On Tue, Oct 23, 2018 at 09:49:15AM -0700, Ben Pfaff wrote:
> > > On Tue, Oct 23, 2018 at 11:48:58AM +0530, nusiddiq at redhat.com wrote:
> > > > From: Numan Siddique <nusiddiq at redhat.com>
> > > >
> > > > The test "ovn-nbctl: LBs - daemon" fails when it runs the command
> > > > "ovn-nbctl lb-add lb0 30.0.0.1a 192.168.10.10:80,192.168.10.20:80".
> > ovn-nbctl
> > > > extracts the vip by calling the socket util function
> > 'inet_parse_active()',
> > > > and this function blocks when it calls dns_resolve(). It blocks because
> > > > networking is disabled with mock rpm build. Why dns_resolve() blocks,
> > needs
> > > > to be investigated and fixed there. But to unblock this issue quickly,
> > this
> > > > patch provides a fix in OVS itself.
> > > >
> > > > This patch adds a new function - inet_parse_active_address_and_port()
> > which
> > > > expects IP:[port] address in the 'target_' argument and disables
> > resolving
> > > > the host.
> > > >
> > > > This new function is now used in ovn-northd, ovn-nbctl and ovn-trace.
> > It is fine
> > > > to use this function as load balancer VIP cannot be a hostname.
> > > >
> > > > Reported-by: Timothy Redaelli <tredaelli at redhat.com>
> > > > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1641672
> > > > Tested-by: Timothy Redaelli <tredaelli at redhat.com>
> > > > Signed-off-by: Numan Siddique <nusiddiq at redhat.com>
> > > > ---
> > > >
> > > > v1 -> v2
> > > > -------
> > > >   * Addressed review comments from Mark
> > > >      - Updated the documentation of the inet_parse_active()
> > > >      - Used the new function inet_parse_active_address_and_port()
> > > >        in ovn-trace
> > >
> > > I don't understand the function naming here.  Why would one expect a
> > > function with the name inet_parse_active_address_and_port() to not
> > > accept DNS names whereas the function inet_parse_active() does?
> >
> >
> Sorry for the bad naming.
> 
> 
> > Also why can't we investigate why dns_resolve() blocks?
> >
> 
> Sorry. My bad. I didn't realize that dns_resolve() is a native ovs
> function. I will investigate
> why that function blocks.

Thanks.


More information about the dev mailing list