do not run discover parts if properties failed to complete
This commit is contained in:
@@ -13,6 +13,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
@@ -59,7 +60,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
} # ALIAS
|
} # ALIAS
|
||||||
}
|
}
|
||||||
|
|
||||||
return true if $new_ip eq $old_ip;
|
return if $new_ip eq $old_ip;
|
||||||
|
|
||||||
schema('netdisco')->txn_do(sub {
|
schema('netdisco')->txn_do(sub {
|
||||||
# delete target device with the same vendor and serial number
|
# delete target device with the same vendor and serial number
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
@@ -60,8 +61,6 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
subaction => 'with-nodes',
|
subaction => 'with-nodes',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
=head2 store_neighbors( $device )
|
=head2 store_neighbors( $device )
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ register_worker({ phase => 'early', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
|
|||||||
@@ -11,11 +11,12 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my ($job, $workerconf) = @_;
|
my ($job, $workerconf) = @_;
|
||||||
|
|
||||||
my $device = $job->device;
|
my $device = $job->device;
|
||||||
|
return unless $device->in_storage;
|
||||||
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
my $snmp = App::Netdisco::Transport::SNMP->reader_for($device)
|
||||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||||
|
|
||||||
my $ssidlist = $snmp->i_ssidlist;
|
my $ssidlist = $snmp->i_ssidlist;
|
||||||
return true unless scalar keys %$ssidlist;
|
return unless scalar keys %$ssidlist;
|
||||||
|
|
||||||
my $interfaces = $snmp->interfaces;
|
my $interfaces = $snmp->interfaces;
|
||||||
my $ssidbcast = $snmp->i_ssidbcast;
|
my $ssidbcast = $snmp->i_ssidbcast;
|
||||||
|
|||||||
@@ -12,28 +12,26 @@ register_worker({ phase => 'main' }, sub {
|
|||||||
|
|
||||||
# if requested, and the device has not yet been
|
# if requested, and the device has not yet been
|
||||||
# arpniped/macsucked, queue those jobs now
|
# arpniped/macsucked, queue those jobs now
|
||||||
if ($device->in_storage
|
return unless $device->in_storage
|
||||||
and $job->subaction and $job->subaction eq 'with-nodes') {
|
and $job->subaction and $job->subaction eq 'with-nodes';
|
||||||
if (!defined $device->last_macsuck and $device->has_layer(2)) {
|
|
||||||
jq_insert({
|
|
||||||
device => $device->ip,
|
|
||||||
action => 'macsuck',
|
|
||||||
username => $job->username,
|
|
||||||
userip => $job->userip,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!defined $device->last_arpnip and $device->has_layer(3)) {
|
if (!defined $device->last_macsuck and $device->has_layer(2)) {
|
||||||
jq_insert({
|
jq_insert({
|
||||||
device => $device->ip,
|
device => $device->ip,
|
||||||
action => 'arpnip',
|
action => 'macsuck',
|
||||||
username => $job->username,
|
username => $job->username,
|
||||||
userip => $job->userip,
|
userip => $job->userip,
|
||||||
});
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
if (!defined $device->last_arpnip and $device->has_layer(3)) {
|
||||||
|
jq_insert({
|
||||||
|
device => $device->ip,
|
||||||
|
action => 'arpnip',
|
||||||
|
username => $job->username,
|
||||||
|
userip => $job->userip,
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
true;
|
true;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
my $now = 'to_timestamp('. (join '.', gettimeofday) .')';
|
my $now = 'to_timestamp('. (join '.', gettimeofday) .')';
|
||||||
|
|
||||||
my $cd11_txrate = $snmp->cd11_txrate;
|
my $cd11_txrate = $snmp->cd11_txrate;
|
||||||
return true unless $cd11_txrate and scalar keys %$cd11_txrate;
|
return unless $cd11_txrate and scalar keys %$cd11_txrate;
|
||||||
|
|
||||||
if (setting('store_wireless_clients')) {
|
if (setting('store_wireless_clients')) {
|
||||||
debug sprintf ' [%s] macsuck - gathering wireless client info',
|
debug sprintf ' [%s] macsuck - gathering wireless client info',
|
||||||
@@ -77,8 +77,6 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
true;
|
true;
|
||||||
|
|||||||
Reference in New Issue
Block a user