From 6263f167e2c4ab2897af888c20e963db48a2427a Mon Sep 17 00:00:00 2001 From: Alexander Lutay Date: Mon, 19 Jul 2021 09:45:38 +0200 Subject: [PATCH] TT#130659 Stop calling systemd openvpn status twice on every HTTP request The ngcp-panel<=>openvpn functionality has never been finished but on every HTTP requset ngcp-panel was asking systemd about openvpn status. Twice! From /var/log/ngcp/panel-debug.log : > Jul 19 09:36:32 sp1 ngcp-panel: DEBUG: Path: dashboard > Jul 19 09:36:32 sp1 ngcp-panel: DEBUG: systemctl list-unit-files openvpn.service > Jul 19 09:36:32 sp1 ngcp-panel: DEBUG: systemctl is-enabled openvpn@ovpn > ... > Jul 19 09:36:33 sp1 ngcp-panel: DEBUG: Path: dashboard/ajax/peering_sum > Jul 19 09:36:33 sp1 ngcp-panel: DEBUG: systemctl list-unit-files openvpn.service > Jul 19 09:36:33 sp1 ngcp-panel: DEBUG: systemctl is-enabled openvpn@ovpn > ... > Jul 19 09:36:33 sp1 ngcp-panel: DEBUG: Path: dashboard/ajax/emergency_mode > Jul 19 09:36:33 sp1 ngcp-panel: DEBUG: systemctl list-unit-files openvpn.service > Jul 19 09:36:33 sp1 ngcp-panel: DEBUG: systemctl is-enabled openvpn@ovpn It is unnecessary load, moreover for not-yet finished feature. Let's move openvpn WIP functionality into 'NGCP Support Status' page and finish it there one day. The goal of this commit is to stop DOS'ing systemd. Change-Id: I6c9ba9e1b218e58b5adffe741f4490b3729d17e7 --- lib/NGCP/Panel/Controller/Root.pm | 6 ------ lib/NGCP/Panel/Controller/Statistics.pm | 6 ++++++ share/layout/body.tt | 11 ----------- share/templates/statistics/supportstatus.tt | 10 ++++++++++ 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/lib/NGCP/Panel/Controller/Root.pm b/lib/NGCP/Panel/Controller/Root.pm index 3842654bf0..de06c2ec5e 100644 --- a/lib/NGCP/Panel/Controller/Root.pm +++ b/lib/NGCP/Panel/Controller/Root.pm @@ -342,12 +342,6 @@ sub auto :Private { # load top menu widgets my $topmenu_templates = []; $topmenu_templates = ['widgets/'.$c->user->roles.'_topmenu_settings.tt']; - if ($c->user->roles eq 'admin') { - if (!$c->stash->{openvpn_info}) { - my $openvpn_info = NGCP::Panel::Utils::Auth::check_openvpn_status($c); - $c->stash(openvpn_info => $openvpn_info); - } - } $c->stash(topmenu => $topmenu_templates); $self->include_framed($c); diff --git a/lib/NGCP/Panel/Controller/Statistics.pm b/lib/NGCP/Panel/Controller/Statistics.pm index e73bb0145a..b4769f8c14 100644 --- a/lib/NGCP/Panel/Controller/Statistics.pm +++ b/lib/NGCP/Panel/Controller/Statistics.pm @@ -49,6 +49,12 @@ sub supportstatus :Chained('/') :PathPart('statistics/supportstatus') :Args() { $c->stash(support_status_code => $support_status_code, #template => 'statistics/supportstatus.tt', ); + + if (!$c->stash->{openvpn_info}) { + my $openvpn_info = NGCP::Panel::Utils::Auth::check_openvpn_status($c); + $c->stash(openvpn_info => $openvpn_info); + } + return; } diff --git a/share/layout/body.tt b/share/layout/body.tt index 1b09e37095..99273c68fb 100644 --- a/share/layout/body.tt +++ b/share/layout/body.tt @@ -62,17 +62,6 @@
  • [% IF c.user && c.session.user_tz_name; '(' _ c.session.user_tz.name _ ' ' _ c.loc('time') _ ')'; END; %]
  • -[%- IF ( c.user && ( c.user.roles == 'admin' || c.user.is_superuser ) ) && openvpn_info.allowed -%] -[%- IF !openvpn_info.active %] -
  • - Openvpn -
  • -[% ELSE -%] -
  • - Openvpn -
  • -[% END -%] -[% END -%]