Exemplo n.º 1
0
def initializeGlobalCatalog(catalog):
    catalog.addIndex('id', makeCaseSensitiveFieldIndex('id'))
    catalog.addIndex('uid', makeCaseSensitiveFieldIndex('uid'))
    catalog.addIndex('meta_type', makeCaseSensitiveFieldIndex('meta_type'))
    catalog.addIndex('name', makeCaseInsensitiveFieldIndex('name'))
    catalog.addIndex('ipAddress', makeCaseSensitiveFieldIndex('ipAddress'))
    catalog.addIndex('objectImplements',
                     makeCaseSensitiveKeywordIndex('objectImplements'))
    catalog.addIndex('allowedRolesAndUsers',
                     makeCaseSensitiveKeywordIndex('allowedRolesAndUsers'))
    catalog.addIndex('monitored', makeCaseSensitiveFieldIndex('monitored'))
    catalog.addIndex('path', makeMultiPathIndex('path'))
    catalog.addIndex('collectors', makeCaseSensitiveKeywordIndex('collectors'))
    catalog.addIndex('productKeys',
                     makeCaseSensitiveKeywordIndex('productKeys'))
    catalog.addIndex('searchKeywords',
                     makeCaseInsensitiveKeywordIndex('searchKeywords'))
    catalog.addIndex('macAddresses',
                     makeCaseInsensitiveKeywordIndex('macAddresses'))

    catalog.addColumn('id')
    catalog.addColumn('uuid')
    catalog.addColumn('name')
    catalog.addColumn('meta_type')
    catalog.addColumn('monitored')
    catalog.addColumn('collectors')
    catalog.addColumn('zProperties')
    catalog.addColumn('searchIcon')
    catalog.addColumn('searchExcerpt')
Exemplo n.º 2
0
def initializeGlobalCatalog(catalog):
    catalog.addIndex('id', makeCaseSensitiveFieldIndex('id'))
    catalog.addIndex('uid', makeCaseSensitiveFieldIndex('uid'))
    catalog.addIndex('meta_type', makeCaseSensitiveFieldIndex('meta_type'))
    catalog.addIndex('name', makeCaseInsensitiveFieldIndex('name'))
    catalog.addIndex('ipAddress', makeCaseSensitiveFieldIndex('ipAddress'))
    catalog.addIndex('objectImplements', makeCaseSensitiveKeywordIndex('objectImplements'))
    catalog.addIndex('allowedRolesAndUsers', makeCaseSensitiveKeywordIndex('allowedRolesAndUsers'))
    catalog.addIndex('productionState', makeCaseSensitiveFieldIndex('productionState'))
    catalog.addIndex('monitored', makeCaseSensitiveFieldIndex('monitored'))
    catalog.addIndex('path', makeMultiPathIndex('path'))
    catalog.addIndex('collectors', makeCaseSensitiveKeywordIndex('collectors'))
    catalog.addIndex('productKeys', makeCaseSensitiveKeywordIndex('productKeys'))
    catalog.addIndex('searchKeywords', makeCaseInsensitiveKeywordIndex('searchKeywords'))
    catalog.addIndex('macAddresses', makeCaseInsensitiveKeywordIndex('macAddresses'))

    catalog.addColumn('id')
    catalog.addColumn('uuid')
    catalog.addColumn('name')
    catalog.addColumn('meta_type')
    catalog.addColumn('monitored')
    catalog.addColumn('productionState')
    catalog.addColumn('collectors')
    catalog.addColumn('zProperties')
    catalog.addColumn('searchIcon')
    catalog.addColumn('searchExcerpt')
Exemplo n.º 3
0
    def createCatalog(self):
        """Create a catalog for mibs searching"""
        from Products.ZCatalog.ZCatalog import manage_addZCatalog

        # XXX update to use ManagableIndex
        manage_addZCatalog(self, self.default_catalog, self.default_catalog)
        zcat = self._getOb(self.default_catalog)
        cat = zcat._catalog
        cat.addIndex('oid', makeCaseInsensitiveKeywordIndex('oid'))
        cat.addIndex('id', makeCaseInsensitiveKeywordIndex('id'))
        cat.addIndex('summary', makeCaseInsensitiveKeywordIndex('summary'))
        zcat.addColumn('getPrimaryId')
        zcat.addColumn('id')
        zcat.addColumn('oid')
