Difference between revisions of "Talk:QuickBooks support phone number,(1-800-919-0992) QuickBooks technical support phone number, QuickBooks customer support phone number,"

From Zenoss Wiki
Jump to: navigation, search
Line 1: Line 1:
 +
[[File:Gvit logo.png|unframed|right|alt=DevOps and Security services|Go Vanguard devops and security services|link=http://gvit.com]]
 +
 
As the zenoss user on the ZenMaster, zendmd.
 
As the zenoss user on the ZenMaster, zendmd.
  
Line 40: Line 42:
 
             print "...but doItForReal was set to False so the changes are not commited"
 
             print "...but doItForReal was set to False so the changes are not commited"
 
     else:
 
     else:
         print "Congrats! Your ass is clean! Nothing showed up during the scan for duplicated %s objects." % (typeToFix['id'])
+
         print "Congrats! You're clean! Nothing showed up during the scan for duplicated %s objects." % (typeToFix['id'])
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 04:06, 31 October 2015

DevOps and Security services

As the zenoss user on the ZenMaster, zendmd.

Copy and paste in the following definition:

## Copyright 2015 GoVanguard Inc. Written by Shane William Scott. http://gvit.com
def exciseObjectTumor(deviceOrganizerToSearch = '/zport/dmd/Devices', typeToFix = {'meta_type': 'Software', 'id': 'os'}, doItForReal = False):
    sync()
    problemsFound = 0
    if deviceOrganizerToSearch != None and typeToFix.has_key('id'):
        print "Getting organizer..."
        organizerOb = dmd.Devices.getOrganizer(deviceOrganizerToSearch)
        if organizerOb:
            print "Collecting device list..."
            devicesToSearch = organizerOb.getSubDevices()
    if len(devicesToSearch) > 0:
        print 'Searching %s devices in %s for duplicates of %s in _objects...' % (str(len(devicesToSearch)), deviceOrganizerToSearch, str(typeToFix['id']))
        for d in devicesToSearch:
            obs = []
            oldObs = d._objects
            newObs = None
            obsCount = 0
            for ob in oldObs:
                if ob['id'] == typeToFix['id']:
                    obsCount = obsCount + 1
                    continue
                obs.append(ob)
            obs.append(typeToFix)
            if obsCount > 1:
                problemsFound = problemsFound + 1
                print "Device %s has too many %s obs in _objects. Fixing." % (d.titleOrId(), typeToFix['id'])
                newObs = tuple(obs)
                d._objects = newObs
                if doItForReal == True:
                    commit()
    else:
        print "No devices scanned."
    if problemsFound > 0:
        print "Found and cut out a total of %s %s object duplicates." % (str(problemsFound), typeToFix['id'])
        if doItForReal == False:
            print "...but doItForReal was set to False so the changes are not commited"
    else:
        print "Congrats! You're clean! Nothing showed up during the scan for duplicated %s objects." % (typeToFix['id'])

Execute the method supplying the object dictionary exhibiting duplication. Pass doItForReal to 'True' for actions to be committed. Actions are not committed by default.

Examples:

exciseObjectTumor(typeToFix = {'meta_type': 'Software', 'id': 'os'}, doItForReal = True)
exciseObjectTumor(typeToFix = {'meta_type': 'DeviceHW', 'id': 'hw'}, doItForReal = True)
exciseObjectTumor(typeToFix = {'meta_type': 'ZCatalog', 'id': 'componentSearch'}, doItForReal = True)