← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1398779] [NEW] radvd >= 2.0 blocks router update processing

 

Public bug reported:

In radvd 2.0+, daemonization code was rewritten, switching from
libdaemon's daemon_fork() to Linux daemon() call.

If no logging method (-m option) is passed to radvd, and the default
logging method is used (which is L_STDERR_SYSLOG), then daemon() is
called with (1, 1) arguments, meaning no chroot (fine) and not closing
stderr (left there for logging) (not fine). So execute() call that
spawns radvd and expects it to daemonize and return code never actually
completes, blocked on stderr.

The fix is to pass e.g. -m syslog to radvd to make it close stderr and
return.

** Affects: neutron
     Importance: Undecided
     Assignee: Ihar Hrachyshka (ihar-hrachyshka)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Ihar Hrachyshka (ihar-hrachyshka)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1398779

Title:
  radvd >= 2.0 blocks router update processing

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  In radvd 2.0+, daemonization code was rewritten, switching from
  libdaemon's daemon_fork() to Linux daemon() call.

  If no logging method (-m option) is passed to radvd, and the default
  logging method is used (which is L_STDERR_SYSLOG), then daemon() is
  called with (1, 1) arguments, meaning no chroot (fine) and not closing
  stderr (left there for logging) (not fine). So execute() call that
  spawns radvd and expects it to daemonize and return code never
  actually completes, blocked on stderr.

  The fix is to pass e.g. -m syslog to radvd to make it close stderr and
  return.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1398779/+subscriptions


Follow ups

References