Example #1
0
 def eventInp_inward_relaying_shutdown(self, eventMsg=None):
     """
     forward the event to all objects in this container through the signal filter
     """
     print "Site.eventInp_inward_relaying_shutdown()"
     for name, obj in self.items():
         if ISite.providedBy(obj):
             targetFunctionName = "inward_relaying_shutdown"
         elif IIpNet.providedBy(obj):
             targetFunctionName = "inward_relaying_shutdown"
         else:
             targetFunctionName = None
         if eventMsg is not None:
             inst_event = MsgEvent(senderObj = self,
                                   oidEventObject = eventMsg.oidEventObject,
                                   logText = u"inward relaying by site '%s'"\
                                   % self.ikName,
                                   targetFunctionName = targetFunctionName)
             eventMsg.stopit(self, u"relaying by site '%s'" % self.ikName)
         else:
             inst_event = MsgEvent(senderObj = self,
                                   logText = u"inward relaying by site '%s'"\
                                   % self.ikName,
                                   targetFunctionName = targetFunctionName)
         obj.injectInpEQueue(inst_event)
Example #2
0
 def eventInp_inward_relaying_shutdown(self, eventMsg=None):
     """
     forward the event to all objects in this container through the signal filter
     """
     print "Net.eventInp_inward_relaying_shutdown()"
     for name, obj in self.items():
         # first call
         if INet.providedBy(obj):
             targetFunctionName = "inward_relaying_shutdown"
             logText = u"inward relaying to net '%s'" % obj.ikName
         elif IHostVMwareEsx.providedBy(obj):
             targetFunctionName = "inward_relaying_shutdown"
             logText = u"inward relaying to esx host '%s'" % obj.ikName
         elif IHostVMwareVm.providedBy(obj):
             targetFunctionName = None
         else:
             targetFunctionName = "shutdown"
             logText = u"send shutdown to '%s'" % obj.ikName
         if targetFunctionName is not None:
             if eventMsg is not None:
                 inst_event = MsgEvent(
                     senderObj=self,
                     oidEventObject=eventMsg.oidEventObject,
                     logText=logText,
                     targetFunctionName=targetFunctionName)
                 eventMsg.stopit(self,
                                 u"relaying by site '%s'" % self.ikName)
             else:
                 inst_event = MsgEvent(
                     senderObj=self,
                     logText=logText,
                     targetFunctionName=targetFunctionName)
             obj.injectInpEQueue(inst_event)
         # second call
         if IHostVMwareEsx.providedBy(obj):
             targetFunctionName = "shutdown"
             logText = u"send shutdown to esx host '%s'" % obj.ikName
         else:
             targetFunctionName = None
         if targetFunctionName is not None:
             if eventMsg is not None:
                 inst_event = MsgEvent(
                     senderObj=self,
                     oidEventObject=eventMsg.oidEventObject,
                     logText=logText,
                     targetFunctionName=targetFunctionName)
                 eventMsg.stopit(self,
                                 u"relaying by site '%s'" % self.ikName)
             else:
                 inst_event = MsgEvent(
                     senderObj=self,
                     logText=logText,
                     targetFunctionName=targetFunctionName)
             obj.injectInpEQueue(inst_event)
