Example #1
0
	def processUpdateVMsList(server,vmList):
		try:
			from vt_manager_kvm.models.VirtualMachine import VirtualMachine
			for vm in server.getChildObject().vms.all():
				isUp = False
				for iVm in vmList:
					if iVm.uuid == vm.uuid:
						#Is running
						vm.setState(VirtualMachine.RUNNING_STATE)
						isUp = True
						break
				ZabbixHelper.sendVMStatus(vm, isUp)
				if isUp:
					continue

				#Is not running
				vm.setState(VirtualMachine.STOPPED_STATE)
		finally:
			connection.close()
		return
Example #2
0
	def processUpdateVMsListFromCallback(vmUUID,state,rspec):
		from vt_manager_kvm.models.VirtualMachine import VirtualMachine
		try:
			VM = VirtualMachine.objects.get(uuid = vmUUID)
		except Exception as e:
			VMMonitor.logger.error(traceback.format_exc())
			raise e
		if state == 'Started':
			VM.setState(VirtualMachine.RUNNING_STATE)
			ZabbixHelper.sendVMStatus(VM, True)
		elif state == 'Stopped':
			VM.setState(VirtualMachine.STOPPED_STATE)
			ZabbixHelper.sendVMStatus(VM, False)
		else:
			VM.setState(VirtualMachine.UNKNOWN_STATE)
			ZabbixHelper.sendVMStatus(VM, False)
		
		#XXX: Maybe there better palces to send to expedient this update state...	
		XmlRpcClient.callRPCMethod(VM.getCallBackURL(), "sendAsync", XmlHelper.craftXmlClass(rspec))
		return