def test_create_server_with_numa_fails(self, img_mock):

        host_info = NumaHostInfo(cpu_nodes=1, cpu_sockets=1, cpu_cores=2,
                                 kB_mem=15740000)
        fake_connection = fakelibvirt.Connection('qemu:///system',
                                                 version=1002007,
                                                 host_info=host_info)

        # Create a flavor
        extra_spec = {'hw:numa_nodes': '2'}
        flavor_id = self._create_flavor(extra_spec=extra_spec)

        host_pass_mock = self._get_topology_filter_spy()
        with test.nested(
            mock.patch('nova.virt.libvirt.host.Host.get_connection',
                       return_value=fake_connection),
            mock.patch('nova.scheduler.filters'
                       '.numa_topology_filter.NUMATopologyFilter.host_passes',
                       side_effect=host_pass_mock)) as (conn_mock,
                                                       filter_mock):
            self._run_build_test(flavor_id, filter_mock, end_status='ERROR')
Beispiel #2
0
    def test_invalid_libvirt_version(self):
        host_info = NumaHostInfo(cpu_nodes=2, cpu_sockets=1, cpu_cores=2,
                                 cpu_threads=2, kB_mem=15740000)
        fake_connection = fakelibvirt.Connection('qemu:///system',
                                                 version=1002007,
                                                 hv_version=2001000,
                                                 host_info=host_info)
        with mock.patch('nova.virt.libvirt.host.Host.get_connection',
                        return_value=fake_connection):
            self.compute = self.start_service('compute', host='test_compute0')
            fake_network.set_stub_network_methods(self)

            flavor = self._create_flavor(extra_spec={
                'hw:cpu_realtime': 'yes', 'hw:cpu_policy': 'dedicated',
                'hw:cpu_realtime_mask': '^1'})
            server = self._build_server(flavor)
            created = self.api.post_server({'server': server})

            instance = self.api.get_server(created['id'])
            instance = self._wait_for_state_change(instance, 'BUILD')

            # Realtime policy not supported by hypervisor
            self.assertEqual('ERROR', instance['status'])
            self._delete_server(instance['id'])
Beispiel #3
0
 def _get_connection(self, host_info):
     fake_connection = fakelibvirt.Connection('qemu:///system',
                                              version=1002007,
                                              hv_version=2001000,
                                              host_info=host_info)
     return fake_connection
 def __inner():
     if ver is None:
         return fakelibvirt.Connection(uri, False)
     else:
         return fakelibvirt.Connection(uri, False, ver)
Beispiel #5
0
 def _get_connection(self, host_info):
     fake_connection = fakelibvirt.Connection('qemu:///system',
                             version=fakelibvirt.FAKE_LIBVIRT_VERSION,
                             hv_version=fakelibvirt.FAKE_QEMU_VERSION,
                             host_info=host_info)
     return fake_connection