Overview
Comment: | make some commands work. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
fa99d9b0d061c513480a915bc0d337c6 |
User & Date: | vitus on 2015-11-09 15:34:38 |
Other Links: | manifest | tags |
Context
2015-11-09
| ||
18:29 | Fixed running without config file check-in: d4f4a7b3f1 user: vitus tags: trunk | |
15:34 | make some commands work. check-in: fa99d9b0d0 user: vitus tags: trunk | |
2015-07-20
| ||
18:33 | Added example of usb-redirection (1 port) to VM template) check-in: 9cb375894f user: vitus tags: trunk | |
Changes
Added mkvm version [71a7632144].
|
Modified start.template from [c7b07ec5e9] to [8a854bae9d].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | + + + + + + - + | #!/bin/sh # Get machine name from current directory name NAME=$(basename $(pwd)) # if remote access is enabled, then there should be # SPICE_PASSWORD=password QEMU_AUDIO_DRV=spice export QEMU_AUDIO_DRV if [ -n "$SPICE_PASSWORD" ]; then SPICE_AUTH="password=$SPICE_PASSWORD" else SPICE_AUTH="disable-ticketing,addr=127.0.0.1" fi SPICE_PORT=$(find_free_port 5900) if [ "$1" = '-cdrom' ]; then shift CDROM="file=$1" shift fi {qemubinary} -name $NAME {accel} \ -m {memory} {drive} \ |
︙ |
Modified vws from [0fd7f10ab5] to [90a91c6680].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | + + + - + - - - + + + - + - + + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + - + + + + + + + + + + + | #!/usr/bin/python from ConfigParser import ConfigParser from argparse import ArgumentParser import fcntl import socket import errno import re import os,sys config=ConfigParser({"SharedVMs":"/var/cache/vws/shared","AutostartVMs":"/var/cache/vws/auto"}) def find_vm(name): search_path=[os.environ['HOME']+"/VWs", config.get("directories","SharedVMs"), config.get("directories","AutostartVMs")] for dirname in search_path: if name in os.listdir(dirname): return dirname+"/"+name raise ValueError("Machine "+name+" not found.") def connect_vm(vm_dir): sock=socket.socket(socket.AF_UNIX) sock.connect(vm_dir+"/monitor") |
︙ | |||
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | + + + + + + - + - + | config=ConfigParser({'SharedVMs':'/var/cache/vws/shared', 'AuthoStartVMs':'/var/cache/vws/autostart'}) config.read(['/etc/vws.conf',os.environ['HOME']+'/.vwsrc']) args=ArgumentParser() cmds=args.add_subparsers(dest='command',help="sub-command help") p=cmds.add_parser("list",help="List existing VWs") p.add_argument("--state",action='store_const',const=True,default=False, dest='state',help='Show state of the machine') p.add_argument("--addr",action='store_const',const=True,default=False, dest='addr',help='Show mac address and spice port') # Power management p=new_command(cmds,'start',help='Start VM and connect to console') p.add_argument('--no-gui',dest='gui',action='store_const',const=False, default=True,help='do not open console window') p.add_argument('--cdrom',dest='cdrom',nargs=1, help='connect specified iso image to VMs cdrom on start') # Following commands don't need extra args new_command(cmds,'stop',help='Shut down virtual machine') new_command(cmds,'save',help='Save VM state and stop emulation') new_command(cmds,'reset',help='Reboot a guest OS') # Removable devices management p=new_command(cmds,'cdrom',help='manage CDROM Drive') |
︙ | |||
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | + - + + + - + - + | p.add_argument('filename',help='wav file to record autdio to') new_command(cmds,'stoprecord',help='stop recording audio') # Miscellenia p=new_command(cmds,'monitor',help='connect stdin/stdout to monitor of VM') p=new_command(cmds,'spiceuri',help='Output spice URI of machine') parsed_args=args.parse_args(sys.argv[1:]) parsed_args.stopped = False stopped_vm_commands = ['start','snapshot','revert','commit','snapshots'] if hasattr(parsed_args,'machine'): parsed_args.dir=find_vm(parsed_args.machine) try: parsed_args.sock=connect_vm(parsed_args.dir) except IOError as e: if e.errno == errno.ECONNREFUSED: # virtal machine is not running if not parsed_args.command in stopped_vm_commands: print >>sys.stderr, "Virtual machine %s is not running."%parsed_args.machine sys.exit(1) |