Exemplo n.º 4
0
    def createCatalog(self):
        """Create a catalog for mibs searching"""
        from Products.ZCatalog.ZCatalog import manage_addZCatalog

        # XXX update to use ManagableIndex
        manage_addZCatalog(self, self.default_catalog, self.default_catalog)
        zcat = self._getOb(self.default_catalog)
        cat = zcat._catalog
        cat.addIndex('oid', makeCaseInsensitiveKeywordIndex('oid'))
        cat.addIndex('id', makeCaseInsensitiveKeywordIndex('id'))
        cat.addIndex('summary', makeCaseInsensitiveKeywordIndex('summary'))
        zcat.addColumn('getPrimaryId')
        zcat.addColumn('id')
        zcat.addColumn('oid')
 def createCatalog(self):
     """Create a catalog for rules searching"""
     from Products.ZCatalog.ZCatalog import manage_addZCatalog
     # XXX update to use ManagableIndex
     manage_addZCatalog(self, self.default_catalog, self.default_catalog)
     zcat = self._getOb(self.default_catalog)
     cat = zcat._catalog
     cat.addIndex('ruleSystems', makeCaseInsensitiveKeywordIndex('ruleSystems'))
     cat.addIndex('ruleGroups', makeCaseInsensitiveKeywordIndex('ruleGroups'))
     cat.addIndex('propertyType', makeCaseInsensitiveKeywordIndex('propertyType'))
     cat.addIndex('propertyName', makeCaseInsensitiveKeywordIndex('propertyName'))
     zcat.addColumn('toRemove')
     zcat.addColumn('enabled')
     zcat.addColumn('ruleModuleName')
 def createCatalog(self):
     """Create a catalog for rules searching"""
     from Products.ZCatalog.ZCatalog import manage_addZCatalog
     # XXX update to use ManagableIndex
     manage_addZCatalog(self, self.default_catalog, self.default_catalog)
     zcat = self._getOb(self.default_catalog)
     cat = zcat._catalog
     cat.addIndex('ruleSystems',
                  makeCaseInsensitiveKeywordIndex('ruleSystems'))
     cat.addIndex('ruleGroups',
                  makeCaseInsensitiveKeywordIndex('ruleGroups'))
     cat.addIndex('propertyType',
                  makeCaseInsensitiveKeywordIndex('propertyType'))
     cat.addIndex('propertyName',
                  makeCaseInsensitiveKeywordIndex('propertyName'))
     zcat.addColumn('toRemove')
     zcat.addColumn('enabled')
     zcat.addColumn('ruleModuleName')
    def createCatalog(self):
        """Create a catalog for rules searching"""
        from Products.ZCatalog.ZCatalog import manage_addZCatalog

        # XXX update to use ManagableIndexcreateRulesetGroup
        manage_addZCatalog(self, self.default_catalog, self.default_catalog)
        zcat = self._getOb(self.default_catalog)
        cat = zcat._catalog
        cat.addIndex("ruleSystems", makeCaseInsensitiveKeywordIndex("ruleSystems"))
        cat.addIndex("ruleGroups", makeCaseInsensitiveKeywordIndex("ruleGroups"))
        cat.addIndex("ruleKey", makeCaseInsensitiveKeywordIndex("ruleKey"))
        cat.addIndex("ruleValue", makeCaseInsensitiveKeywordIndex("ruleValue"))
        zcat.addColumn("toRemove")
        zcat.addColumn("enabled")
        zcat.addColumn("ruleCurrentMatches")
        zcat.addColumn("rulePotentialMatches")
        zcat.addColumn("ruleRulesetName")
        zcat.addColumn("ruleEventClass")
Exemplo n.º 8
0
 def cutover(self, dmd):
     devices = dmd.getDmdRoot('Devices')
     zcat = devices.componentSearch
     cat = zcat._catalog
     try:
         cat.addIndex('getCollectors',
                      makeCaseInsensitiveKeywordIndex('getCollectors'))
         cat.addIndex('getParentDeviceName',
                      makeCaseInsensitiveFieldIndex('getParentDeviceName'))
         print "Reindexing. This may take some time..."
         zcat.reindexIndex('getCollectors', None)
         zcat.reindexIndex('getParentDeviceName', None)
     except CatalogError:
         pass
 def cutover(self, dmd):
     devices = dmd.getDmdRoot('Devices')
     zcat = devices.componentSearch
     cat = zcat._catalog
     try:
         cat.addIndex('getCollectors', 
             makeCaseInsensitiveKeywordIndex('getCollectors'))
         cat.addIndex('getParentDeviceName', 
             makeCaseInsensitiveFieldIndex('getParentDeviceName'))
         print "Reindexing. This may take some time..."
         zcat.reindexIndex('getCollectors', None)
         zcat.reindexIndex('getParentDeviceName', None)
     except CatalogError:
         pass
    def cutover(self, dmd):
        devices = dmd.getDmdRoot('Devices')
        zcat = devices.deviceSearch
        # in version 3 to 4 (and 3.1 to 3.2) we changed how the path index was stored so
        # we will always need to reindex it
        idxs = ['path']
        # field indexes
        for indexName in fieldIndexes:
            try:
                zcat._catalog.addIndex(indexName, makeCaseInsensitiveFieldIndex(indexName))
                idxs.append(indexName)
            except CatalogError:
                pass

        # keyword indexes
        for indexName in keywordIndexes:
            try:
                zcat._catalog.addIndex(indexName, makeCaseInsensitiveKeywordIndex(indexName))
                idxs.append(indexName)
            except CatalogError:
                pass

        # permissions
        try:
            zcat._catalog.addIndex('allowedRolesAndUsers', makeCaseSensitiveKeywordIndex('allowedRolesAndUsers'))
            idxs.append('allowedRolesAndUsers')
        except CatalogError:
            pass
        # json in the meta data
        try:
            zcat.addColumn('details')
        except CatalogError:
            pass
        # populate the indexes
        for brain in zcat():
            try:
                brain.getObject().index_object(idxs=idxs, noips=True)
            except TypeError:
                # for upgrade the zenpacks may not have loaded the new code yet
                brain.getObject().index_object(noips=True)
