@@ -828,23 +828,36 @@ def _process_manager_constructor_call(self, ns=FAKE_NETWORK_DHCP_NS):
828
828
def _enable_dhcp_helper (self , network , enable_isolated_metadata = False ,
829
829
is_isolated_network = False , is_ovn_network = False ):
830
830
self .dhcp ._process_monitor = mock .Mock ()
831
+ # The disable() call
832
+ gmppm_expected_calls = [mock .call (FAKE_NETWORK_UUID , cfg .CONF ,
833
+ ns_name = FAKE_NETWORK_DHCP_NS )]
831
834
if enable_isolated_metadata :
832
835
cfg .CONF .set_override ('enable_isolated_metadata' , True )
836
+ if is_isolated_network :
837
+ # The enable() call
838
+ gmppm_expected_calls .append (
839
+ mock .call (FAKE_NETWORK_UUID , cfg .CONF ,
840
+ ns_name = FAKE_NETWORK_DHCP_NS ,
841
+ callback = mock .ANY ))
833
842
self .plugin .get_network_info .return_value = network
834
- self .dhcp .enable_dhcp_helper (network .id )
843
+ process_instance = mock .Mock (active = False )
844
+ with mock .patch .object (metadata_driver .MetadataDriver ,
845
+ '_get_metadata_proxy_process_manager' ,
846
+ return_value = process_instance ) as gmppm :
847
+ self .dhcp .enable_dhcp_helper (network .id )
848
+ gmppm .assert_has_calls (gmppm_expected_calls )
835
849
self .plugin .assert_has_calls ([
836
850
mock .call .get_network_info (network .id )])
837
851
self .call_driver .assert_called_once_with ('enable' , network )
838
852
self .cache .assert_has_calls ([mock .call .put (network )])
839
853
if (is_isolated_network and enable_isolated_metadata and not
840
854
is_ovn_network ):
841
- self . external_process .assert_has_calls ([
842
- self . _process_manager_constructor_call ( ),
843
- mock .call () .enable ()], any_order = True )
855
+ process_instance .assert_has_calls ([
856
+ mock . call . disable ( sig = str ( int ( signal . SIGTERM )) ),
857
+ mock .call .enable ()])
844
858
else :
845
- self .external_process .assert_has_calls ([
846
- self ._process_manager_constructor_call (),
847
- mock .call ().disable (sig = str (int (signal .SIGTERM )))])
859
+ process_instance .assert_has_calls ([
860
+ mock .call .disable (sig = str (int (signal .SIGTERM )))])
848
861
849
862
def test_enable_dhcp_helper_enable_metadata_isolated_network (self ):
850
863
self ._enable_dhcp_helper (isolated_network ,
@@ -1018,11 +1031,16 @@ def test_disable_dhcp_helper_driver_failure(self):
1018
1031
1019
1032
def test_enable_isolated_metadata_proxy (self ):
1020
1033
self .dhcp ._process_monitor = mock .Mock ()
1021
- self .dhcp .enable_isolated_metadata_proxy (fake_network )
1022
- self .external_process .assert_has_calls ([
1023
- self ._process_manager_constructor_call (),
1024
- mock .call ().enable ()
1025
- ], any_order = True )
1034
+ process_instance = mock .Mock (active = False )
1035
+ with mock .patch .object (metadata_driver .MetadataDriver ,
1036
+ '_get_metadata_proxy_process_manager' ,
1037
+ return_value = process_instance ) as gmppm :
1038
+ self .dhcp .enable_isolated_metadata_proxy (fake_network )
1039
+ gmppm .assert_called_with (FAKE_NETWORK_UUID ,
1040
+ cfg .CONF ,
1041
+ ns_name = FAKE_NETWORK_DHCP_NS ,
1042
+ callback = mock .ANY )
1043
+ process_instance .enable .assert_called_once ()
1026
1044
1027
1045
def test_disable_isolated_metadata_proxy (self ):
1028
1046
method_path = ('neutron.agent.metadata.driver.MetadataDriver'
0 commit comments