Merge "Remove capabilities.enabled from test_host_filters"
This commit is contained in:
		@@ -443,11 +443,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self._stub_service_is_up(True)
 | 
			
		||||
        filt_cls = self.class_map['ComputeFilter']()
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024, 'capabilities': capabilities,
 | 
			
		||||
                 'service': service})
 | 
			
		||||
                {'free_ram_mb': 1024, 'service': service})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_type_filter(self):
 | 
			
		||||
@@ -459,11 +457,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        filter2_properties = {'context': self.context,
 | 
			
		||||
                             'instance_type': {'id': 2}}
 | 
			
		||||
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('fake_host', 'fake_node',
 | 
			
		||||
                {'capabilities': capabilities,
 | 
			
		||||
                 'service': service})
 | 
			
		||||
                {'service': service})
 | 
			
		||||
        #True since empty
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
        fakes.FakeInstance(context=self.context,
 | 
			
		||||
@@ -485,11 +481,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                             'instance_type': {'name': 'fake1'}}
 | 
			
		||||
        filter2_properties = {'context': self.context,
 | 
			
		||||
                             'instance_type': {'name': 'fake2'}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('fake_host', 'fake_node',
 | 
			
		||||
                {'capabilities': capabilities,
 | 
			
		||||
                 'service': service})
 | 
			
		||||
                {'service': service})
 | 
			
		||||
        #True since no aggregates
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
        #True since type matches aggregate, metadata
 | 
			
		||||
@@ -504,11 +498,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        filt_cls = self.class_map['RamFilter']()
 | 
			
		||||
        self.flags(ram_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1023, 'total_usable_ram_mb': 1024,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_ram_filter_passes(self):
 | 
			
		||||
@@ -516,11 +509,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        filt_cls = self.class_map['RamFilter']()
 | 
			
		||||
        self.flags(ram_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024, 'total_usable_ram_mb': 1024,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_ram_filter_oversubscribe(self):
 | 
			
		||||
@@ -528,11 +520,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        filt_cls = self.class_map['RamFilter']()
 | 
			
		||||
        self.flags(ram_allocation_ratio=2.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': -1024, 'total_usable_ram_mb': 2048,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
        self.assertEqual(2048 * 2.0, host.limits['memory_mb'])
 | 
			
		||||
 | 
			
		||||
@@ -542,11 +533,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(ram_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'context': self.context,
 | 
			
		||||
                             'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024, 'total_usable_ram_mb': 1024,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self._create_aggregate_with_host(name='fake_aggregate',
 | 
			
		||||
                hosts=['host1'],
 | 
			
		||||
                metadata={'ram_allocation_ratio': 'XXX'})
 | 
			
		||||
@@ -559,11 +549,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(ram_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'context': self.context,
 | 
			
		||||
                             'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1023, 'total_usable_ram_mb': 1024,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        # False: fallback to default flag w/o aggregates
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
        self._create_aggregate_with_host(name='fake_aggregate',
 | 
			
		||||
@@ -579,11 +568,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(ram_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'context': self.context,
 | 
			
		||||
                             'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1023, 'total_usable_ram_mb': 1024,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self._create_aggregate_with_host(name='fake_aggregate1',
 | 
			
		||||
                hosts=['host1'],
 | 
			
		||||
                metadata={'ram_allocation_ratio': '1.5'})
 | 
			
		||||
@@ -600,11 +588,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(disk_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'root_gb': 1,
 | 
			
		||||
                                               'ephemeral_gb': 1}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_disk_mb': 11 * 1024, 'total_usable_disk_gb': 13,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_disk_filter_fails(self):
 | 
			
		||||
@@ -613,11 +600,10 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(disk_allocation_ratio=1.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'root_gb': 11,
 | 
			
		||||
                                               'ephemeral_gb': 1}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_disk_mb': 11 * 1024, 'total_usable_disk_gb': 13,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_disk_filter_oversubscribe(self):
 | 
			
		||||
@@ -626,12 +612,11 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(disk_allocation_ratio=10.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'root_gb': 100,
 | 
			
		||||
                                               'ephemeral_gb': 19}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        # 1GB used... so 119GB allowed...
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_disk_mb': 11 * 1024, 'total_usable_disk_gb': 12,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
        self.assertEqual(12 * 10.0, host.limits['disk_gb'])
 | 
			
		||||
 | 
			
		||||
@@ -641,34 +626,29 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.flags(disk_allocation_ratio=10.0)
 | 
			
		||||
        filter_properties = {'instance_type': {'root_gb': 100,
 | 
			
		||||
                                               'ephemeral_gb': 20}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        # 1GB used... so 119GB allowed...
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_disk_mb': 11 * 1024, 'total_usable_disk_gb': 12,
 | 
			
		||||
                 'capabilities': capabilities, 'service': service})
 | 
			
		||||
                 'service': service})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_compute_filter_fails_on_service_disabled(self):
 | 
			
		||||
        self._stub_service_is_up(True)
 | 
			
		||||
        filt_cls = self.class_map['ComputeFilter']()
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024, 'capabilities': capabilities,
 | 
			
		||||
                 'service': service})
 | 
			
		||||
                {'free_ram_mb': 1024, 'service': service})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_compute_filter_fails_on_service_down(self):
 | 
			
		||||
        self._stub_service_is_up(False)
 | 
			
		||||
        filt_cls = self.class_map['ComputeFilter']()
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024, 'capabilities': capabilities,
 | 
			
		||||
                 'service': service})
 | 
			
		||||
                {'free_ram_mb': 1024, 'service': service})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_image_properties_filter_passes_same_inst_props(self):
 | 
			
		||||
