ZenDMD Tip - Change Interface Speed

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

The following is a zendmd script to set the speed for an interface of a device. Sometimes after a device is modeled the interface speed can be incorrect.

WARNING: Be careful and remember to take a backup and/or snapshot before running the below script! The options to set the speed and commit the changes have been commented out for your protection.

https://github.com/hydruid/zenoss/blob/master/zendmd/interface_speed.zendmd

#!/usr/bin/env zendmd
 
DEVICE = 'xensvr02'
INTERFACE = 'eth0'
SPEED10Mb = '100000000'
SPEED100Mb = '100000000'
SPEED1Gb = '1000000000'
SPEED10Gb = '10000000000'
SPEED = SPEED10Gb
 
d = dmd.Devices.findDevice(DEVICE)
for dev in d.Devices.getSubDevices():
    if dev == d:
        value = d.getProperty(dev)
        for interface in d.os.interfaces():
            if interface.id.startswith(INTERFACE):
                print interface.id
                print interface.speed
#                interface.speed = (SPEED)
#                commit ()

Don't forget to lock the interface from updates, or once it's remodeled the change will be lost!

http://hydruid-blog.com/?p=675