def get_new_LB_networking_subflow(self): """Create a sub-flow to setup networking. :returns: The flow to setup networking for a new amphora """ new_LB_net_subflow = linear_flow.Flow(constants. LOADBALANCER_NETWORKING_SUBFLOW) new_LB_net_subflow.add(network_tasks.AllocateVIP( requires=constants.LOADBALANCER, provides=constants.VIP)) new_LB_net_subflow.add(database_tasks.UpdateVIPAfterAllocation( requires=(constants.LOADBALANCER_ID, constants.VIP), provides=constants.LOADBALANCER)) new_LB_net_subflow.add(network_tasks.PlugVIP( requires=constants.LOADBALANCER, provides=constants.AMPS_DATA)) new_LB_net_subflow.add(database_tasks.UpdateAmphoraVIPData( requires=constants.AMPS_DATA)) new_LB_net_subflow.add(database_tasks.ReloadLoadBalancer( name=constants.RELOAD_LB_AFTER_PLUG_VIP, requires=constants.LOADBALANCER_ID, provides=constants.LOADBALANCER)) new_LB_net_subflow.add(network_tasks.GetAmphoraeNetworkConfigs( requires=constants.LOADBALANCER, provides=constants.AMPHORAE_NETWORK_CONFIG)) new_LB_net_subflow.add(amphora_driver_tasks.AmphoraPostVIPPlug( requires=(constants.LOADBALANCER, constants.AMPHORAE_NETWORK_CONFIG))) return new_LB_net_subflow
def test_plug_vip(self, mock_driver): net = network_tasks.PlugVIP() mock_driver.plug_vip.return_value = ["vip"] data = net.execute(LB) mock_driver.plug_vip.assert_called_once_with(LB, LB.vip) self.assertEqual(["vip"], data) # revert net.revert(["vip"], LB) mock_driver.unplug_vip.assert_called_once_with(LB, LB.vip)
def test_plug_vip(self, mock_get_net_driver): mock_driver = mock.MagicMock() mock_get_net_driver.return_value = mock_driver net = network_tasks.PlugVIP() mock_driver.plug_vip.return_value = ["vip"] data = net.execute(LB) mock_driver.plug_vip.assert_called_once_with(LB, LB.vip) self.assertEqual(["vip"], data) # revert net.revert(["vip"], LB) mock_driver.unplug_vip.assert_called_once_with(LB, LB.vip) # revert with exception mock_driver.reset_mock() mock_driver.unplug_vip.side_effect = Exception('UnplugVipException') net.revert(["vip"], LB) mock_driver.unplug_vip.assert_called_once_with(LB, LB.vip)