[Bug 1675386] Re: [SRU] all network devices aren't added to instance profile
Brian Murray
brian at ubuntu.com
Thu May 31 23:10:42 UTC 2018
Hello todd, or anyone else affected,
Accepted nova-lxd into xenial-proposed. The package will build now and
be available at https://launchpad.net/ubuntu/+source/nova-
lxd/13.3.0-0ubuntu2 in a few hours, and then in the -proposed
repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-xenial to verification-done-xenial. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-xenial. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: nova-lxd (Ubuntu Xenial)
Status: Triaged => Fix Committed
** Tags added: verification-needed verification-needed-xenial
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1675386
Title:
[SRU] all network devices aren't added to instance profile
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive mitaka series:
Triaged
Status in nova-lxd:
Triaged
Status in nova-lxd package in Ubuntu:
Fix Released
Status in nova-lxd source package in Xenial:
Fix Committed
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)
------------------------------------------------------------
Adding fields for Ubuntu SRU template:
[Impact]
See Description above.
[Test Case]
Manual test with devstack to ensure no regressions. Manual check to verify that container gets multiple net devices.
[Regression Potential]
Low, as virtually all openstack deployments with containers tend to only have one network device.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1675386/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list