Overview
| Comment: | Now stop --hard doesn't throw exception. vws list correctly shows user net mode for stopped VM |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
9fea10a8060543df67edc0a056354d1d |
| User & Date: | vitus on 2016-04-15 16:35:33.434 |
| Other Links: | manifest | tags |
Context
|
2016-04-15
| ||
| 16:45 | Added init script check-in: e5502a4893 user: vitus tags: trunk | |
| 16:35 | Now stop --hard doesn't throw exception. vws list correctly shows user net mode for stopped VM check-in: 9fea10a806 user: vitus tags: trunk | |
| 15:15 | Improved docs, removed forgotten debug output check-in: b31d32b79f user: vitus tags: trunk | |
Changes
Modified vws
from [7d117d71fe]
to [8063972d8f].
| ︙ | ︙ | |||
48 49 50 51 52 53 54 |
fcntl.flock(sock, fcntl.LOCK_EX)
try:
sock.send(command + "\n")
answer = ""
while not answer.endswith("(qemu) "):
chunk = sock.recv(1024)
if chunk == '':
| | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
fcntl.flock(sock, fcntl.LOCK_EX)
try:
sock.send(command + "\n")
answer = ""
while not answer.endswith("(qemu) "):
chunk = sock.recv(1024)
if chunk == '':
raise IOError("Unexpected EOF from monitor")
answer += chunk
finally:
fcntl.flock(sock, fcntl.LOCK_UN)
return answer
def spiceurl(sock):
""" Returns spice URI for given (as set of parsed args) VM """
|
| ︙ | ︙ | |||
128 129 130 131 132 133 134 |
answer = send_command(sock, "info block")
return re.search(": /tmp", answer) is not None
def read_netinfo(filename):
""" Reads network information from start script """
with open(filename,"r") as f:
for line in f:
| | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
answer = send_command(sock, "info block")
return re.search(": /tmp", answer) is not None
def read_netinfo(filename):
""" Reads network information from start script """
with open(filename,"r") as f:
for line in f:
match=re.search("-net nic,macaddr=(\\S+) -net ([^, ]+)",line)
if match:
f={"mac":match.group(1)}
if match.group(2) == "user":
f["iface"]="user"
elif match.group(2) == "bridge":
f["iface"]=re.search("br=(\\S+)",line).group(1)
else:
|
| ︙ | ︙ | |||
214 215 216 217 218 219 220 |
os.system((config.get('tools', 'viewer') + "&") % uri)
elif not options.stopped:
print >>sys.stderr, "VM already running"
def cmd_stop(options):
""" vws stop """
if snapshot_mode(options.sock) or options.hard:
| > | > > > > > > | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
os.system((config.get('tools', 'viewer') + "&") % uri)
elif not options.stopped:
print >>sys.stderr, "VM already running"
def cmd_stop(options):
""" vws stop """
if snapshot_mode(options.sock) or options.hard:
try:
send_command(options.sock, 'quit')
except IOError as e:
# Expect IOError here
if e.message.find("EOF from monitor"):
print "monitor socket closed"
else:
raise e
else:
print send_command(options.sock, 'system_powerdown')
def cmd_monitor(options):
""" vws monitor """
try:
print "(qemu) ",
|
| ︙ | ︙ |