allow pseudo devices to arpnip
This commit is contained in:
@@ -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';
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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([
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
BEGIN;
|
||||||
|
|
||||||
|
UPDATE device SET layers = '00000100' WHERE vendor = 'netdisco';
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
Reference in New Issue
Block a user