Liuji (Jeremy) said on Mon, Mar 03, 2014 at 08:06:57AM +0000: > Test scenario: > 1)There are two compute nodes in the environment named A and B. A has two > NICs of vendor_id='8086' and product_id='105e', B has two NICs of > vendor_id='8086' and product_id='10c9'. > 2)I configured "pci_alias={"vendor_id":"8086", "product_id":"10c9", > "name":"a1"}" in nova.conf on the controller node, and of course the > pci_passthrough_whitelist on this two compute nodes seperately. > 3)Finally, a flavor named "MyTest" with extra_specs= > {u'pci_passthrough:alias': u'a1:1'} > 4)When I create a new instance with the "MyTest" flavor, it starts or is > error randomly. > > The problem is in the _schedule function of > nova/scheduler/filter_scheduler.py: > chosen_host = random.choice( > weighed_hosts[0:scheduler_host_subset_size]) > selected_hosts.append(chosen_host) > > # Now consume the resources so the filter/weights > # will change for the next instance. > chosen_host.obj.consume_from_instance(instance_properties) > > while "scheduler_host_subset_size" is configured to 2, the > weighed_hosts are A and B, but the chosen_host is selected randomly. > When chosen_host is B, the instance starts, but when chosen_host is A, > the instance becomes error. The "consume_from_instance" will raise a > exception.
Hi Jeremy, You didn't mention the PciPassthroughFilter, have you enabled this in your scheduler? https://wiki.openstack.org/wiki/Pci_passthrough Alexis -- Nova Engineer, HP Cloud. AKA lealexis, lxsli. _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev