ZenDMD Tip - Zet manageIp via Host Lookup (A record)

From Zenoss Wiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

The following code will iterate through all devices and perform a lookup of the IP. If the devices manageIp attribute doesn't match its A record it will be updated. Set makeChanges = True if the script does what you expect.

debugIt = True
makeChanges = False
for d in dmd.Devices.getSubDevices():
    sync()
    ipAddr = socket.gethostbyname(d.titleOrId())
    if d.manageIp != ipAddr or debugIt == True:
       print 'Device ID: ' + str(d.titleOrId())
       print 'Device current IP: ' + str(d.manageIp)
       print 'Device new ID: ' + str(ipAddr)
       if makeChanges == True:
          d.setManageIp(ipAddr)
          print 'IP to: ' + str(ipAddr)
          commit()
       else:
          print 'IP to: Unchanged'
       print '-'*80