Difference between revisions of "ZenDMD Tip - Change Interface Speed"

From Zenoss Wiki
Jump to: navigation, search
(updated entry with warning about running script and updated script entry to latest version)
(Updated script and warning)
 
Line 1: Line 1:
 
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.
 
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!
+
'''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
 
https://github.com/hydruid/zenoss/blob/master/zendmd/interface_speed.zendmd
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
DEVICE = '172.16.41.21'
+
#!/usr/bin/env zendmd
 +
 
 +
DEVICE = 'xensvr02'
 
INTERFACE = 'eth0'
 
INTERFACE = 'eth0'
 
SPEED10Mb = '100000000'
 
SPEED10Mb = '100000000'
Line 15: Line 17:
 
d = dmd.Devices.findDevice(DEVICE)
 
d = dmd.Devices.findDevice(DEVICE)
 
for dev in d.Devices.getSubDevices():
 
for dev in d.Devices.getSubDevices():
     value = d.getProperty(dev)
+
     if dev == d:
    for interface in d.os.interfaces():
+
        value = d.getProperty(dev)
        if interface.id.startswith(INTERFACE):
+
        for interface in d.os.interfaces():
#            print interface.id
+
            if interface.id.startswith(INTERFACE):
#            print interface.speed
+
                print interface.id
            interface.speed = (SPEED)
+
                print interface.speed
            commit ()
+
#                interface.speed = (SPEED)
 +
#                commit ()
 +
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Latest revision as of 18:33, 4 June 2014

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