From b1024507e92c496492c5011415ecbdffc32d03f6 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Tue, 21 Nov 2023 15:56:10 +0000 Subject: [PATCH] #1126 acl skip_modules for problematic Entity MIB per device ACL --- lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm | 3 ++- share/config.yml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm b/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm index 85e9f3d6..edacd6f9 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm @@ -5,6 +5,7 @@ use App::Netdisco::Worker::Plugin; use aliased 'App::Netdisco::Worker::Status'; use App::Netdisco::Transport::SNMP (); +use App::Netdisco::Util::Permission 'acl_matches'; use Dancer::Plugin::DBIC 'schema'; use Encode; @@ -38,7 +39,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { my $device = $job->device; return unless $device->in_storage; - if (not setting('store_modules')) { + if (acl_matches($device, 'skip_modules') or not setting('store_modules')) { schema('netdisco')->txn_do($clean, $device); return Status->info( sprintf ' [%s] modules - store_modules is disabled (added one pseudo for chassis)', diff --git a/share/config.yml b/share/config.yml index f81406e5..41673222 100644 --- a/share/config.yml +++ b/share/config.yml @@ -423,6 +423,7 @@ expire_jobs: 14 expire_userlog: 365 expire_nodeip_freshness: null store_wireless_clients: true +skip_modules: [] store_modules: true ignore_deviceports: 'group:__ANY__':