Package Products :: Package ZenModel :: Module BatchDeviceLoader :: Class BatchDeviceLoader |
[hide private]
[frames] | no frames]

# Class BatchDeviceLoader

source code

                  object --+
                           |
    ZenUtils.CmdBase.CmdBase --+
                               |
    ZenUtils.ZenDaemon.ZenDaemon --+
                                   |
          ZenUtils.ZCmdBase.ZCmdBase --+
                                       |
                                      BatchDeviceLoader

Base class wrapping around dmd.DeviceLoader

Instance Methods | [hide private]
__init__(self, *args, **kwargs) Initializer that takes care of basic daemon options. | source code
list of dictionaries |
loadDeviceList(self, args=None) Read through all of the files listed as arguments and return a list of device entries. | source code
applyZProps(self, device, device_specs) Apply zProperty settings (if any) to the device. | source code
applyCustProps(self, device, device_specs) Custom schema properties | source code
addAllLGSOrganizers(self, device_specs) | source code
addLGSOrganizer(self, lgsType, paths=[]) Add any new locations, groups or organizers | source code
addOrganizer(self, device_specs) Add any organizers as required, and apply zproperties to them. | source code
applyOtherProps(self, device, device_specs) Apply non-zProperty settings (if any) to the device. | source code
runLoader(self, loader, device_specs) It's up to the loader now to figure out what's going on. | source code
processDevices(self, device_list) Read the input and process the devices * create the device entry * set zproperties * set custom schema properties * model the device | source code
reportException(self, msg, devName='', **kwargs) Report exceptions back to the the event console | source code
reportResults(self, processed, totalDevices) Report the success + total counts from loading devices. | source code
notifyNewDeviceCreated(self, deviceName) Report that we added a new device. | source code
DMD device object |
getDevice(self, device_specs) Find or create the specified device | source code
buildOptions(self) Add our command-line options to the basics | source code
list of dictionaries |
parseDevices(self, data) From the list of strings in rawDevices, construct a list of device dictionaries, ready to load into Zenoss. | source code
dictionary |
parseDeviceEntry(self, line, defaults) Build a dictionary of properties from one line's input | source code
Inherited from `ZenUtils.ZCmdBase.ZCmdBase`: `closeAll`, `closedb`, `findDevice`, `getConnection`, `getContext`, `getDataRoot`, `getDmdObj`, `login`, `logout`, `opendb`, `sigTerm`, `syncdb`, `zodbConnect` Inherited from `ZenUtils.ZenDaemon.ZenDaemon`: `audit`, `becomeDaemon`, `becomeWatchdog`, `changeUser`, `convertSocketOption`, `logname`, `niceDoggie`, `openPrivilegedPort`, `setupLogging`, `sighandler_USR1`, `watchdogCycleTime`, `watchdogMaxRestartTime`, `watchdogStartTimeout`, `writePidFile` Inherited from `ZenUtils.ZenDaemon.ZenDaemon` (private): `_sigUSR1_called` Inherited from `ZenUtils.CmdBase.CmdBase`: `buildParser`, `checkLogpath`, `generate_configs`, `generate_xml_configs`, `generate_xml_table`, `getConfigFileDefaults`, `getGlobalConfigFileDefaults`, `getParamatersFromConfig`, `loadConfigFile`, `parseOptions`, `pretty_print_config_comment`, `validateConfigFile`

Class Variables | [hide private]
| sample_configs = `"`...``
Inherited from `ZenUtils.ZenDaemon.ZenDaemon`: `pidfile` Inherited from `ZenUtils.CmdBase.CmdBase`: `doesLogging`

Method Details | [hide private]

### __init__(self, *args, **kwargs) (Constructor) | source code
Initializer that takes care of basic daemon options. Creates a PID file. Overrides: ZenUtils.CmdBase.CmdBase.__init__

### loadDeviceList(self, args=None) | source code
Read through all of the files listed as arguments and return a list of device entries. Parameters: `args` (list of strings) - list of filenames (uses self.args is this is None) Returns: list of dictionaries list of device specifications

### applyZProps(self, device, device_specs) | source code
Apply zProperty settings (if any) to the device. Parameters: `device` (DMD device object) - device to modify `device_specs` (dictionary) - device creation dictionary

### addOrganizer(self, device_specs) | source code
Add any organizers as required, and apply zproperties to them. Decorators: `@transact`

### applyOtherProps(self, device, device_specs) | source code
Apply non-zProperty settings (if any) to the device. Parameters: `device` (DMD device object) - device to modify `device_specs` (dictionary) - device creation dictionary

### runLoader(self, loader, device_specs) | source code
It's up to the loader now to figure out what's going on. Parameters: `loader` (callable) - device loader `device_specs` (dictionary) - device entries

### processDevices(self, device_list) | source code
    Read the input and process the devices
      * create the device entry
      * set zproperties
      * set custom schema properties
      * model the device

    @parameter device_list: list of device entries
    @type device_list: list of dictionaries

### getDevice(self, device_specs) | source code
Find or create the specified device Parameters: `device_specs` (dictionary) - device creation dictionary Returns: DMD device object device or None

### buildOptions(self) | source code
Add our command-line options to the basics Overrides: ZenUtils.CmdBase.CmdBase.buildOptions

### parseDevices(self, data) | source code
From the list of strings in rawDevices, construct a list of device dictionaries, ready to load into Zenoss. Parameters: `data` (list of strings) - list of strings representing device entries Returns: list of dictionaries list of parsed device entries

### parseDeviceEntry(self, line, defaults) | source code
Build a dictionary of properties from one line's input Parameters: `line` (string) - string containing one device's info `defaults` (dictionary) - dictionary of default settings Returns: dictionary parsed device entry

Class Variable Details | [hide private]

  ### sample_configs Value:
      """#
      # Example zenbatchloader device file
      #
      # This file is formatted with one entry per line, like this:
      #
      #  /Devices/device_class_name Python-expression
      #  hostname Python-expression
      #
      ...