Package Products :: Package ZenStatus :: Module TracerouteTask :: Class TracerouteTask |
[hide private]
[frames] | no frames]

# Class TracerouteTask

source code

                             object --+
                                      |
    ZenUtils.observable.ObservableMixin --+
                                          |
                                         TracerouteTask

Instance Methods | [hide private]
__init__(self, taskName, configId=None, scheduleIntervalSeconds=60, taskConfig=None) | source code
_failure(self, reason) Twisted errBack to log the exception for a single device. | source code
Twisted deferred object |
doTask(self) Traceroute from the collector to the endpoint nodes, with chunking. | source code
_chooseDevicesToTrace(self) Select the devices to traceroute | source code
_reTraceDevices(self, chunkSize) Re-traceroute devices based on reasonable criteria. | source code
deferred task |
_modelRoute(self, ip) Given an IP address, perform a traceroute to determine (from the physical network devices) the underlying route to the IP from this collector device. | source code
_parseResults(self, resultList) Take the raw results of the traceroute requests and format for updates to the topology. | source code
_parseResult(self, command) | source code
_updateStatistics(self, command) Track our traceroute statistics | source code
_processResults(self, resultList) Given the list of gateways, add any nodes and construct any edges required to add the device to the topology. | source code
displayStatistics(self) Called by the collector framework scheduler, and allows us to see how each task is doing. | source code
cleanup(self) | source code
Inherited from `ZenUtils.observable.ObservableMixin`: `__setattr__`, `attachAttributeObserver`, `detachAttributeObserver`, `notifyAttributeChange`

Class Variables | [hide private]
| STATE_TOPOLOGY_COLLECTION = `'TOPOLOGY_COLLECTION'`
| STATE_TOPOLOGY_PROCESS = `'TOPOLOGY_PROCESS_RESULTS'`
| STATE_TOPOLOGY_UPDATE = `'TOPOLOGY_UPDATE'`

Method Details | [hide private]

### __init__(self, taskName, configId=None, scheduleIntervalSeconds=60, taskConfig=None) (Constructor) | source code
Parameters: `deviceId` (string) - the Zenoss deviceId to watch `taskName` (string) - the unique identifier for this task `scheduleIntervalSeconds` (int) - the interval at which this task will be collected `taskConfig` - the configuration for this task Overrides: ZenUtils.observable.ObservableMixin.__init__

### _failure(self, reason) | source code
Twisted errBack to log the exception for a single device. Parameters: `reason` (Twisted error instance) - explanation of the failure

### doTask(self) | source code
Traceroute from the collector to the endpoint nodes, with chunking. Returns: Twisted deferred object A task to traceroute devices

### _modelRoute(self, ip) | source code
Given an IP address, perform a traceroute to determine (from the physical network devices) the underlying route to the IP from this collector device. Parameters: `ip` (string) - IP address of the device to search Returns: deferred task a deferred to actually do the modeling

### _parseResults(self, resultList) | source code
Take the raw results of the traceroute requests and format for updates to the topology. Note that just because a device cannot be traceroute'd does *NOT* mean that it is down.