[Openstack] One question on the compute_filter

Joseph Suh jsuh at isi.edu
Tue Jul 17 13:37:44 UTC 2012


Yunhong,

Thanks for your interest in our patch. The original purpose of the instance_type_extra_specs is providing ability to specify any specs that cannot be enumerated at the nova coding time such as hardware-specific requirements (like gpu) or any features in the future system (like python version 10). System administrator will populate necessary items at the time of deployment as he/she wants. Current compute_filter is a relatively simple code that compares the items in the instance_type_extra_specs with those in capability. In our patch, we want to add more operators, not changing the basic behavior.

The idea behind the compute_filter is that if items are specified in instance_type_extra_specs, the filter makes it sure that all the requested items are in the capability of the provisioned hosts. 

So, in your approach, if you already know items that is required such as xpu_arch and want to ignore other items in the instance_type_extra_spec, one way might be to create another filter that checks only those known items. But, then, if there is a need to check another item or ignore an item in the future, the filter code needs to be modified. In our approach, it can be simply added/deleted in database by system administrator.

Thanks,

Joseph

----
(w) 703-248-6160
(c) 571-340-2434
(f) 703-812-3712
http://www.east.isi.edu/~jsuh

Information Sciences Institute
University of Southern California
3811 N. Fairfax Drive Suite 200
Arlington, VA, 22203, USA


----- Original Message -----
From: "Yunhong Jiang" <yunhong.jiang at intel.com>
To: jsuh at isi.edu
Cc: "Donald D Dugger" <donald.d.dugger at intel.com>, openstack at lists.launchpad.net
Sent: Monday, July 16, 2012 10:00:44 AM
Subject: One question on the compute_filter




Hi, Joseph 

I’m working on the patch for blueprints https://blueprints.launchpad.net/nova/+spec/update-flavor-key-value , to add/delete the extra_specs for flavor through nova-manage. I’m still setting up my environment to push the patch. 



However, when I was testing my patch, I noticed that compute_filter assume it will handle all of the “extra_specs”. If it can’t find corresponding key in the capabilities, it will fail to pass the host. IMHO, this is a bit overkill. For example, currently the trusted_filter.py will use the extra_specs to check if trusted_host is required, that means compute filter and trusted filter can’t be used at the same time. 

I think compute filter should define explicitly all keys that it takes care, like cpu_info, cpu_arch, xpu_arch, and only check the corresponding extra_specs key/value pair? After all, extra_specs is not compute_extra_specs? 

I noticed the patch in https://review.openstack.org/#/c/8089/ , but seems this patch will not fix this issue still. 



Any idea or suggestion? I’m glad to create patch if any conclusion on this issue. 



Thanks 

--jyh




More information about the Openstack mailing list