From 5f50dfadf1e376b8a6eec352d4bde8402cc847dc Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sun, 3 Sep 2017 16:51:55 +0100 Subject: [PATCH] new Backend package to load core plugins --- bin/netdisco-backend-fg | 1 + bin/netdisco-do | 1 + lib/App/Netdisco/Backend.pm | 29 +++++++++++++++++++++++++++++ lib/App/Netdisco/Backend/Util.pm | 24 ------------------------ 4 files changed, 31 insertions(+), 24 deletions(-) create mode 100644 lib/App/Netdisco/Backend.pm diff --git a/bin/netdisco-backend-fg b/bin/netdisco-backend-fg index a5657adc..961aeb75 100755 --- a/bin/netdisco-backend-fg +++ b/bin/netdisco-backend-fg @@ -29,6 +29,7 @@ BEGIN { setting('workers')->{'BACKEND'} ||= (hostfqdn || 'fqdn-undefined'); } +use App::Netdisco::Backend; use App::Netdisco::Util::MCE; # set $0 and parse maxworkers use NetAddr::IP::Lite ':lower'; # to quench AF_INET6 symbol errors use Role::Tiny::With; diff --git a/bin/netdisco-do b/bin/netdisco-do index c7682769..34581a6e 100755 --- a/bin/netdisco-do +++ b/bin/netdisco-do @@ -35,6 +35,7 @@ BEGIN { # for netdisco app config use App::Netdisco; +use App::Netdisco::Backend; use App::Netdisco::Backend::Job; use Dancer qw/:moose :script/; diff --git a/lib/App/Netdisco/Backend.pm b/lib/App/Netdisco/Backend.pm new file mode 100644 index 00000000..e2b43059 --- /dev/null +++ b/lib/App/Netdisco/Backend.pm @@ -0,0 +1,29 @@ +package App::Netdisco::Backend; + +use strict; +use warnings; + +use Module::Load (); +use Dancer ':syntax'; + +# load core worker plugins for our workers +# NOTE: this package is loaded for all actions whether backend or netdisco-do + +sub load_core_plugins { + my $plugin_list = shift; + + foreach my $plugin (@$plugin_list) { + $plugin =~ s/^X::/+App::NetdiscoX::Core::Plugin::/; + $plugin = 'App::Netdisco::Core::Plugin::'. $plugin + if $plugin !~ m/^\+/; + $plugin =~ s/^\+//; + + debug "loading Netdisco plugin $plugin"; + eval { Module::Load::load $plugin }; + } +} + +load_core_plugins( setting('extra_core_plugins') || [] ); +load_core_plugins( setting('core_plugins') || [] ); + +true; diff --git a/lib/App/Netdisco/Backend/Util.pm b/lib/App/Netdisco/Backend/Util.pm index 48ceb68c..a957d5e6 100644 --- a/lib/App/Netdisco/Backend/Util.pm +++ b/lib/App/Netdisco/Backend/Util.pm @@ -3,30 +3,6 @@ package App::Netdisco::Backend::Util; use strict; use warnings; -use Dancer ':syntax'; - -# load core worker plugins for our workers -# NOTE: this package is loaded for all actions whether backend or netdisco-do - -use Module::Load (); - -sub load_core_plugins { - my $plugin_list = shift; - - foreach my $plugin (@$plugin_list) { - $plugin =~ s/^X::/+App::NetdiscoX::Core::Plugin::/; - $plugin = 'App::Netdisco::Core::Plugin::'. $plugin - if $plugin !~ m/^\+/; - $plugin =~ s/^\+//; - - debug "loading Netdisco plugin $plugin"; - eval { Module::Load::load $plugin }; - } -} - -load_core_plugins( setting('extra_core_plugins') || [] ); -load_core_plugins( setting('core_plugins') || [] ); - # support utilities for Backend Actions use base 'Exporter';