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 updateNetworkCatalog(self, zcat):
        idxs = []
        # field indexes
        for indexName in fieldIndexes:
            try:
                zcat._catalog.addIndex(
                    indexName, makeCaseInsensitiveFieldIndex(indexName))
                idxs.append(indexName)
            except CatalogError:
                pass
        try:
            zcat._catalog.addIndex(
                'ipAddressAsInt',
                makeCaseSensitiveFieldIndex('ipAddressAsInt'))
            idxs.append(indexName)
        except CatalogError:
            pass

        # permissions
        try:
            zcat._catalog.addIndex(
                'allowedRolesAndUsers',
                makeCaseSensitiveKeywordIndex('allowedRolesAndUsers'))
            idxs.append('allowedRolesAndUsers')
        except CatalogError:
            pass
        # path index
        try:
            zcat._catalog.addIndex('path', makeMultiPathIndex('path'))
            idxs.append('path')
        except CatalogError:
            pass

        # json in the meta data
        try:
            zcat.addColumn('details')
        except CatalogError:
            pass

        i = 0
        tstart = time.time()
        starttotal = time.time()
        for brain in zcat():
            obj = brain.getObject()
            # we don't want to reindex the links on migrate so explicitly index
            # from the catalog
            obj.index_object(idxs=idxs)
            i += 1
            if i % 200 == 0:
                log.info("rate=%.2f/sec count=%d",
                         200 / (time.time() - tstart), i)
                tstart = time.time()
        log.info("Finished total time=%.2f rate=%.2f count=%d",
                 time.time() - starttotal, i / (time.time() - starttotal), i)
    def updateNetworkCatalog(self, zcat):
        idxs = []
        # field indexes
        for indexName in fieldIndexes:
            try:
                zcat._catalog.addIndex(indexName, makeCaseInsensitiveFieldIndex(indexName))
                idxs.append(indexName)
            except CatalogError:
                pass
        try:
            zcat._catalog.addIndex('ipAddressAsInt',  makeCaseSensitiveFieldIndex('ipAddressAsInt'))
            idxs.append(indexName)
        except CatalogError:
            pass

        # permissions
        try:
            zcat._catalog.addIndex('allowedRolesAndUsers', makeCaseSensitiveKeywordIndex('allowedRolesAndUsers'))
            idxs.append('allowedRolesAndUsers')
        except CatalogError:
            pass
        # path index
        try:
            zcat._catalog.addIndex('path', makeMultiPathIndex('path'))
            idxs.append('path')
        except CatalogError:
            pass

        # json in the meta data
        try:
            zcat.addColumn('details')
        except CatalogError:
            pass

        i = 0
        tstart=time.time()
        starttotal = time.time()
        for brain in zcat():
            obj = brain.getObject()
            # we don't want to reindex the links on migrate so explicitly index
            # from the catalog
            obj.index_object(idxs=idxs)
            i+=1
            if i % 200 == 0:
                log.info("rate=%.2f/sec count=%d", 200/(time.time()-tstart), i)
                tstart=time.time()
        log.info("Finished total time=%.2f rate=%.2f count=%d",
                time.time()-starttotal, i/(time.time()-starttotal),i)
Exemplo n.º 5
0
    def createCatalog(self):
        """Create a catalog for EventClassRecord 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('productKeys',
                     makeCaseSensitiveKeywordIndex('productKeys'))
        cat.addIndex('meta_type', makeCaseInsensitiveFieldIndex('meta_type'))
        cat.addIndex('getManufacturerName',
                     makeCaseInsensitiveFieldIndex('getManufacturerName'))
        cat.addIndex('isOS', FieldIndex('isOS'))
        zcat.addColumn('getPrimaryId')
        zcat.addColumn('id')
    def createCatalog(self):
        """Create a catalog for EventClassRecord 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('productKeys',
            makeCaseSensitiveKeywordIndex('productKeys'))
        cat.addIndex('meta_type',
            makeCaseInsensitiveFieldIndex('meta_type'))
        cat.addIndex('getManufacturerName',
            makeCaseInsensitiveFieldIndex('getManufacturerName'))
        cat.addIndex('isOS', FieldIndex('isOS'))
        zcat.addColumn('getPrimaryId')
        zcat.addColumn('id')
    def createCatalog(self):
        """make the catalog for device searching"""
        from Products.ZCatalog.ZCatalog import manage_addZCatalog

        # XXX convert to ManagableIndex
        manage_addZCatalog(self, self.default_catalog,
                            self.default_catalog)
        zcat = self._getOb(self.default_catalog)
        cat = zcat._catalog
        cat.addIndex('id', makeCaseInsensitiveFieldIndex('id'))
        zcat.addColumn('getPrimaryId')

        # add new columns
        fieldIndexes = ['getInterfaceName', 'getDeviceName', 'getInterfaceDescription', 'getInterfaceMacAddress']
        for indexName in fieldIndexes:
            zcat._catalog.addIndex(indexName, makeCaseInsensitiveFieldIndex(indexName))
        zcat._catalog.addIndex('allowedRolesAndUsers', makeCaseSensitiveKeywordIndex('allowedRolesAndUsers'))
        zcat._catalog.addIndex('ipAddressAsInt',  makeCaseSensitiveFieldIndex('ipAddressAsInt'))
        zcat._catalog.addIndex('path', makeMultiPathIndex('path'))
        zcat.addColumn('details')
    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)