lp:~ed-leafe/nova/lp828848
- Get this branch:
- bzr branch lp:~ed-leafe/nova/lp828848
Branch merges
- Sandy Walsh (community): Approve
- Brian Waldon (community): Approve
- Rick Harris (community): Approve
-
Diff: 50 lines (+4/-6)3 files modifiednova/compute/api.py (+1/-2)
nova/scheduler/abstract_scheduler.py (+2/-1)
nova/scheduler/host_filter.py (+1/-3)
Related bugs
Bug #828848: InstanceTypeFilter host filter no longer valid | Medium | Fix Released |
Related blueprints
Branch information
Recent revisions
- 1455. By Ed Leafe
-
Changed the filter specified in _ask_scheduler_
to_create_ instance( ) to None, since the value isn't used when creating an instance. - 1454. By Ed Leafe
-
Added the fix for the missing parameter for the call to create_
db_entry_ for_new_ instance( ) - 1453. By Ed Leafe
-
Corrected the hardcoded filter path. Also simplified the filter matching code in host_filter.py
- 1452. By Ed Leafe
-
Fixed several logical errors in the scheduling process. Renamed the 'ZoneAwareSched
uler' to 'AbstractSchedu ler', since the zone-specific designation is no longer relevant. Created a BaseScheduler class that has basic filter_hosts() and weigh_hosts() capabilities. Moved the filters out of one large file and into a 'filters' subdirectory of nova/scheduler. Since I had to do a lot of editing of the files to change the naming and references, I cleaned up much of the inconsistent formatting. Normally formatting changes don't belong in a code change merge prop, but as I was making large-scale changes to the files, it was simplest to do it all at once.
- 1451. By Ed Leafe
-
Adds the enabled status of a host when XenServer reports its host's capabilities. This allows the scheduler to ignore hosts whose enabled is False when considering where to place a new instance.
- 1450. By Brian Lamar
-
DB object was being casted to dict() in API code. This did not work as intended and logic has been updated to reflect a more accurate way of getting information out of DB objects.
- 1449. By dan wendlandt
-
I'm taking Thierry at his word that I should merge early and merge often :)
In Diablo-3 we introduced "vif-plugging" to the hypervisor "virt" layer, allowing flexibility in how vNICs are attached to the network switch. This allowed non-linux bridge switch technologies (e.g., Open vSwitch, 802.1qbh) to be used with nova.
This blueprint adds a similar capability to linux_net.py, allowing the L3/DHCP capabilities to be "plugged" into Quantum networks. Like in the virt layer, we created a vif driver that represents the behavior of Nova prior to the change (LinuxBridgeInt
erfaceDriver) and make it the default. We also add a new driver for Open Vswitch that can be enabled using a flag (LinuxOVSInterf aceDriver) . The code is designed to support other drivers as well. Most of the interesting code is at the bottom of linux_net.py, where the drivers are defined. I had to pull some common code related to setting IPs on devices out of ensure_bridge() so it could be used by either approach. The driver's plug() method is invoked by the VlanManager's _setup_network() method. Currently unplug() is unused, which seems to be inline with how the existing nova code works.
In many places in linux_net.py, I had to tweak functions to accept the name of the linux device to configure, rather than just assuming it was the 'bridge' field in the network object, since with OVS it could be any linux device. The code I am least sure about are the changes to bin/nova-
dhcpbridge. I changed to this key off of the network ID, rather than the bridge name. I've tested this with the linux bridge and with the OVS vif-plugging driver. I was able to confirm that L3 forwarding and DHCP were operating correctly.
- 1448. By Vish Ishaya
-
Fixes issue with exceptions getting eaten in image/s3.py if there is a failure during register. The variables referenced with locals() were actually out of scope.
- 1447. By Josh Kearney
-
Allow local_gb size to be 0. libvirt uses local_gb as a secondary drive, but XenServer uses it as the root partition's size. Now we support both.
Include some random PEP8 fixes.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:~hudson-openstack/nova/trunk