Example #3
0
 def eventOut_upsmgEnvironmentHumidityOK(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsmgEnvironmentHumidityOK")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsmgEnvironmentHumidityOK:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #4
0
 def eventOut_upsByPassAvailable(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsByPassAvailable")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsByPassAvailable:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #5
0
 def eventOut_upsReturnFromBuck(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsReturnFromBuck")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsReturnFromBuck:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #6
0
 def eventOut_upsExternalAlarmInactive(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsExternalAlarmInactive")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsExternalAlarmInactive:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #7
0
 def eventOut_upsBatteryTestFail(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsBatteryTestFail")
     self.trigger_offline()
     for my_event in self.eventOutObjs_upsBatteryTestFail:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #8
0
 def eventOut_upsDiagnosticTestOK(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsDiagnosticTestOK")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsDiagnosticTestOK:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #9
0
 def eventOut_upsFromLowRecharge(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsFromLowRecharge")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsFromLowRecharge:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #10
0
 def eventOut_upsInputBad(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsInputBad")
     self.trigger_offline()
     for my_event in self.eventOutObjs_upsInputBad:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #11
0
 def eventOut_upsCommunicationRestored(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsCommunicationRestored")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsCommunicationRestored:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #12
0
 def eventOut_upsmgEnvironmentTemperatureHigh(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsmgEnvironmentTemperatureHigh")
     self.trigger_offline()
     for my_event in self.eventOutObjs_upsmgEnvironmentTemperatureHigh:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #13
0
 def eventOut_upsBatteryReplacementNotIndicated(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsBatteryReplacementNotIndicated")
     self.trigger_online()
     for my_event in self.eventOutObjs_upsBatteryReplacementNotIndicated:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #14
0
 def send_event(self, logText=u"event triggered by call of send_event"):
     """ sends an the event to the list of ALL receivers
     """
     for oidPlusFunct in self.outObjects:
         oid = oidPlusFunct.split('.', 2)[0]
         # normal component objects
         my_catalog = zapi.getUtility(ICatalog)
         for resObj in my_catalog.searchResults(oid_index=oid):
             inst_event = MsgEvent(oidEventObject=self.objectID,
                                   logText=logText)
             resObj.injectInpEQueue(inst_event)
Example #15
0
 def eventInp_inward_relaying_shutdown(self, eventMsg=None):
     """
     forward the event to all objects in this container through the signal filter
     """
     if self.inEventMask(eventMsg, testHostGroup=False):
         print "HostVMwareEsx.eventInp_inward_relaying_shutdown() [%s]" % self.ikName
         esx_utility = zapi.getUtility(IAdmUtilEsxVim)
         if esx_utility and len(self.esxUuid) > 0:
             self.appendHistoryEntry("inward relaying shutdown")
             #esx_utility.getFilteredList(self.esxUuid)
             myParams = {\
                 'cmd': 'find_entity_views',
                 'view_type': 'HostSystem',
                 'admUtilEsxVim': esx_utility,
                 'filter': {'name':self.esxUuid},
                 }
             myEsxDict = esx_utility.get_EsxVimObject_Dict(myParams, None)
             if not myEsxDict.has_key(self.esxUuid):
                 print "dont find"
                 return None
             myEsxObj = myEsxDict[self.esxUuid]
             myParams = {\
                 'cmd': 'find_entity_views',
                 'view_type': 'VirtualMachine',
                 'admUtilEsxVim': esx_utility,
                 'begin_entity': myEsxObj.perlEsxObjRef,
                 'filter': {'runtime.powerState':'poweredOn'},
                 }
             myVmDict = esx_utility.get_EsxVimObject_Dict(myParams, None)
             my_catalog = zapi.getUtility(ICatalog)
             if myVmDict is not None and len(myVmDict) > 0:
                 for vmName, vmObj in myVmDict.items():
                     #print "----->", vmObj.uuid
                     res = my_catalog.searchResults(
                         host_vmuuid_index=str(vmObj.uuid))
                     #import pdb
                     #pdb.set_trace()
                     if len(res) > 0:
                         internalVmObj = list(res)[0]
                         #print "ref-->", internalVmObj
                         inst_event = MsgEvent(senderObj = self,
                                               oidEventObject = eventMsg.oidEventObject,
                                               logText = u"inward relaying by esx host '%s'"\
                                               % self.ikName,
                                               targetFunctionName = 'shutdown')
                         internalVmObj.injectInpEQueue(inst_event)
Example #16
0
 def eventOut_1sec(self):
     """ sends one-second event """
     for my_event in self.eventOutObjs_1sec:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #17
0
 def eventOut_pulse(self):
     """ sends pulse event """
     for my_event in self.eventOutObjs_pulse:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #18
0
 def eventOut_delayed(self):
     """ sends delayed event """
     print "EventTimingRelay.eventOut_delayed"
     for my_event in self.eventOutObjs_delayed:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)
Example #19
0
 def eventOut_upsmgEnvironmentInput2Open(self):
     """ sends event (source is snmp """
     self.appendHistoryEntry(u"upsmgEnvironmentInput2Open")
     for my_event in self.eventOutObjs_upsmgEnvironmentInput2Open:
         inst_event = MsgEvent(self, my_event)
         self.injectOutEQueue(inst_event)