Description of problem: Filter returns empty list if the plugin filter method is failing Version-Release number of selected component (if applicable): How reproducible: always Steps to Reproduce: 1. Create a plugin with filter function def filterFunction(hosts, vm, args): '''This is a simple filter that returns all given host ID''' fail(yourself) pass 2. call filter with the name of the plugin Actual results: empty list Expected results: exception Additional info:
this should be also true for scoreFunction and balanceFunction
Verified on is25
After discussion with Doron and Martin revealed that, if filter is corrupted or missing external scheduler must return all hosts and vm must run.
Checked on is26, Can't run vm, when corrupted filter function is added to ovirt-sheduler-proxy engine.log: Cant find VDS to run the VM 687e60b6-5632-4c97-80c1-23a63f61c550 on, so this VM will not be run ovirt-sheduler-proxy.log Fri, 06 Dec 2013 08:46:21 DEBUG [process:MainProcess, thread:Thread-6] [Request:1dcc4f1e-5e42-11e3-a884-001a4a1697fa][Method:PythonMethodRunner] - running ['python', '-c', "import max_vm_filter; max_vm_filter.max_vms().do_filter(['1ab5d0d9-5f2d-4994-8f6e-773870b1d1a0'], '687e60b6-5632-4c97-80c1-23a63f61c550', {})"] in /usr/share/ovirt-scheduler-proxy/plugins Fri, 06 Dec 2013 08:46:21 DEBUG [process:MainProcess, thread:Thread-5] [Request:1dcc4f1e-5e42-11e3-a884-001a4a1697fa][Method:run_filters] - Waiting for filters to finish Fri, 06 Dec 2013 08:46:22 ERROR [process:MainProcess, thread:Thread-6] [Request:1dcc4f1e-5e42-11e3-a884-001a4a1697fa][Method:PythonMethodRunner] - script ['python', '-c', "import max_vm_filter; max_vm_filter.max_vms().do_filter(['1ab5d0d9-5f2d-4994-8f6e-773870b1d1a0'], '687e60b6-5632-4c97-80c1-23a63f61c550', {})"] got error Traceback (most recent call last): File "<string>", line 1, in <module> File "max_vm_filter.py", line 34, in do_filter asd NameError: global name 'asd' is not defined Fri, 06 Dec 2013 08:46:22 DEBUG [process:MainProcess, thread:Thread-5] [Request:1dcc4f1e-5e42-11e3-a884-001a4a1697fa][Method:run_filters] - Aggregating results Fri, 06 Dec 2013 08:46:22 WARNING [process:MainProcess, thread:Thread-5] Error in ['python', '-c', "import max_vm_filter; max_vm_filter.max_vms().do_filter(['1ab5d0d9-5f2d-4994-8f6e-773870b1d1a0'], '687e60b6-5632-4c97-80c1-23a63f61c550', {})"] (errno: 1, errors: Traceback (most recent call last): File "<string>", line 1, in <module> File "max_vm_filter.py", line 34, in do_filter asd NameError: global name 'asd' is not defined ) Fri, 06 Dec 2013 08:46:22 INFO [process:MainProcess, thread:Thread-5] [Request:1dcc4f1e-5e42-11e3-a884-001a4a1697fa][Method:run_filters] - returning: [] So if filter failed, ovirt-sheduler-proxy return empty list
isn't this now a dup of bug 1002443?
*** Bug 1002443 has been marked as a duplicate of this bug. ***
moving to 3.3.2 since 3.3.1 was built and moved to QE. bug was fixed a while ago, please make sure to clone to z-stream if it needs to make the build.
Verified on ovirt-engine-3.4.0-0.7.beta2.el6.noarch If filter failed and no other filters scheduler return the full vdsm list.
Closing as part of 3.4.0