Comment 1 for bug 1376596

Revision history for this message
Bruno Bompastor (bruno-bompastor) wrote : Re: Cannot start nova-network on juno-1

Hi again!

So I found the problem.

So on juno you changed the logic on this file /usr/lib/python2.7/site-packages/nova/network/linux_net.py

RDO packages:
icehouse: python-nova.noarch 2014.1.2-1.el6 @openstack-icehouse
juno: python-nova.noarch 2014.2-0.4.b3.el7.centos @openstack-juno

icehouse ensure_bridge function:

        if interface:
            msg = _('Adding interface %(interface)s to bridge %(bridge)s')
            LOG.debug(msg, {'interface': interface, 'bridge': bridge})
            out, err = _execute('brctl', 'addif', bridge, interface,
                                check_exit_code=False, run_as_root=True)
            out, err = _execute('ip', 'link', 'set', interface, 'up',
                                check_exit_code=False, run_as_root=True)

master/juno ensure_bridge function:

        if interface:
            msg = _('Adding interface %(interface)s to bridge %(bridge)s')
            LOG.debug(msg, {'interface': interface, 'bridge': bridge})
            out, err = _execute('brctl', 'addif', bridge, interface,
                                check_exit_code=False, run_as_root=True)
            if (err and err != "device %s is already a member of a bridge; "
                     "can't enslave it to bridge %s.\n" % (interface, bridge)):
                msg = _('Failed to add interface: %s') % err
                raise exception.NovaException(msg)

            out, err = _execute('ip', 'link', 'set', interface, 'up',
                                check_exit_code=False, run_as_root=True)

I understand that the developer was trying not to lose the error message here but it didnt catch it properly.

I hope that helps!