GloboNetworkAPI icon indicating copy to clipboard operation
GloboNetworkAPI copied to clipboard

Shared IP that is part of a VIP causing problems listing VIP and deleting equipment association

Open marcusgc opened this issue 10 years ago • 1 comments

OBS: Dois equipamentos podem ter o mesmo IP cadastrado. Isso é o esperado para IP<>equipamentos. It is expected an IP to be registered to one or more equipments. The problem occurs when we add this shared IP to a VIP (Virtual Server - LB). When listing this VIP, we get the error "Falha ao acessar a fonte de dados. (Database failure).". As the VIP pool member is related to an IP, the issue is possibly because the NetworkAPI tries to find a unique equipment to this VIP but it gets more than one. If the IP is registered to more than one equipment, the VIP has to show them all.

Another problem: I tryed to delete the association of one of the servers but it does not let me do that. When I tryed to do that, it gave the me error:

"Não foi possível excluir o ip de id 42002 pois ele está sendo usado em uma requisição VIP."

I am not trying to delete the IP itself. It should still be registered in the DB for the other equipment and this error should not happen.

marcusgc avatar Sep 01 '14 18:09 marcusgc

[DEBUG] 27/Jul/2015:19:53:24 +0000 - U:USER, P:/ip/37751/equipamento/246/, T:RCDBEIVXRRWSXWPU5WAULA, MSG:INICIO da requisição DELETE. Data: []. [WARNING] 27/Jul/2015:19:53:24 +0000 - U:USER, P:/ip/37751/equipamento/246/, T:RCDBEIVXRRWSXWPU5WAULA, MSG:Added=True [DEBUG] 27/Jul/2015:19:53:24 +0000 - U:USER, P:/ip/37751/equipamento/246/, T:RCDBEIVXRRWSXWPU5WAULA, MSG:Requisição concluída com falha. Conteúdo: [0385Não foi possível desassociar o ip 10.10.32.3 do equipamento RIOLB144 pois o ip está sendo utilizado nos server pools (id:identifier) 1805: BD_ORACLEPARCEIROS2_1522.]. [DEBUG] 27/Jul/2015:19:53:24 +0000 - U:USER, P:/ip/37751/equipamento/246/, T:RCDBEIVXRRWSXWPU5WAULA, MSG:FIM da requisição.

Select * from ips_dos_equipamentos where id_ip = 37751 id_ips_dos_equipamentos, id_ip, id_equip '135708', '37751', '202' '43656', '37751', '246'

select * from equipamentos where id_equip in (202,246) id_equip, id_tipo_equipamento, id_modelo, nome '202', '2', '1', 'SERVER1' '246', '2', '1', 'SERVER2'

select * from server_pool_member where ips_id_ip IN (select id_ip from ips where id_ip IN (select id_ip from ips_dos_equipamentos where id_equip IN (select id_equip from equipamentos where nome ='SERVER1' or nome='SERVER2' ) ) ) id_server_pool_member, id_server_pool, identifier, ipsv6_id_ipv6, ips_id_ip, priority, weight, limit, port, healthcheck_id_healthcheck, status, last_status_update '2416', '1805', '10.10.32.32', NULL, '37751', '3', '1', '0', '1522', NULL, '0', NULL '24060', '14527', '10.10.32.32', NULL, '113574', '3', '1', '0', '1522', NULL, '7', '2015-07-27 19:37:24'

marcusgc avatar Jul 27 '15 23:07 marcusgc