On 2014年03月03日 22:21, Alexis Lee wrote:
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
definitely need this filter.
Yongli He
your scheduler?
https://wiki.openstack.org/wiki/Pci_passthrough
Alexis
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev