allow pseudo devices to arpnip

This commit is contained in:
Oliver Gorwits
2019-03-19 13:05:47 +00:00
parent dafed30742
commit 4ef5691bb5
5 changed files with 9 additions and 7 deletions

View File

@@ -11,7 +11,7 @@ __PACKAGE__->load_namespaces(
); );
our # try to hide from kwalitee our # try to hide from kwalitee
$VERSION = 55; # schema version used for upgrades, keep as integer $VERSION = 56; # schema version used for upgrades, keep as integer
use Path::Class; use Path::Class;
use File::ShareDir 'dist_dir'; use File::ShareDir 'dist_dir';

View File

@@ -36,6 +36,7 @@ ajax '/ajax/control/admin/pseudodevice/add' => require_role admin => sub {
ip => param('ip'), ip => param('ip'),
dns => param('dns'), dns => param('dns'),
vendor => 'netdisco', vendor => 'netdisco',
layers => '00000100',
last_discover => \'now()', last_discover => \'now()',
}); });
return unless $device; return unless $device;

View File

@@ -16,9 +16,6 @@ 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->defer("arpnip skipped: $device is pseudo-device")
if $device->is_pseudo;
return Status->defer("arpnip skipped: $device has no layer 3 capability") return Status->defer("arpnip skipped: $device has no layer 3 capability")
unless $device->has_layer(3); unless $device->has_layer(3);

View File

@@ -11,9 +11,8 @@ 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')->search({ my @devices = schema('netdisco')->resultset('Device')
-or => [ 'vendor' => undef, 'vendor' => { '!=' => 'netdisco' }], ->has_layer('3')->get_column('ip')->all;
})->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

@@ -0,0 +1,5 @@
BEGIN;
UPDATE device SET layers = '00000100' WHERE vendor = 'netdisco';
COMMIT;