Merge lp://qastaging/~midokura/nova/network-refactoring-l2 into lp://qastaging/~hudson-openstack/nova/trunk
Status: | Merged |
---|---|
Approved by: | Vish Ishaya |
Approved revision: | 1292 |
Merged at revision: | 1321 |
Proposed branch: | lp://qastaging/~midokura/nova/network-refactoring-l2 |
Merge into: | lp://qastaging/~hudson-openstack/nova/trunk |
Diff against target: |
1907 lines (+642/-372) 27 files modified
.mailmap (+1/-0) Authors (+3/-0) nova/compute/manager.py (+32/-20) nova/network/api.py (+4/-0) nova/network/linux_net.py (+1/-0) nova/network/manager.py (+25/-40) nova/network/vmwareapi_net.py (+0/-82) nova/network/xenapi_net.py (+0/-87) nova/tests/test_compute.py (+6/-8) nova/tests/test_libvirt.py (+20/-17) nova/tests/test_network.py (+7/-2) nova/tests/test_xenapi.py (+1/-1) nova/virt/driver.py (+10/-6) nova/virt/fake.py (+5/-5) nova/virt/hyperv.py (+3/-3) nova/virt/libvirt.xml.template (+18/-0) nova/virt/libvirt/connection.py (+30/-45) nova/virt/libvirt/firewall.py (+6/-5) nova/virt/libvirt/vif.py (+134/-0) nova/virt/vif.py (+30/-0) nova/virt/vmwareapi/vif.py (+95/-0) nova/virt/vmwareapi/vmops.py (+25/-3) nova/virt/vmwareapi_conn.py (+10/-6) nova/virt/xenapi/vif.py (+140/-0) nova/virt/xenapi/vm_utils.py (+0/-22) nova/virt/xenapi/vmops.py (+27/-14) nova/virt/xenapi_conn.py (+9/-6) |
To merge this branch: | bzr merge lp://qastaging/~midokura/nova/network-refactoring-l2 |
Related bugs: | |
Related blueprints: |
Refactor Networking
(Essential)
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Vish Ishaya (community) | Approve | ||
Devin Carlen (community) | Approve | ||
Brian Lamar (community) | Needs Fixing | ||
Jason Kölker (community) | Approve | ||
Jay Pipes (community) | Approve | ||
Review via email:
|
Commit message
Moved the VIF network connectivity logic('
Description of the change
Refactoring of the networking code of Nova to allow L2 connectivity using various networking technologies. In this merge, we introduce a concept of VIF driver, an extendable class that implements generic VIF operations, 'plug' and 'unplug'. These methods set up and tear down network connectivity. We moved the VIF networking logic from network manager to the virt drivers to allow customized VIF configurations for various types of VIFs.
Hi!
Looks like some excellent cleanup.
Tiny consistency suggestion
For the unfilter_instance() method on the driver, you use a kwarg "network_info":
184 + self.driver. unfilter_ instance( instance_ ref, network_ info=network_ info)
But for all the other driver methods, you are passing network_info as a positional param:
132 + self.driver. destroy( instance_ ref, network_info) plug_vifs( instance_ ref, network_info)
166 + self.driver.
It would be good to keep this consistent.
Also, here:
262 + @property bridge( self):
263 + def _create_
264 + """Indicate whether this manager requires VIF to create a bridge."""
265 + return False
and
271 + @property
272 + def _create_vlan(self):
273 + """Indicate whether this manager requires VIF to create a VLAN tag."""
274 + return False
I would recommend naming those should_ create_ bridge and should_create_vlan to better indicate that the property is a boolean value and not an action. You could also consider making these simply class-level constants.
948 + LOG.warning("Failed while unplugging vif of instance '%s'" % \
1790 + LOG.warning("Failed while unplugging vif of instance '%s'" % \
Need i18n in added strings above...
Cheers!
jay