[Bug 1675386] Re: all network devices aren't added to instance profile
todd
1675386 at bugs.launchpad.net
Mon Mar 27 04:23:56 UTC 2017
** Description changed:
RELEASE: nova-compute-lxd 13.3.0-0ubuntu1
DESCRIPTION:
In config.py the network_devices object should be returned after the
'for vifaddr in network_info:' loop to ensure the network_devices object
includes all network devices.
CURRENT CODE (annotated area of interest with >>>>):
- def create_network(self, instance_name, instance, network_info):
- """Create the LXD container network on the host
+ def create_network(self, instance_name, instance, network_info):
+ """Create the LXD container network on the host
- :param instance_name: nova instance name
- :param instance: nova instance object
- :param network_info: instance network configuration object
- :return:network configuration dictionary
- """
- LOG.debug('create_network called for instance', instance=instance)
- try:
- network_devices = {}
- if not network_info:
- return
- for vifaddr in network_info:
- cfg = self.vif_driver.get_config(instance, vifaddr)
- key = str(cfg['bridge'])
- network_devices[key] = {'nictype': 'bridged', 'hwaddr': str(cfg['mac_address']), 'parent': key, 'type': 'nic'}
- host_device = self.vif_driver.get_vif_devname(vifaddr)
- if host_device:
- network_devices[key]['host_name'] = host_device
+ :param instance_name: nova instance name
+ :param instance: nova instance object
+ :param network_info: instance network configuration object
+ :return:network configuration dictionary
+ """
+ LOG.debug('create_network called for instance', instance=instance)
+ try:
+ network_devices = {}
+ if not network_info:
+ return
+ for vifaddr in network_info:
+ cfg = self.vif_driver.get_config(instance, vifaddr)
+ key = str(cfg['bridge'])
+ network_devices[key] = {'nictype': 'bridged', 'hwaddr': str(cfg['mac_address']), 'parent': key, 'type': 'nic'}
+ host_device = self.vif_driver.get_vif_devname(vifaddr)
+ if host_device:
+ network_devices[key]['host_name'] = host_device
>>>> return network_devices
- except Exception as ex:
- with excutils.save_and_reraise_exception():
- LOG.error(
- _LE('Fail to configure network for %(instance)s: %(ex)s'),
- {'instance': instance_name, 'ex': ex}, instance=instance)
+ except Exception as ex:
+ with excutils.save_and_reraise_exception():
+ LOG.error(
+ _LE('Fail to configure network for %(instance)s: %(ex)s'),
+ {'instance': instance_name, 'ex': ex}, instance=instance)
PROPOSED CHANGE (annotated area of interest with >>>>):
- def create_network(self, instance_name, instance, network_info):
- """Create the LXD container network on the host
+ def create_network(self, instance_name, instance, network_info):
+ """Create the LXD container network on the host
- :param instance_name: nova instance name
- :param instance: nova instance object
- :param network_info: instance network configuration object
- :return:network configuration dictionary
- """
- LOG.debug('create_network called for instance', instance=instance)
- try:
- network_devices = {}
- if not network_info:
- return
- for vifaddr in network_info:
- cfg = self.vif_driver.get_config(instance, vifaddr)
- key = str(cfg['bridge'])
- network_devices[key] = {'nictype': 'bridged', 'hwaddr': str(cfg['mac_address']), 'parent': key, 'type': 'nic'}
- host_device = self.vif_driver.get_vif_devname(vifaddr)
- if host_device:
- network_devices[key]['host_name'] = host_device
- except Exception as ex:
- with excutils.save_and_reraise_exception():
- LOG.error(
- _LE('Fail to configure network for %(instance)s: %(ex)s'),
- {'instance': instance_name, 'ex': ex}, instance=instance)
- >>>> return network_devices
+ :param instance_name: nova instance name
+ :param instance: nova instance object
+ :param network_info: instance network configuration object
+ :return:network configuration dictionary
+ """
+ LOG.debug('create_network called for instance', instance=instance)
+ try:
+ network_devices = {}
+ if not network_info:
+ return
+ for vifaddr in network_info:
+ cfg = self.vif_driver.get_config(instance, vifaddr)
+ key = str(cfg['bridge'])
+ network_devices[key] = {'nictype': 'bridged', 'hwaddr': str(cfg['mac_address']), 'parent': key, 'type': 'nic'}
+ host_device = self.vif_driver.get_vif_devname(vifaddr)
+ if host_device:
+ network_devices[key]['host_name'] = host_device
+ >>>> return network_devices
+ except Exception as ex:
+ with excutils.save_and_reraise_exception():
+ LOG.error(
+ _LE('Fail to configure network for %(instance)s: %(ex)s'),
+ {'instance': instance_name, 'ex': ex}, instance=instance)
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to nova-lxd in Ubuntu.
https://bugs.launchpad.net/bugs/1675386
Title:
all network devices aren't added to instance profile
Status in nova-lxd package in Ubuntu:
New
Bug description:
RELEASE: nova-compute-lxd 13.3.0-0ubuntu1
DESCRIPTION:
In config.py the network_devices object should be returned after the
'for vifaddr in network_info:' loop to ensure the network_devices
object includes all network devices.
CURRENT CODE (annotated area of interest with >>>>):
def create_network(self, instance_name, instance, network_info):
"""Create the LXD container network on the host
:param instance_name: nova instance name
:param instance: nova instance object
:param network_info: instance network configuration object
:return:network configuration dictionary
"""
LOG.debug('create_network called for instance', instance=instance)
try:
network_devices = {}
if not network_info:
return
for vifaddr in network_info:
cfg = self.vif_driver.get_config(instance, vifaddr)
key = str(cfg['bridge'])
network_devices[key] = {'nictype': 'bridged', 'hwaddr': str(cfg['mac_address']), 'parent': key, 'type': 'nic'}
host_device = self.vif_driver.get_vif_devname(vifaddr)
if host_device:
network_devices[key]['host_name'] = host_device
>>>> return network_devices
except Exception as ex:
with excutils.save_and_reraise_exception():
LOG.error(
_LE('Fail to configure network for %(instance)s: %(ex)s'),
{'instance': instance_name, 'ex': ex}, instance=instance)
PROPOSED CHANGE (annotated area of interest with >>>>):
def create_network(self, instance_name, instance, network_info):
"""Create the LXD container network on the host
:param instance_name: nova instance name
:param instance: nova instance object
:param network_info: instance network configuration object
:return:network configuration dictionary
"""
LOG.debug('create_network called for instance', instance=instance)
try:
network_devices = {}
if not network_info:
return
for vifaddr in network_info:
cfg = self.vif_driver.get_config(instance, vifaddr)
key = str(cfg['bridge'])
network_devices[key] = {'nictype': 'bridged', 'hwaddr': str(cfg['mac_address']), 'parent': key, 'type': 'nic'}
host_device = self.vif_driver.get_vif_devname(vifaddr)
if host_device:
network_devices[key]['host_name'] = host_device
>>>> return network_devices
except Exception as ex:
with excutils.save_and_reraise_exception():
LOG.error(
_LE('Fail to configure network for %(instance)s: %(ex)s'),
{'instance': instance_name, 'ex': ex}, instance=instance)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nova-lxd/+bug/1675386/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list