def setUp(self): super(InterfaceModelerTests, self).setUp() self.plugin = interfaces() self.device = DeviceProxy() self.device.id = "test-InterfacesIp" self.device.zInterfaceMapIgnoreNames = "" self.device.zInterfaceMapIgnoreTypes = ""
def setUp(self): super(FileSystemModelerTests, self).setUp() self.plugin = df() self.device = DeviceProxy() self.device.id = "test-FileSystemModeler" self.device.zFileSystemMapIgnoreNames = "" self.device.zFileSystemMapIgnoreTypes = []
def createDeviceProxy(self, dev, skipModelMsg=''): if self.plugins is None: self.plugins = {} for loader in loadPlugins(self.dmd): try: plugin = loader.create() plugin.loader = loader self.plugins[plugin.name()] = plugin except Exception as ex: log.exception(ex) result = DeviceProxy() result.id = dev.getId() result.skipModelMsg = skipModelMsg if not skipModelMsg: if not dev.manageIp: dev.setManageIp() result.manageIp = dev.manageIp result.plugins = [] for name in dev.zCollectorPlugins: plugin = self.plugins.get(name, None) log.debug('checking plugin %s for device %s' % (name, dev.getId())) if plugin and plugin.condition(dev, log): log.debug('adding plugin %s for device %s' % (name, dev.getId())) result.plugins.append(plugin.loader) plugin.copyDataToProxy(dev, result) result.temp_device = dev.isTempDevice() return result
class ModelerService(PerformanceConfig): plugins = None def __init__(self, dmd, instance): PerformanceConfig.__init__(self, dmd, instance) self.config = self.dmd.Monitors.Performance._getOb(self.instance) self.methodPriorityMap = { 'applyDataMaps': 0.5, } def createDeviceProxy(self, dev, skipModelMsg=''): if self.plugins is None: self.plugins = {} for loader in loadPlugins(self.dmd): try: plugin = loader.create() plugin.loader = loader self.plugins[plugin.name()] = plugin except Exception, ex: log.warn( "The following error occurred while loading %s plugin:\n %s" % (loader.modPath, ex)) if "ZenWin.WMIPlugin" in loader.modPath: log.info( "Installing ZenPacks.zenoss.WindowsMonitor will likely resolve this issue." ) log.info( "See the install guide for details regarding the Windows Monitoring RPM." ) result = DeviceProxy() result.id = dev.getId() result.skipModelMsg = skipModelMsg if not skipModelMsg: if not dev.manageIp: dev.setManageIp() result.manageIp = dev.manageIp result.plugins = [] for name in dev.zCollectorPlugins: plugin = self.plugins.get(name, None) log.debug('checking plugin %s for device %s' % (name, dev.getId())) if plugin and plugin.condition(dev, log): log.debug('adding plugin %s for device %s' % (name, dev.getId())) result.plugins.append(plugin.loader) plugin.copyDataToProxy(dev, result) result.temp_device = dev.isTempDevice() return result
def WmiGet(url, query, properties): from Products.DataCollector.DeviceProxy import DeviceProxy from WMIPlugin import WMIPlugin url = url.rsplit('@', 1) device = DeviceProxy() device.zWmiProxy, ns = url[1].split('/', 1) device.id = device.zWmiProxy device.manageIp = device.zWmiProxy url = url[0].split('//', 1) device.zWinUser, device.zWinPassword = url[1].split(':', 1) if query.upper().startswith('SELECT '): cn = query kb = {} else: try: cn, keys = query.split('.', 1) kb = {} for key in keys.split(','): var, val = key.split('=') kb[var] = val except: cn = query kb = {} wp = WMIPlugin() wp.tables = {'t': (cn, kb, ns, properties)} wp.includeQualifiers = True cl = WMIClient(device=device, plugins=[wp,]) cl.run() reactor.run() for plugin, result in cl.getResults(): if plugin == wp and 't' in result: return result['t'] return result
def WbemGet(url, query, properties): from Products.DataCollector.DeviceProxy import DeviceProxy from WBEMPlugin import WBEMPlugin url = url.rsplit('@', 1) device = DeviceProxy() device.zWbemProxy, ns = url[1].split('/', 1) device.zWbemProxy, device.zWbemPort = device.zWbemProxy.split(':') device.id = device.zWbemProxy device.manageIp = device.zWbemProxy url = url[0].split('//', 1) device.zWinUser, device.zWinPassword = url[1].split(':', 1) device.zWbemUseSSL = True and url[0] == 'https:' or False if query.upper().startswith('SELECT '): cn = query kb = {} else: try: cn, keys = query.split('.', 1) kb = {} for key in keys.split(','): var, val = key.split('=') kb[var] = val except: cn = query kb = {} wp = WBEMPlugin() wp.tables = {'t': (cn, kb, ns, properties)} wp.includeQualifiers = True cl = WBEMClient(device=device, plugins=[ wp, ]) cl.run() reactor.run() for plugin, result in cl.getResults(): if plugin == wp and 't' in result: return result['t'] return result
def afterSetUp(self): super(TestModelProcess, self).afterSetUp() # Patch to remove DNS dependencies def getHostByName(name): return MOCK_DNS.get(name) def resolve_names(names): result = {} for name in names: result[name] = MOCK_DNS.get(name) return defer.maybeDeferred(lambda: result) self._real_resolve_names = hostmap.resolve_names hostmap.resolve_names = resolve_names self._real_getHostByName = Device.getHostByName Device.getHostByName = getHostByName self.d = DeviceProxy() self.d.zOpenStackHostDeviceClass = '/Server/SSH/Linux/NovaHost' self.d.zOpenStackRegionName = 'RegionOne' self.d.zOpenStackAuthUrl = 'http://1.2.3.4:5000/v2.0' self.d.zOpenStackNovaApiHosts = [] self.d.zOpenStackExtraHosts = [] self.d.zOpenStackHostMapToId = [] self.d.zOpenStackHostMapSame = [] self.d.zOpenStackHostLocalDomain = '' self.d.zOpenStackExtraApiEndpoints = [] self.d.get_host_mappings = {} # # Required to prevent erroring out when trying to define viewlets in # # ../browser/configure.zcml. # import zope.viewlet # zcml.load_config('meta.zcml', zope.viewlet) # import ZenPacks.zenoss.OpenStackInfrastructure # zcml.load_config('configure.zcml', ZenPacks.zenoss.OpenStackInfrastructure) self.data = self._loadTestData()
def afterSetUp(self): self.device = DeviceProxy() self.device.id = "test-device" self.plugin = os_release()