def test_remove_node_from_loadbalancer(self, mock_f1, mock_f2): cmd.remove_node_from_loadbalancer( self.ctx, self.balancer.sf, self.rserver) self.assertTrue(mock_f1.called, "delete_rserver_from_farm not called") self.assertTrue(mock_f2.called, "delete_rserver called") mock_f1.assert_called_once_with(self.ctx, self.balancer.sf, self.rserver) mock_f2.assert_called_once_with(self.ctx, self.rserver)
def lb_delete_node(conf, lb_id, lb_node_id): lb = db_api.loadbalancer_get(conf, lb_id) sf = db_api.serverfarm_get_all_by_lb_id(conf, lb_id)[0] rs = db_api.server_get(conf, lb_node_id) db_api.server_destroy(conf, lb_node_id) device_driver = drivers.get_device_driver(conf, lb['device_id']) with device_driver.request_context() as ctx: commands.remove_node_from_loadbalancer(ctx, sf, rs) return lb_node_id
def lb_delete_node(conf, lb_id, lb_node_id): balancer_instance = vserver.Balancer(conf) #Step 1: Load balancer from DB balancer_instance.loadFromDB(lb_id) #Step 3: Get RS object from DB rs = db_api.server_get(conf, lb_node_id) #Step 4: Delete RS from DB db_api.server_destroy(conf, lb_node_id) #Step 5: Delete real server from device device_driver = drivers.get_device_driver(conf, balancer_instance.lb['device_id']) with device_driver.request_context() as ctx: commands.remove_node_from_loadbalancer(ctx, balancer_instance, rs) return lb_node_id