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