yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #46811
[Bug 1521977] Re: XenAPI: XenVIF implementation breaks the interface
Reviewed: https://review.openstack.org/254022
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=0e3372ac2e9444e69fde6df14a445ff1b963988a
Submitter: Jenkins
Branch: master
commit 0e3372ac2e9444e69fde6df14a445ff1b963988a
Author: Huan Xie <huan.xie@xxxxxxxxxx>
Date: Mon Dec 7 06:12:31 2015 +0000
XenAPI: Fix VIF plug and unplug problem
When vif.plug is called, XenAPI's vif plug does not plug a device,
but returns a dictionary of the vif record. This is not vif.plug is
expected to do. This fix will create a new VIF when vif_driver.plug
is called and destroy this VIF when vif_driver.unplug is called
Change-Id: I1eb4cc3b1c44662fb3063a854880ebf79fcf6942
Closes-Bug: #1521977
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1521977
Title:
XenAPI: XenVIF implementation breaks the interface
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Other virt drivers (libvirt:
https://git.openstack.org/cgit/openstack/nova/tree/nova/virt/libvirt/vif.py#n448,
hyperv:
https://git.openstack.org/cgit/openstack/nova/tree/nova/virt/hyperv/vif.py#n66)
plug the VIFs when the vif_driver.plug() method is called.
XenAPI's vif plug does not plug a device, but returns a dictionary -
see
https://git.openstack.org/cgit/openstack/nova/tree/nova/virt/xenapi/vif.py#n133
- and then "plugs" it during VM creation - see
https://git.openstack.org/cgit/openstack/nova/tree/nova/virt/xenapi/vmops.py#n1881,
called from
https://git.openstack.org/cgit/openstack/nova/tree/nova/virt/xenapi/vmops.py#n547.
This is broken with respect to the names in the interface and what
other virt drivers are doing.
It has further led to functionality being implemented that does
nothing, for example driver.plug_vifs and driver.unplug_vifs make
calls to vif_driver.plug and vif_driver.unplug - but these do nothing.
We need to fix the code so that:
vif_driver.plug will create a new VIF for the VM record
vif_driver.unplug will destroy the VIF record from the VM, if it still exists.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1521977/+subscriptions
References