From 1a6567c648fe1879f6b085a9f13ac5ac029acab9 Mon Sep 17 00:00:00 2001 From: Marco Capetta Date: Wed, 17 May 2023 16:55:15 +0200 Subject: [PATCH] MT#57469 Fix kamailio lcr reload on PATCH/PUT APIs When calling a PATCH or PUT API on a peering group or outbound rule the reload of the kamailio lcr module was triggered before the update of the database, thus the kamailio status was not updated. Change-Id: I59ed863c85219e62d6f5b5a2af80db8ef952844c (cherry picked from commit be7193e75b2ff06c58303ba6fa15f32ed3650120) --- lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm | 4 ++++ lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm | 5 +++++ lib/NGCP/Panel/Role/API/PeeringGroups.pm | 1 - lib/NGCP/Panel/Role/API/PeeringRules.pm | 1 - 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm b/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm index f6e0de5f72..c9aecad3ec 100644 --- a/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm +++ b/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm @@ -69,6 +69,8 @@ sub PATCH :Allow { $guard->commit; + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; @@ -97,6 +99,8 @@ sub PUT :Allow { $guard->commit; + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; diff --git a/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm b/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm index c8671fb157..38d9a9dfa1 100644 --- a/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm +++ b/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm @@ -81,6 +81,8 @@ sub PATCH :Allow { $guard->commit; + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; @@ -108,6 +110,9 @@ sub PUT :Allow { last unless $item; $guard->commit; + + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; diff --git a/lib/NGCP/Panel/Role/API/PeeringGroups.pm b/lib/NGCP/Panel/Role/API/PeeringGroups.pm index 683d2ead14..30bab89cff 100644 --- a/lib/NGCP/Panel/Role/API/PeeringGroups.pm +++ b/lib/NGCP/Panel/Role/API/PeeringGroups.pm @@ -93,7 +93,6 @@ sub update_item { } $item->update($resource); - NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); return $item; } diff --git a/lib/NGCP/Panel/Role/API/PeeringRules.pm b/lib/NGCP/Panel/Role/API/PeeringRules.pm index b2a752dd7d..fbd0490aa8 100644 --- a/lib/NGCP/Panel/Role/API/PeeringRules.pm +++ b/lib/NGCP/Panel/Role/API/PeeringRules.pm @@ -87,7 +87,6 @@ sub update_item { } $item->update($resource); - NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); return $item; }