Example #1
0
File: qm.py Project: GLab/ToMaTo
def start(vmid, detachInterfaces=True):
	vmid = params.convert(vmid, convert=int, gte=1)
	if not net.bridgeExists("dummy"):
		brctl.create("dummy")
	with locks[vmid]:
		_checkStatus(vmid, Status.Stopped)
		_qm(vmid, ActionName.START)
		_checkStatus(vmid, Status.Running)
		try:
			for ifname in _getNicNames(vmid).values():
				wait.waitFor(lambda :net.ifaceExists(ifname), failCond=lambda :_status(vmid) != Status.Running)
				bridge = net.ifaceBridge(ifname)
				if bridge and detachInterfaces:
					brctl.detach(bridge, ifname)
		except:
			stop(vmid)
			raise
Example #2
0
	def start(self, vmid, detachInterfaces=True):
		vmid = params.convert(vmid, convert=int, gte=1)
		if not net.bridgeExists("dummy"):
			brctl.create("dummy")
		with locks[vmid]:
			self._checkStatus(vmid,[StateName.PREPARED])
			self._virsh("start", ["vm_%s" % vmid])
			self._checkStatus(vmid,[StateName.STARTED])
			try:
				for ifname in self._getNicNames(vmid).values():
					wait.waitFor(lambda :net.ifaceExists(ifname), failCond=lambda :self.getState(vmid) != StateName.STARTED)
					bridge = net.ifaceBridge(ifname)
					if bridge and detachInterfaces:
						brctl.detach(bridge, ifname)
			except:
				self._virsh("destroy", ["vm_%s" % vmid])
				raise
Example #3
0
def start(vmid, detachInterfaces=True):
    vmid = params.convert(vmid, convert=int, gte=1)
    if not net.bridgeExists("dummy"):
        brctl.create("dummy")
    with locks[vmid]:
        _checkStatus(vmid, Status.Stopped)
        _qm(vmid, ActionName.START)
        _checkStatus(vmid, Status.Running)
        try:
            for ifname in _getNicNames(vmid).values():
                wait.waitFor(lambda: net.ifaceExists(ifname),
                             failCond=lambda: _status(vmid) != Status.Running)
                bridge = net.ifaceBridge(ifname)
                if bridge and detachInterfaces:
                    brctl.detach(bridge, ifname)
        except:
            stop(vmid)
            raise
Example #4
0
 def start(self, vmid, detachInterfaces=True):
     vmid = params.convert(vmid, convert=int, gte=1)
     if not net.bridgeExists("dummy"):
         brctl.create("dummy")
     with locks[vmid]:
         self._checkStatus(vmid, [StateName.PREPARED])
         self._virsh("start", ["vm_%s" % vmid])
         self._checkStatus(vmid, [StateName.STARTED])
         try:
             for ifname in self._getNicNames(vmid).values():
                 wait.waitFor(lambda: net.ifaceExists(ifname),
                              failCond=lambda: self.getState(vmid) !=
                              StateName.STARTED)
                 bridge = net.ifaceBridge(ifname)
                 if bridge and detachInterfaces:
                     brctl.detach(bridge, ifname)
         except:
             self._virsh("destroy", ["vm_%s" % vmid])
             raise