first make arpnip behave like other jobs towards pseudo devices

This commit is contained in:
Oliver Gorwits
2019-08-25 18:18:02 +01:00
parent adf80a1671
commit d2661bff61
3 changed files with 8 additions and 2 deletions

View File

@@ -16,6 +16,9 @@ register_worker({ phase => 'check' }, sub {
return Status->error("arpnip skipped: $device not yet discovered") return Status->error("arpnip skipped: $device not yet discovered")
unless $device->in_storage; unless $device->in_storage;
return Status->info("macsuck skipped: $device is pseudo-device")
if $device->is_pseudo;
return Status->info("arpnip skipped: $device has no layer 3 capability") return Status->info("arpnip skipped: $device has no layer 3 capability")
unless $device->has_layer(3); unless $device->has_layer(3);

View File

@@ -11,8 +11,9 @@ register_worker({ phase => 'main' }, sub {
my ($job, $workerconf) = @_; my ($job, $workerconf) = @_;
my %queued = map {$_ => 1} jq_queued('arpnip'); my %queued = map {$_ => 1} jq_queued('arpnip');
my @devices = schema('netdisco')->resultset('Device') my @devices = schema('netdisco')->resultset('Device')->search({
->has_layer('3')->get_column('ip')->all; -or => [ 'vendor' => undef, 'vendor' => { '!=' => 'netdisco' }],
})->has_layer('3')->get_column('ip')->all;
my @filtered_devices = grep {!exists $queued{$_}} @devices; my @filtered_devices = grep {!exists $queued{$_}} @devices;
jq_insert([ jq_insert([

View File

@@ -2,4 +2,6 @@ BEGIN;
ALTER TABLE users ADD COLUMN "radius" boolean DEFAULT false; ALTER TABLE users ADD COLUMN "radius" boolean DEFAULT false;
UPDATE device SET layers = NULL WHERE vendor = 'netdisco';
COMMIT; COMMIT;