Exemple #1
0
    def testUnableToWrite(self):
        """
        Can't write to disk
        """
        # Verify that we're not root first...
        if os.geteuid() == 0:
            print "Can't run testUnableToWrite check if running as root"
            return

        # First override sendEvent
        rimpl = RRDImpl(self.dmd)
        evts = []

        def append(evt):
            if evt['severity'] != 0:
                evts.append(evt)

        rimpl.zem.sendEvent = append

        # Store a value.  As RRDImpl caches references to
        # previously stored writes, this allows us to go
        # behind the scenes to diddle with the underlying
        # RRDUtil object (stored in rimpl.rrd)
        self.assertEquals(rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 66), 66)
        self.assertEquals(len(evts), 0)

        # This will try to create a /.rrd file, which should fail
        for key in rimpl.rrd.keys():
            rimpl.rrd[key].performancePath = lambda (x): "/"

        self.assertEquals(rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 66),
                          None)

        # Now check for our event...
        self.assertNotEquals(len(evts), 0)
Exemple #2
0
    def testThreshold(self):
        """
        Exceed a threshhold
        """
        rimpl = RRDImpl(self.dmd)
        evts = []

        def append(evt):
            if evt['severity'] != 0:
                evts.append(evt)

        oldSendEvent = rimpl.zem.sendEvent
        rimpl.zem.sendEvent = append

        try:
            rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 99)
            self.assert_(len(evts) == 0)

            rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 101)
            self.assert_(len(evts) != 0)
        finally:
            rimpl.zem.sendEvent = oldSendEvent
Exemple #3
0
 def __init__(self, dmd):
     xmlrpc.XMLRPC.__init__(self)
     self.dmd = dmd
     self.zem = dmd.ZenEventManager
     self.impl = RRDImpl(dmd)
Exemple #4
0
 def testGoodRRDSave(self):
     """
     Sanity check to make sure that RRD stores work
     """
     rimpl = RRDImpl(self.dmd)
     rimpl.writeRRD(self.dev.id, '', '', 'ds_dp', 66)