multi worker actions need not return done from all workers
This commit is contained in:
@@ -25,7 +25,7 @@ register_worker({ stage => 'check' }, sub {
|
||||
return Status->defer("arpnip deferred: $device is not arpnipable")
|
||||
unless is_arpnipable_now($device);
|
||||
|
||||
return Status->done('Arpnip is able to run');
|
||||
return Status->done('arpnip is able to run');
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -22,12 +22,10 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
# TODO: IPv6 subnets
|
||||
|
||||
my $now = 'to_timestamp('. (join '.', gettimeofday) .')';
|
||||
|
||||
store_subnet($_, $now) for @subnets;
|
||||
debug sprintf ' [%s] arpnip - processed %s Subnet entries',
|
||||
$device->ip, scalar @subnets;
|
||||
|
||||
return Status->done("Ended arpnip for $device");
|
||||
return Status->noop(sprintf ' [%s] arpnip - processed %s Subnet entries',
|
||||
$device->ip, scalar @subnets);
|
||||
});
|
||||
|
||||
# gathers device subnets
|
||||
|
||||
@@ -59,8 +59,7 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
} # ALIAS
|
||||
}
|
||||
|
||||
return Status->done("Ended discover for $device")
|
||||
if $new_ip eq $old_ip;
|
||||
return true if $new_ip eq $old_ip;
|
||||
|
||||
schema('netdisco')->txn_do(sub {
|
||||
# delete target device with the same vendor and serial number
|
||||
@@ -72,11 +71,9 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
$device->renumber($new_ip)
|
||||
or die "cannot renumber to: $new_ip"; # rollback
|
||||
|
||||
debug sprintf ' [%s] device - changed IP to %s (%s)',
|
||||
$old_ip, $device->ip, ($device->dns || '');
|
||||
return Status->noop(sprintf ' [%s] device - changed IP to %s (%s)',
|
||||
$old_ip, $device->ip, ($device->dns || ''));
|
||||
});
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -40,11 +40,9 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
});
|
||||
});
|
||||
|
||||
debug
|
||||
return Status->noop(
|
||||
sprintf ' [%s] modules - 0 chassis components (added one pseudo for chassis)',
|
||||
$device->ip;
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
$device->ip);
|
||||
}
|
||||
|
||||
my $e_descr = $snmp->e_descr;
|
||||
@@ -86,11 +84,10 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
debug sprintf ' [%s] modules - removed %d chassis modules',
|
||||
$device->ip, $gone;
|
||||
$device->modules->populate(\@modules);
|
||||
debug sprintf ' [%s] modules - added %d new chassis modules',
|
||||
$device->ip, scalar @modules;
|
||||
});
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return Status->noop(sprintf ' [%s] modules - added %d new chassis modules',
|
||||
$device->ip, scalar @modules);
|
||||
});
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -141,11 +141,10 @@ register_worker({ stage => 'early', driver => 'snmp' }, sub {
|
||||
$device->ip, $gone;
|
||||
$device->update_or_insert(undef, {for => 'update'});
|
||||
$device->ports->populate([values %interfaces]);
|
||||
debug sprintf ' [%s] interfaces - added %d new interfaces',
|
||||
$device->ip, scalar values %interfaces;
|
||||
});
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return Status->noop(sprintf ' [%s] interfaces - added %d new interfaces',
|
||||
$device->ip, scalar values %interfaces);
|
||||
});
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -61,7 +61,7 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
});
|
||||
}
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return true;
|
||||
});
|
||||
|
||||
=head2 store_neighbors( $device )
|
||||
|
||||
@@ -18,8 +18,7 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
my $p_status = $snmp->peth_power_status;
|
||||
|
||||
if (!defined $p_watts) {
|
||||
debug sprintf ' [%s] power - 0 power modules', $device->ip;
|
||||
return Status->done("Ended discover for $device");
|
||||
return Status->noop(sprintf ' [%s] power - 0 power modules', $device->ip);
|
||||
}
|
||||
|
||||
# build device module power info suitable for DBIC
|
||||
@@ -72,11 +71,10 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
debug sprintf ' [%s] power - removed %d PoE capable ports',
|
||||
$device->ip, $gone;
|
||||
$device->powered_ports->populate(\@portpower);
|
||||
debug sprintf ' [%s] power - added %d new PoE capable ports',
|
||||
$device->ip, scalar @portpower;
|
||||
});
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return Status->noop(sprintf ' [%s] power - added %d new PoE capable ports',
|
||||
$device->ip, scalar @portpower);
|
||||
});
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -12,7 +12,7 @@ use Dancer::Plugin::DBIC 'schema';
|
||||
use NetAddr::IP::Lite ':lower';
|
||||
use Encode;
|
||||
|
||||
register_worker({ stage => 'check', driver => 'snmp' }, sub {
|
||||
register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
|
||||
my $device = $job->device;
|
||||
|
||||
@@ -85,11 +85,10 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
debug sprintf ' [%s] vlans - removed %d port VLANs',
|
||||
$device->ip, $gone;
|
||||
$device->port_vlans->populate(\@portvlans);
|
||||
debug sprintf ' [%s] vlans - added %d new port VLANs',
|
||||
$device->ip, scalar @portvlans;
|
||||
});
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return Status->noop(sprintf ' [%s] vlans - added %d new port VLANs',
|
||||
$device->ip, scalar @portvlans);
|
||||
});
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -15,8 +15,7 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
or return Status->defer("discover failed: could not SNMP connect to $device");
|
||||
|
||||
my $ssidlist = $snmp->i_ssidlist;
|
||||
return Status->done("Ended discover for $device")
|
||||
unless scalar keys %$ssidlist;
|
||||
return true unless scalar keys %$ssidlist;
|
||||
|
||||
my $interfaces = $snmp->interfaces;
|
||||
my $ssidbcast = $snmp->i_ssidbcast;
|
||||
@@ -76,11 +75,10 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
debug sprintf ' [%s] wireless - removed %d wireless channels',
|
||||
$device->ip, $gone;
|
||||
$device->wireless_ports->populate(\@channels);
|
||||
debug sprintf ' [%s] wireless - added %d new wireless channels',
|
||||
$device->ip, scalar @channels;
|
||||
});
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return Status->noop(sprintf ' [%s] wireless - added %d new wireless channels',
|
||||
$device->ip, scalar @channels);
|
||||
});
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -33,7 +33,7 @@ register_worker({ stage => 'main' }, sub {
|
||||
}
|
||||
}
|
||||
|
||||
return Status->done("Ended discover for $device");
|
||||
return true;
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -18,17 +18,15 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
my $now = 'to_timestamp('. (join '.', gettimeofday) .')';
|
||||
|
||||
my $cd11_txrate = $snmp->cd11_txrate;
|
||||
return Status->done("Ended macsuck for $device")
|
||||
unless $cd11_txrate and scalar keys %$cd11_txrate;
|
||||
return true unless $cd11_txrate and scalar keys %$cd11_txrate;
|
||||
|
||||
if (setting('store_wireless_clients')) {
|
||||
debug sprintf ' [%s] macsuck - gathering wireless client info',
|
||||
$device->ip;
|
||||
}
|
||||
else {
|
||||
debug sprintf ' [%s] macsuck - dot11 info available but skipped due to config',
|
||||
$device->ip;
|
||||
return Status->done("Ended macsuck for $device");
|
||||
return Status->noop(sprintf ' [%s] macsuck - dot11 info available but skipped due to config',
|
||||
$device->ip);
|
||||
}
|
||||
|
||||
my $cd11_rateset = $snmp->cd11_rateset();
|
||||
@@ -80,7 +78,7 @@ register_worker({ stage => 'main', driver => 'snmp' }, sub {
|
||||
});
|
||||
}
|
||||
|
||||
return Status->done("Ended macsuck for $device");
|
||||
return true;
|
||||
});
|
||||
|
||||
true;
|
||||
|
||||
@@ -7,7 +7,6 @@ use aliased 'App::Netdisco::Worker::Status';
|
||||
use App::Netdisco::Util::NodeMonitor ();
|
||||
|
||||
register_worker({ stage => 'main' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
App::Netdisco::Util::NodeMonitor::monitor();
|
||||
return Status->done('Generated monitor data');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user