@@ -713,25 +713,33 @@ def test_compute_service_delete_host_mapping_not_found(
713
713
"""Tests that we are still able to successfully delete a nova-compute
714
714
service even if the HostMapping is not found.
715
715
"""
716
+ @mock .patch ('nova.objects.ComputeNodeList.get_all_by_host' ,
717
+ return_value = objects .ComputeNodeList (objects = [
718
+ objects .ComputeNode (host = 'host1' ,
719
+ hypervisor_hostname = 'node1' ),
720
+ objects .ComputeNode (host = 'host1' ,
721
+ hypervisor_hostname = 'node2' )]))
716
722
@mock .patch .object (self .controller .host_api , 'service_get_by_id' ,
717
723
return_value = objects .Service (
718
- host = 'host1' , binary = 'nova-compute' ,
719
- compute_node = objects .ComputeNode ()))
724
+ host = 'host1' , binary = 'nova-compute' ))
720
725
@mock .patch .object (self .controller .aggregate_api ,
721
726
'get_aggregates_by_host' ,
722
727
return_value = objects .AggregateList ())
723
728
@mock .patch .object (self .controller .placementclient ,
724
729
'delete_resource_provider' )
725
730
def _test (delete_resource_provider ,
726
- get_aggregates_by_host , service_get_by_id ):
731
+ get_aggregates_by_host , service_get_by_id ,
732
+ cn_get_all_by_host ):
727
733
self .controller .delete (self .req , 2 )
728
734
ctxt = self .req .environ ['nova.context' ]
729
735
service_get_by_id .assert_called_once_with (ctxt , 2 )
730
736
get_instances .assert_called_once_with (ctxt , 'host1' )
731
737
get_aggregates_by_host .assert_called_once_with (ctxt , 'host1' )
732
- delete_resource_provider .assert_called_once_with (
733
- ctxt , service_get_by_id .return_value .compute_node ,
734
- cascade = True )
738
+ self .assertEqual (2 , delete_resource_provider .call_count )
739
+ nodes = cn_get_all_by_host .return_value
740
+ delete_resource_provider .assert_has_calls ([
741
+ mock .call (ctxt , node , cascade = True ) for node in nodes
742
+ ], any_order = True )
735
743
get_hm .assert_called_once_with (ctxt , 'host1' )
736
744
service_delete .assert_called_once_with ()
737
745
_test ()
0 commit comments