def _scanClass(self, dmd): if not hasattr(dmd.Devices.Server, 'Scan'): manage_addDeviceClass(dmd.Devices.Server, 'Scan') scan = dmd.Devices.Server.Scan scan.description = '' scan.zCollectorPlugins = ['zenoss.portscan.IpServiceMap'] scan.manage_addRRDTemplate('Device')
def install(self, app): if not hasattr(self.dmd.Devices.Server, 'NetWare'): manage_addDeviceClass(self.dmd.Devices.Server, 'NetWare') dc = self.dmd.Devices.Server.NetWare dc.description = 'Novell NetWare Servers' # dc.devtypes = ['SNMP',] dc.zIcon = '/zport/dmd/server-netware.png' dc.zLinks = "<a href='https://${here/manageIp}:8009' target='_'>Novell Remote Manager</a> <a href='https://${here/manageIp}/nps' target='_'>iManager</a>" dc.zCollectorPlugins = tuple(self.dmd.Devices.Server.zCollectorPlugins) + ( 'community.snmp.NWDeviceMap', 'community.snmp.NWFileSystemMap') if not hasattr(self.dmd.Devices.Server.NetWare, 'NCS'): manage_addDeviceClass(self.dmd.Devices.Server.NetWare, 'NCS') nwcs = self.dmd.Devices.Server.NetWare.NCS nwcs.description = 'Novell Cluster Virtual Resources' # nwcs.devtypes = ['SNMP',] nwcs.zCollectorPlugins = ('zenoss.snmp.NewDeviceMap', 'zenoss.snmp.DeviceMap', 'zenoss.snmp.IpServiceMap', 'zenoss.snmp.HRSWRunMap', 'community.snmp.Interface2IPMap', 'community.snmp.NWFileSystemMap', ) ZenPackBase.install(self, app) dc.zNWFileSystemMapIncludeNames = '^SYS' nwcs.zNWFileSystemMapIncludeNames = '^VOLUME_NAME'
def _pingClass(self, dmd): if not hasattr(dmd.Devices, 'Ping'): manage_addDeviceClass(dmd.Devices, 'Ping') ping = dmd.Devices.Server.Ping ping.description = '' ping.zSnmpMonitorIgnore = True ping.zXmlRpcMonitorIgnore = True ping.manage_addRRDTemplate('Device')
def _cmdClass(self, dmd): if not hasattr(dmd.Devices.Server, 'Cmd'): manage_addDeviceClass(dmd.Devices.Server, 'Cmd') cmd = dmd.Devices.Server.Cmd cmd.description = '' cmd.zPingMonitorIgnore = True cmd.zSnmpMonitorIgnore = True cmd.zWmiMonitorIgnore = True cmd.zXmlRpcMonitorIgnore = True cmd.manage_addRRDTemplate('Device')
def upgrade(self, app): # Device - Storage organizer if not hasattr(app.zport.dmd.Devices, 'Storage'): manage_addDeviceClass(app.zport.dmd.Devices, 'Storage') dc = app.zport.dmd.Devices.getOrganizer('Storage') dc.description = '' # MIB - Storage organizer if not hasattr(app.zport.dmd.Mibs, 'Storage'): manage_addDeviceClass(app.zport.dmd.Mibs, 'Storage') mg = app.zport.dmd.Mibs.getOrganizer('Storage') mg.description = '' ZenPackBase.upgrade(self, app)
def addDeviceClass(self, app, dcp, properties): try: dc = app.zport.dmd.Devices.getOrganizer(dcp) except: dcp, newdcp = dcp.rsplit('/', 1) dc = self.addDeviceClass(app, dcp, self.dcProperties.get(dcp, {})) manage_addDeviceClass(dc, newdcp) dc = app.zport.dmd.Devices.getOrganizer("%s/%s"%(dcp, newdcp)) dc.description = '' for prop, value in properties.iteritems(): if not hasattr(aq_base(dc), prop): dc._setProperty(prop, value[0], type = value[1]) return dc
def addDeviceClass(self, app, dcp, properties): try: dc = app.zport.dmd.Devices.getOrganizer(dcp) except: dcp, newdcp = dcp.rsplit('/', 1) dc = self.addDeviceClass(app, dcp, self.dcProperties.get(dcp, {})) manage_addDeviceClass(dc, newdcp) dc = app.zport.dmd.Devices.getOrganizer("%s/%s" % (dcp, newdcp)) dc.description = '' for prop, value in properties.iteritems(): if not hasattr(aq_base(dc), prop): dc._setProperty(prop, value[0], type=value[1]) return dc
def install(self, app): qsan = app.dmd.Devices.createOrganizer('/Storage/Qsan') qsan.setZenProperty( 'zCollectorPlugins',[ 'CERIT_SC.snmp.QsanDeviceMapMib', 'CERIT_SC.snmp.QsanPDMib', 'CERIT_SC.snmp.QsanVDMib']) # SNMP requests/modelling can take veeeeery long time qsan.setZenProperty('zSnmpTimeout','60') qsan.setZenProperty('zCommandCommandTimeout','120') #TODO: snmptimeout*tries qsan.setZenProperty('zCollectorClientTimeout','3600') # MIB organizers /Storage if not hasattr(app.zport.dmd.Mibs, 'Storage'): manage_addDeviceClass(app.zport.dmd.Mibs, 'Storage') ZenPackBase.install(self, app)
def upgrade(self, app): log.info("Upgrading ZXTM Zenpack...") if not hasattr(app.zport.dmd.Devices.Server, 'Zeus'): manage_addDeviceClass(app.zport.dmd.Devices.Server, 'Zeus') dc = app.zport.dmd.Devices.getOrganizer('Server/Zeus') dc.description = 'Zeus Load Balancers' # Do some cleanup for old properties to make # ZenPack upgrade safe flag = False for dev in dc.getSubDevices(): for comp in dev.pools(): if hasattr(comp, 'poolDraining') and \ type(comp.poolDraining) == type(1): flag = True try: del comp.poolDraining except Exception, e: log.warning("Couldn't clean %s/%s because %s" % \ (dev.id, comp.id, str(e))) if flag: log.info("Device %s has been successfully cleaned" % dev.id) flag = False
def upgrade(self, app): if not hasattr(app.zport.dmd.Devices, 'BladeChassis'): manage_addDeviceClass(app.zport.dmd.Devices, 'BladeChassis') dc = app.zport.dmd.Devices.getOrganizer('BladeChassis') dc.description = '' ZenPackBase.upgrade(self, app)
def upgrade(self, app): if not hasattr(app.zport.dmd.Devices.Server, 'Zeus'): manage_addDeviceClass(app.zport.dmd.Devices.Server, 'Zeus') dc = app.zport.dmd.Devices.getOrganizer('Server/Zeus') dc.description = 'Zeus Load Balancers' ZenPackBase.upgrade(self, app)