Exemplo n.º 11
0
    def cutover(self, dmd):
        cat = dmd.zport.global_catalog

        try:
            cat.addIndex('macAddresses',
                makeCaseInsensitiveKeywordIndex('macAddresses'))

            if hasattr(cat, 'applyConfig'):
                cat.applyConfig()
        except CatalogError as e:
            if hasattr(dmd.zport, '_hasMacIndex'):
                return

            print "Reindexing.  This may take some time..."
            starttotal = time.time()
            tstart = time.time()
            i = 0
            CHUNK_SIZE = 200 if sys.stdout.isatty() else 25000 # Don't be chatty when logging to file

            fqdns = ('Products.ZenModel.Device.Device',
                     'Products.ZenModel.IpInterface.IpInterface',
                     'ZenPacks.zenoss.ZenVMware.VMwareGuest.VMwareGuest',
                     'ZenPacks.zenoss.vCloud.VM.VM',)

            results = ICatalogTool(dmd).search(fqdns[1:])
            for brain in results.results:
                i += 1

                try:
                    obj = brain.getObject()
                except Exception as e:
                    log.exception("Cannot find object at path %s", brain.getPath())
                    cat.uncatalog_object(brain.getPath())
                    continue

                obj.index_object()
                cat.catalog_object(obj)
                log.debug("Catalogued object %s", obj.absolute_url_path())

                if i % CHUNK_SIZE == 0:
                    self.log_progress("rate=%.2f/sec count=%d" % 
                        (CHUNK_SIZE/(time.time() - tstart), i))
                    tstart = time.time()

            results = ICatalogTool(dmd).search(fqdns)
            for brain in results.results:
                i += 1
                
                try:
                    obj = brain.getObject()
                except Exception as e:
                    log.exception("Cannot find object at path %s", brain.getPath())
                    cat.uncatalog_object(brain.getPath())
                    continue

                cat.catalog_object(obj)
                log.debug("Catalogued object %s", obj.absolute_url_path())

                if i % CHUNK_SIZE == 0:
                    self.log_progress("rate=%.2f/sec count=%d" % 
                        (CHUNK_SIZE/(time.time() - tstart), i))
                    tstart = time.time()

            print
            log.info("Finished total time=%.2f rate=%.2f count=%d",
                time.time()-starttotal, i/(time.time()-starttotal), i)
            setattr(dmd.zport, '_hasMacIndex', True)
Exemplo n.º 12
0
    def cutover(self, dmd):
        cat = dmd.zport.global_catalog

        try:
            cat.addIndex('macAddresses',
                         makeCaseInsensitiveKeywordIndex('macAddresses'))

            if hasattr(cat, 'applyConfig'):
                cat.applyConfig()
        except CatalogError as e:
            if hasattr(dmd.zport, '_hasMacIndex'):
                return

            print "Reindexing.  This may take some time..."
            starttotal = time.time()
            tstart = time.time()
            i = 0
            CHUNK_SIZE = 200 if sys.stdout.isatty(
            ) else 25000  # Don't be chatty when logging to file

            fqdns = (
                'Products.ZenModel.Device.Device',
                'Products.ZenModel.IpInterface.IpInterface',
                'ZenPacks.zenoss.ZenVMware.VMwareGuest.VMwareGuest',
                'ZenPacks.zenoss.vCloud.VM.VM',
            )

            results = ICatalogTool(dmd).search(fqdns[1:])
            for brain in results.results:
                i += 1

                try:
                    obj = brain.getObject()
                except Exception as e:
                    log.exception("Cannot find object at path %s",
                                  brain.getPath())
                    cat.uncatalog_object(brain.getPath())
                    continue

                obj.index_object()
                cat.catalog_object(obj)
                log.debug("Catalogued object %s", obj.absolute_url_path())

                if i % CHUNK_SIZE == 0:
                    self.log_progress("rate=%.2f/sec count=%d" %
                                      (CHUNK_SIZE / (time.time() - tstart), i))
                    tstart = time.time()

            results = ICatalogTool(dmd).search(fqdns)
            for brain in results.results:
                i += 1

                try:
                    obj = brain.getObject()
                except Exception as e:
                    log.exception("Cannot find object at path %s",
                                  brain.getPath())
                    cat.uncatalog_object(brain.getPath())
                    continue

                cat.catalog_object(obj)
                log.debug("Catalogued object %s", obj.absolute_url_path())

                if i % CHUNK_SIZE == 0:
                    self.log_progress("rate=%.2f/sec count=%d" %
                                      (CHUNK_SIZE / (time.time() - tstart), i))
                    tstart = time.time()

            print
            log.info("Finished total time=%.2f rate=%.2f count=%d",
                     time.time() - starttotal, i / (time.time() - starttotal),
                     i)
            setattr(dmd.zport, '_hasMacIndex', True)