Merge "add functional repoducer for bug 2065927" into stable/2024.1
This commit is contained in:
commit
d7284411fb
@ -10,15 +10,16 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from unittest import mock
|
||||
|
||||
import fixtures
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from nova import context as nova_context
|
||||
from nova import exception
|
||||
from nova import objects
|
||||
from nova.tests import fixtures as nova_fixtures
|
||||
from nova.tests.fixtures import libvirt as fakelibvirt
|
||||
from nova.tests.functional.api import client
|
||||
from nova.tests.functional.libvirt import base
|
||||
from nova.virt import hardware
|
||||
from nova.virt.libvirt.cpu import api as cpu_api
|
||||
@ -240,7 +241,6 @@ class PowerManagementTests(PowerManagementTestsBase):
|
||||
cpu_cores=5, cpu_threads=2)
|
||||
self.compute1 = self.start_compute(host_info=self.host_info,
|
||||
hostname='compute1')
|
||||
|
||||
# All cores are shutdown at startup, let's check.
|
||||
cpu_dedicated_set = hardware.get_cpu_dedicated_set()
|
||||
self._assert_cpu_set_state(cpu_dedicated_set, expected='offline')
|
||||
@ -266,6 +266,33 @@ class PowerManagementTests(PowerManagementTestsBase):
|
||||
cpu_dedicated_set = hardware.get_cpu_dedicated_set()
|
||||
unused_cpus = cpu_dedicated_set - instance_pcpus
|
||||
self._assert_cpu_set_state(unused_cpus, expected='offline')
|
||||
return server
|
||||
|
||||
def test_delete_server(self):
|
||||
server = self.test_create_server()
|
||||
self._delete_server(server)
|
||||
# Let's verify that the pinned CPUs are now offline
|
||||
cpu_dedicated_set = hardware.get_cpu_dedicated_set()
|
||||
self._assert_cpu_set_state(cpu_dedicated_set, expected='offline')
|
||||
|
||||
def test_delete_server_device_busy(self):
|
||||
server = self.test_create_server()
|
||||
|
||||
inst = objects.Instance.get_by_uuid(self.ctxt, server['id'])
|
||||
instance_pcpus = inst.numa_topology.cpu_pinning
|
||||
self._assert_cpu_set_state(instance_pcpus, expected='online')
|
||||
with mock.patch(
|
||||
'nova.filesystem.write_sys',
|
||||
side_effect=exception.FileNotFound(file_path='fake')):
|
||||
# This is bug 2065927
|
||||
self.assertRaises(
|
||||
client.OpenStackApiException, self._delete_server, server)
|
||||
cpu_dedicated_set = hardware.get_cpu_dedicated_set()
|
||||
# Verify that the unused CPUs are still offline
|
||||
unused_cpus = cpu_dedicated_set - instance_pcpus
|
||||
self._assert_cpu_set_state(unused_cpus, expected='offline')
|
||||
# but the instance cpus are still online
|
||||
self._assert_cpu_set_state(instance_pcpus, expected='online')
|
||||
|
||||
def test_create_server_with_emulator_threads_isolate(self):
|
||||
server = self._create_server(
|
||||
|
Loading…
Reference in New Issue
Block a user