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')
예제 #2
0
 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')
예제 #3
0
    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'
예제 #4
0
 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 _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')
예제 #6
0
 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 _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)
예제 #9
0
 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
예제 #10
0
 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
예제 #11
0
    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
예제 #13
0
 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)
예제 #14
0
 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)
예제 #15
0
 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)