Hello, I did some more testing (on Icehouse and Juno) and the only way I was able to test my filter (or weigher) was by editing an existing filter (capacity_filter.py) and putting the content of my filter into it. I had to keep the class name (CapacityFilter) otherwise I had an error because the class CapacityFilter was not found (even if the CapacityFilter wasn't used in cinder.cfg).
So it looks like it only loads its default filters and somehow wants its default filters classes if the file.py is present (removing capacity_filter.py was not a problem). Anyone ever managed to use custom Cinder filters ? And yes, everything is working as intended with Nova filters/weighers. Thanks and regards, Thomas > Le 25 août 2015 à 14:59, Shinobu <[email protected]> a écrit : > > Sorry, my reply was to intended to different question. > Please ignore me -; > > Shinobu > > On Tue, Aug 25, 2015 at 9:42 PM, Thomas Zilio <[email protected] > <mailto:[email protected]>> wrote: > Hello Erlon, > > Yes, my class inherits from filters.BaseHostFilter. > That's what I though for 'scheduler_available_filters' , is this option > required for newer release ? > This option is mentioned here : > http://docs.openstack.org/developer/cinder/devref/filter_scheduler.html > <http://docs.openstack.org/developer/cinder/devref/filter_scheduler.html> > > The test filter is: >> from cinder.openstack.common..scheduler import filters >> from cinder.openstack.common import log as logging >> >> LOG = logging.getLogger(__name__) >> >> class CustomFilter(filters.BaseHostFilter): >> def host_passes(self, host_state, filter_properties): >> LOG.warn("Attributes of host_state: " + str(dir(host_state))) >> >> if host_state.host == "host1.xxx.xxx": >> LOG.warn("Don't want you: " + host_state.host) >> return False >> return True > > > I'll look into host_manager.py but I'm not sure what more it can give me. > > Thanks, > Thomas > > >> Le 25 août 2015 à 14:16, Erlon Cruz <[email protected] >> <mailto:[email protected]>> a écrit : >> >> Hi Thomas, >> >> Is you class inheriting from 'filters.BaseHostFilter'? Also, there's no such >> option 'scheduler_available_filters' in openstack/icehouse. >> A good way to have an insight of your problem is to put logs into >> 'cinder/scheduler/host_manager.py -> _choose_host_filters'. >> >> Erlon >> >> On Tue, Aug 25, 2015 at 9:02 AM, Shinobu <[email protected] >> <mailto:[email protected]>> wrote: >> Yes, it's possible using inspectors. >> >> Shinobu >> >> On Tue, Aug 25, 2015 at 8:32 PM, Thomas Zilio <[email protected] >> <mailto:[email protected]>> wrote: >> Hello, >> >> I'm trying to test some custom cinder filters and weighers but I can't >> manage to make it work. >> I did the same for Nova and everything is working but the Cinder scheduler >> can't seem to find my custom classes. >> >> My tests are made on a Icehouse installation. >> >> The error message appearing in the log is the following one: >> > SchedulerHostFilterNotFound: Scheduler Host Filter CustomFilter could not >> > be found. >> >> The filter file is in the directory : >> /usr/lib/python2.6/site-packages/cinder/scheduler/filters >> And I added these lines to the cinder.conf file (not sure if the first one >> is required). >> > scheduler_available_filters=custom_filter.CustomFilter >> > scheduler_default_filters=AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,CustomFilter >> >> My filter file name is custom_filter.py and the class is CustomFilter. >> >> I don't think it's related to what my filter does since it's not even found >> by the scheduler. >> I'm encountering the same issues with the weighers (and everything is >> working just fine on the Nova scheduler side). >> >> If anyone has any idea how I could make this work I would be really grateful >> ! >> >> Thanks and regards, >> Thomas >> _______________________________________________ >> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack> >> Post to : [email protected] >> <mailto:[email protected]> >> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack> >> >> >> >> -- >> Email: >> [email protected] <mailto:[email protected]> >> [email protected] <mailto:[email protected]> >> >> Life w/ Linux <http://i-shinobu.hatenablog.com/> >> >> _______________________________________________ >> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack> >> Post to : [email protected] >> <mailto:[email protected]> >> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack> >> >> > > > _______________________________________________ > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack> > Post to : [email protected] > <mailto:[email protected]> > Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack> > > > > > -- > Email: > [email protected] <mailto:[email protected]> > [email protected] <mailto:[email protected]> > > Life w/ Linux <http://i-shinobu.hatenablog.com/>
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : [email protected] Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
