openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #14744
Re: One question on the compute_filter
Don,
That's an interesting idea, but I am having a difficulty in understanding why you want to store extra information (not spec) in instance_type_extra_specs. If you need to keep some extra information, using or creating another flag or field in database might be a better place for that? The intention of having instance_type_extra_specs is to extend the instance_types table to accommodate extra specs that cannot be enumerated at the time of coding, and it would be best if we have the same behavior as instance_types in my opinion.
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: "Donald D Dugger" <donald.d.dugger@xxxxxxxxx>
To: "Joseph Suh" <jsuh@xxxxxxx>, "Yunhong Jiang" <yunhong.jiang@xxxxxxxxx>
Cc: openstack@xxxxxxxxxxxxxxxxxxx
Sent: Tuesday, July 17, 2012 11:47:25 AM
Subject: RE: One question on the compute_filter
Joeseph-
My concern is that this means that the compute filter consumes `every` entry in the `extra_specs' table. I can imagine scenarios where other filters would want to put data in `extra_specs' that is not intended for the compute filter. In fact, we do that today with the trusted filter that was recently added where there is a `trusted_host' key that is added to the `extra_specs' table.
I really like the idea of adding operators to the compute filter. This would mean that if you truly wanted the compute filter to check for the presence of capability you just explicitly specify the equality operator. Any `extra_specs' keys that don't have an operator would just be ignored, giving the administrator maximum flexibility in specifying capabilities.
--
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale
Ph: 303/443-3786
-----Original Message-----
From: Joseph Suh [mailto:jsuh@xxxxxxx]
Sent: Tuesday, July 17, 2012 7:38 AM
To: Jiang, Yunhong
Cc: Dugger, Donald D; openstack@xxxxxxxxxxxxxxxxxxx
Subject: Re: One question on the compute_filter
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@xxxxxxxxx>
To: jsuh@xxxxxxx
Cc: "Donald D Dugger" <donald.d.dugger@xxxxxxxxx>, openstack@xxxxxxxxxxxxxxxxxxx
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
Follow ups
References