change sub names so as not to collide with Dancer
This commit is contained in:
		| @@ -23,13 +23,13 @@ sub _set_device_generic { | ||||
|  | ||||
|   # snmp connect using rw community | ||||
|   my $info = snmp_connect_rw($ip) | ||||
|     or return error("Failed to connect to device [$ip] to update $slot"); | ||||
|     or return job_error("Failed to connect to device [$ip] to update $slot"); | ||||
|  | ||||
|   my $method = 'set_'. $slot; | ||||
|   my $rv = $info->$method($data); | ||||
|  | ||||
|   if (!defined $rv) { | ||||
|       return error(sprintf 'Failed to set %s on [%s]: %s', | ||||
|       return job_error(sprintf 'Failed to set %s on [%s]: %s', | ||||
|                     $slot, $ip, ($info->error || '')); | ||||
|   } | ||||
|  | ||||
| @@ -37,14 +37,14 @@ sub _set_device_generic { | ||||
|   $info->clear_cache; | ||||
|   my $new_data = ($info->$slot || ''); | ||||
|   if ($new_data ne $data) { | ||||
|       return error("Verify of $slot update failed on [$ip]: $new_data"); | ||||
|       return job_error("Verify of $slot update failed on [$ip]: $new_data"); | ||||
|   } | ||||
|  | ||||
|   # update netdisco DB | ||||
|   my $device = get_device($ip); | ||||
|   $device->update({$slot => $data}); | ||||
|  | ||||
|   return done("Updated $slot on [$ip] to [$data]"); | ||||
|   return job_done("Updated $slot on [$ip] to [$data]"); | ||||
| } | ||||
|  | ||||
| 1; | ||||
|   | ||||
| @@ -16,11 +16,11 @@ sub set_portcontrol { | ||||
|   my ($self, $job) = @_; | ||||
|  | ||||
|   my $port = get_port($job->device, $job->port) | ||||
|     or return error(sprintf "Unknown port name [%s] on device [%s]", | ||||
|     or return job_error(sprintf "Unknown port name [%s] on device [%s]", | ||||
|       $job->port, $job->device); | ||||
|  | ||||
|   my $reconfig_check = port_reconfig_check($port); | ||||
|   return error("Cannot alter port: $reconfig_check") | ||||
|   return job_error("Cannot alter port: $reconfig_check") | ||||
|     if length $reconfig_check; | ||||
|  | ||||
|   return _set_port_generic($job, 'up_admin'); | ||||
| @@ -30,15 +30,15 @@ sub set_vlan { | ||||
|   my ($self, $job) = @_; | ||||
|  | ||||
|   my $port = get_port($job->device, $job->port) | ||||
|     or return error(sprintf "Unknown port name [%s] on device [%s]", | ||||
|     or return job_error(sprintf "Unknown port name [%s] on device [%s]", | ||||
|       $job->port, $job->device); | ||||
|  | ||||
|   my $port_reconfig_check = port_reconfig_check($port); | ||||
|   return error("Cannot alter port: $port_reconfig_check") | ||||
|   return job_error("Cannot alter port: $port_reconfig_check") | ||||
|     if length $port_reconfig_check; | ||||
|  | ||||
|   my $vlan_reconfig_check = vlan_reconfig_check($port); | ||||
|   return error("Cannot alter vlan: $vlan_reconfig_check") | ||||
|   return job_error("Cannot alter vlan: $vlan_reconfig_check") | ||||
|     if length $vlan_reconfig_check; | ||||
|  | ||||
|   return _set_port_generic($job, 'vlan'); | ||||
| @@ -53,20 +53,20 @@ sub _set_port_generic { | ||||
|   (my $data = $job->subaction) =~ s/-\w+//; | ||||
|  | ||||
|   my $port = get_port($ip, $pn) | ||||
|     or return error("Unknown port name [$pn] on device [$ip]"); | ||||
|     or return job_error("Unknown port name [$pn] on device [$ip]"); | ||||
|  | ||||
|   # snmp connect using rw community | ||||
|   my $info = snmp_connect_rw($ip) | ||||
|     or return error("Failed to connect to device [$ip] to control port"); | ||||
|     or return job_error("Failed to connect to device [$ip] to control port"); | ||||
|  | ||||
|   my $iid = get_iid($info, $port) | ||||
|     or return error("Failed to get port ID for [$pn] from [$ip]"); | ||||
|     or return job_error("Failed to get port ID for [$pn] from [$ip]"); | ||||
|  | ||||
|   my $method = 'set_i_'. $slot; | ||||
|   my $rv = $info->$method($data, $iid); | ||||
|  | ||||
|   if (!defined $rv) { | ||||
|       return error(sprintf 'Failed to set [%s] %s to [%s] on [%s]: %s', | ||||
|       return job_error(sprintf 'Failed to set [%s] %s to [%s] on [%s]: %s', | ||||
|                     $pn, $slot, $data, $ip, ($info->error || '')); | ||||
|   } | ||||
|  | ||||
| @@ -75,27 +75,27 @@ sub _set_port_generic { | ||||
|   my $check_method = 'i_'. $slot; | ||||
|   my $state = ($info->$check_method($iid) || ''); | ||||
|   if (ref {} ne ref $state or $state->{$iid} ne $data) { | ||||
|       return error("Verify of [$pn] $slot failed on [$ip]"); | ||||
|       return job_error("Verify of [$pn] $slot failed on [$ip]"); | ||||
|   } | ||||
|  | ||||
|   # update netdisco DB | ||||
|   $port->update({$column => $data}); | ||||
|  | ||||
|   return done("Updated [$pn] $slot status on [$ip] to [$data]"); | ||||
|   return job_done("Updated [$pn] $slot status on [$ip] to [$data]"); | ||||
| } | ||||
|  | ||||
| sub set_power { | ||||
|   my ($self, $job) = @_; | ||||
|  | ||||
|   my $port = get_port($job->device, $job->port) | ||||
|     or return error(sprintf "Unknown port name [%s] on device [%s]", | ||||
|     or return job_error(sprintf "Unknown port name [%s] on device [%s]", | ||||
|       $job->port, $job->device); | ||||
|  | ||||
|   return error("No PoE service on port [%s] on device [%s]") | ||||
|   return job_error("No PoE service on port [%s] on device [%s]") | ||||
|     unless $port->power; | ||||
|  | ||||
|   my $reconfig_check = port_reconfig_check($port); | ||||
|   return error("Cannot alter port: $reconfig_check") | ||||
|   return job_error("Cannot alter port: $reconfig_check") | ||||
|     if length $reconfig_check; | ||||
|  | ||||
|  | ||||
| @@ -105,15 +105,15 @@ sub set_power { | ||||
|  | ||||
|   # snmp connect using rw community | ||||
|   my $info = snmp_connect_rw($ip) | ||||
|     or return error("Failed to connect to device [$ip] to control port"); | ||||
|     or return job_error("Failed to connect to device [$ip] to control port"); | ||||
|  | ||||
|   my $powerid = get_powerid($info, $port) | ||||
|     or return error("Failed to get power ID for [$pn] from [$ip]"); | ||||
|     or return job_error("Failed to get power ID for [$pn] from [$ip]"); | ||||
|  | ||||
|   my $rv = $info->set_peth_port_admin($data, $powerid); | ||||
|  | ||||
|   if (!defined $rv) { | ||||
|       return error(sprintf 'Failed to set [%s] power to [%s] on [%s]: %s', | ||||
|       return job_error(sprintf 'Failed to set [%s] power to [%s] on [%s]: %s', | ||||
|                     $pn, $data, $ip, ($info->error || '')); | ||||
|   } | ||||
|  | ||||
| @@ -121,7 +121,7 @@ sub set_power { | ||||
|   $info->clear_cache; | ||||
|   my $state = ($info->peth_port_admin($powerid) || ''); | ||||
|   if (ref {} ne ref $state or $state->{$powerid} ne $data) { | ||||
|       return error("Verify of [$pn] power failed on [$ip]"); | ||||
|       return job_error("Verify of [$pn] power failed on [$ip]"); | ||||
|   } | ||||
|  | ||||
|   # update netdisco DB | ||||
| @@ -130,7 +130,7 @@ sub set_power { | ||||
|     status => ($data eq 'false' ? 'disabled' : 'searching'), | ||||
|   }); | ||||
|  | ||||
|   return done("Updated [$pn] power status on [$ip] to [$data]"); | ||||
|   return job_done("Updated [$pn] power status on [$ip] to [$data]"); | ||||
| } | ||||
|  | ||||
| 1; | ||||
|   | ||||
| @@ -4,10 +4,10 @@ package App::Netdisco::Daemon::Worker::Interactive::Util; | ||||
|  | ||||
| use base 'Exporter'; | ||||
| our @EXPORT = (); | ||||
| our @EXPORT_OK = qw/ done error /; | ||||
| our @EXPORT_OK = qw/ job_done job_error /; | ||||
| our %EXPORT_TAGS = (all => \@EXPORT_OK); | ||||
|  | ||||
| sub done  { return ('done',  shift) } | ||||
| sub error { return ('error', shift) } | ||||
| sub job_done  { return ('done',  shift) } | ||||
| sub job_error { return ('error', shift) } | ||||
|  | ||||
| 1; | ||||
|   | ||||
| @@ -27,7 +27,7 @@ sub refresh { | ||||
|     }} ($devices->all) | ||||
|   ]); | ||||
|  | ||||
|   return done("Queued discover job for all devices"); | ||||
|   return job_done("Queued discover job for all devices"); | ||||
| } | ||||
|  | ||||
| sub discover { | ||||
| @@ -38,7 +38,7 @@ sub discover { | ||||
|   my $snmp = snmp_connect($device); | ||||
|  | ||||
|   if (!defined $snmp) { | ||||
|       return error("Discover failed: could not SNMP connect to $host"); | ||||
|       return job_error("Discover failed: could not SNMP connect to $host"); | ||||
|   } | ||||
|  | ||||
|   store_device($device, $snmp); | ||||
| @@ -47,7 +47,7 @@ sub discover { | ||||
|   #store_power($ip, $snmp); | ||||
|   #store_modules($ip, $snmp); | ||||
|  | ||||
|   return done("Ended Discover for $host"); | ||||
|   return job_done("Ended Discover for $host"); | ||||
| } | ||||
|  | ||||
| 1; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user