@@ -678,8 +658,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                                    'hypervisor_type': 'kvm',
 | 
			
		||||
                                    'vm_mode': 'hvm'}}
 | 
			
		||||
        filter_properties = {'request_spec': {'image': img_props}}
 | 
			
		||||
        capabilities = {'enabled': True,
 | 
			
		||||
                            'supported_instances': [
 | 
			
		||||
        capabilities = {'supported_instances': [
 | 
			
		||||
                                ('x86_64', 'kvm', 'hvm')]}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': capabilities})
 | 
			
		||||
@@ -692,8 +671,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                                    'hypervisor_type': 'qemu',
 | 
			
		||||
                                    'vm_mode': 'hvm'}}
 | 
			
		||||
        filter_properties = {'request_spec': {'image': img_props}}
 | 
			
		||||
        capabilities = {'enabled': True,
 | 
			
		||||
                            'supported_instances': [
 | 
			
		||||
        capabilities = {'supported_instances': [
 | 
			
		||||
                                ('x86_64', 'kvm', 'hvm')]}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': capabilities})
 | 
			
		||||
@@ -705,8 +683,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        img_props = {'properties': {'architecture': 'x86_64',
 | 
			
		||||
                                    'vm_mode': 'hvm'}}
 | 
			
		||||
        filter_properties = {'request_spec': {'image': img_props}}
 | 
			
		||||
        capabilities = {'enabled': True,
 | 
			
		||||
                            'supported_instances': [
 | 
			
		||||
        capabilities = {'supported_instances': [
 | 
			
		||||
                                ('x86_64', 'kvm', 'hvm')]}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': capabilities})
 | 
			
		||||
@@ -718,8 +695,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        img_props = {'properties': {'architecture': 'x86_64',
 | 
			
		||||
                                    'vm_mode': 'hvm'}}
 | 
			
		||||
        filter_properties = {'request_spec': {'image': img_props}}
 | 
			
		||||
        capabilities = {'enabled': True,
 | 
			
		||||
                            'supported_instances': [
 | 
			
		||||
        capabilities = {'supported_instances': [
 | 
			
		||||
                                ('x86_64', 'xen', 'xen')]}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': capabilities})
 | 
			
		||||
@@ -729,8 +705,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self._stub_service_is_up(True)
 | 
			
		||||
        filt_cls = self.class_map['ImagePropertiesFilter']()
 | 
			
		||||
        filter_properties = {'request_spec': {}}
 | 
			
		||||
        capabilities = {'enabled': True,
 | 
			
		||||
                            'supported_instances': [
 | 
			
		||||
        capabilities = {'supported_instances': [
 | 
			
		||||
                                ('x86_64', 'kvm', 'hvm')]}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': capabilities})
 | 
			
		||||
@@ -743,9 +718,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                                    'hypervisor_type': 'kvm',
 | 
			
		||||
                                    'vm_mode': 'hvm'}}
 | 
			
		||||
        filter_properties = {'request_spec': {'image': img_props}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': capabilities})
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1', {})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def _do_test_compute_filter_extra_specs(self, ecaps, especs, passes):
 | 
			
		||||
@@ -754,7 +727,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        """
 | 
			
		||||
        self._stub_service_is_up(True)
 | 
			
		||||
        filt_cls = self.class_map['ComputeCapabilitiesFilter']()
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        capabilities = {}
 | 
			
		||||
        capabilities.update(ecaps)
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024,
 | 
			
		||||
@@ -808,7 +781,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
    def test_aggregate_filter_passes_no_extra_specs(self):
 | 
			
		||||
        self._stub_service_is_up(True)
 | 
			
		||||
        filt_cls = self.class_map['AggregateInstanceExtraSpecsFilter']()
 | 
			
		||||
        capabilities = {'enabled': True, 'opt1': 1, 'opt2': 2}
 | 
			
		||||
        capabilities = {'opt1': 1, 'opt2': 2}
 | 
			
		||||
 | 
			
		||||
        filter_properties = {'context': self.context, 'instance_type':
 | 
			
		||||
                {'memory_mb': 1024}}
 | 
			
		||||
@@ -944,11 +917,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                                               'root_gb': 200,
 | 
			
		||||
                                               'ephemeral_gb': 0},
 | 
			
		||||
                           'scheduler_hints': {'query': self.json_query}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024,
 | 
			
		||||
                 'free_disk_mb': 200 * 1024,
 | 
			
		||||
                 'capabilities': capabilities})
 | 
			
		||||
                 'free_disk_mb': 200 * 1024})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_passes_with_no_query(self):
 | 
			
		||||
@@ -956,11 +927,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024,
 | 
			
		||||
                                               'root_gb': 200,
 | 
			
		||||
                                               'ephemeral_gb': 0}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 0,
 | 
			
		||||
                 'free_disk_mb': 0,
 | 
			
		||||
                 'capabilities': capabilities})
 | 
			
		||||
                 'free_disk_mb': 0})
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_fails_on_memory(self):
 | 
			
		||||
@@ -969,11 +938,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                                               'root_gb': 200,
 | 
			
		||||
                                               'ephemeral_gb': 0},
 | 
			
		||||
                           'scheduler_hints': {'query': self.json_query}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1023,
 | 
			
		||||
                 'free_disk_mb': 200 * 1024,
 | 
			
		||||
                 'capabilities': capabilities})
 | 
			
		||||
                 'free_disk_mb': 200 * 1024})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_fails_on_disk(self):
 | 
			
		||||
@@ -982,28 +949,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
                                               'root_gb': 200,
 | 
			
		||||
                                               'ephemeral_gb': 0},
 | 
			
		||||
                           'scheduler_hints': {'query': self.json_query}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024,
 | 
			
		||||
                 'free_disk_mb': (200 * 1024) - 1,
 | 
			
		||||
                 'capabilities': capabilities})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_fails_on_caps_disabled(self):
 | 
			
		||||
        filt_cls = self.class_map['JsonFilter']()
 | 
			
		||||
        json_query = jsonutils.dumps(
 | 
			
		||||
                ['and', ['>=', '$free_ram_mb', 1024],
 | 
			
		||||
                        ['>=', '$free_disk_mb', 200 * 1024],
 | 
			
		||||
                        '$capabilities.enabled'])
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024,
 | 
			
		||||
                                               'root_gb': 200,
 | 
			
		||||
                                               'ephemeral_gb': 0},
 | 
			
		||||
                           'scheduler_hints': {'query': json_query}}
 | 
			
		||||
        capabilities = {'enabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024,
 | 
			
		||||
                 'free_disk_mb': 200 * 1024,
 | 
			
		||||
                 'capabilities': capabilities})
 | 
			
		||||
                 'free_disk_mb': (200 * 1024) - 1})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_fails_on_service_disabled(self):
 | 
			
		||||
@@ -1015,11 +963,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        filter_properties = {'instance_type': {'memory_mb': 1024,
 | 
			
		||||
                                               'local_gb': 200},
 | 
			
		||||
                           'scheduler_hints': {'query': json_query}}
 | 
			
		||||
        capabilities = {'enabled': True}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 1024,
 | 
			
		||||
                 'free_disk_mb': 200 * 1024,
 | 
			
		||||
                 'capabilities': capabilities})
 | 
			
		||||
                 'free_disk_mb': 200 * 1024})
 | 
			
		||||
        self.assertFalse(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_happy_day(self):
 | 
			
		||||
@@ -1042,7 +988,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        # Passes
 | 
			
		||||
        capabilities = {'enabled': True, 'opt1': 'match'}
 | 
			
		||||
        capabilities = {'opt1': 'match'}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 10,
 | 
			
		||||
@@ -1052,7 +998,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
        self.assertTrue(filt_cls.host_passes(host, filter_properties))
 | 
			
		||||
 | 
			
		||||
        # Passes
 | 
			
		||||
        capabilities = {'enabled': True, 'opt1': 'match'}
 | 
			
		||||
        capabilities = {'opt1': 'match'}
 | 
			
		||||
        service = {'disabled': False}
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'free_ram_mb': 40,
 | 
			
		||||
@@ -1104,7 +1050,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
    def test_json_filter_basic_operators(self):
 | 
			
		||||
        filt_cls = self.class_map['JsonFilter']()
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': {'enabled': True}})
 | 
			
		||||
                {})
 | 
			
		||||
        # (operator, arguments, expected_result)
 | 
			
		||||
        ops_to_test = [
 | 
			
		||||
                    ['=', [1, 1], True],
 | 
			
		||||
@@ -1173,14 +1119,14 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
            },
 | 
			
		||||
        }
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': {'enabled': True}})
 | 
			
		||||
                {})
 | 
			
		||||
        self.assertRaises(KeyError,
 | 
			
		||||
                filt_cls.host_passes, host, filter_properties)
 | 
			
		||||
 | 
			
		||||
    def test_json_filter_empty_filters_pass(self):
 | 
			
		||||
        filt_cls = self.class_map['JsonFilter']()
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': {'enabled': True}})
 | 
			
		||||
                {})
 | 
			
		||||
 | 
			
		||||
        raw = []
 | 
			
		||||
        filter_properties = {
 | 
			
		||||
@@ -1200,7 +1146,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
    def test_json_filter_invalid_num_arguments_fails(self):
 | 
			
		||||
        filt_cls = self.class_map['JsonFilter']()
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': {'enabled': True}})
 | 
			
		||||
                {})
 | 
			
		||||
 | 
			
		||||
        raw = ['>', ['and', ['or', ['not', ['<', ['>=', ['<=', ['in', ]]]]]]]]
 | 
			
		||||
        filter_properties = {
 | 
			
		||||
@@ -1221,7 +1167,7 @@ class HostFiltersTestCase(test.NoDBTestCase):
 | 
			
		||||
    def test_json_filter_unknown_variable_ignored(self):
 | 
			
		||||
        filt_cls = self.class_map['JsonFilter']()
 | 
			
		||||
        host = fakes.FakeHostState('host1', 'node1',
 | 
			
		||||
                {'capabilities': {'enabled': True}})
 | 
			
		||||
                {})
 | 
			
		||||
 | 
			
		||||
        raw = ['=', '$........', 1, 1]
 | 
			
		||||
        filter_properties = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user