ia64/xen-unstable

view tools/examples/xmexample2 @ 19835:edfdeb150f27

Fix buildsystem to detect udev > version 124

udev removed the udevinfo symlink from versions higher than 123 and
xen's build-system could not detect if udev is in place and has the
required version.

Signed-off-by: Marc-A. Dahlhaus <mad@wol.de>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Jun 25 13:02:37 2009 +0100 (2009-06-25)
parents 0942baa2a088
children
line source
1 # -*- mode: python; -*-
2 #============================================================================
3 # Example Python setup script for 'xm create'.
4 # This script sets the parameters used when a domain is created using 'xm create'.
5 #
6 # This is a relatively advanced script that uses a parameter, vmid, to control
7 # the settings. So this script can be used to start a set of domains by
8 # setting the vmid parameter on the 'xm create' command line. For example:
9 #
10 # xm create vmid=1
11 # xm create vmid=2
12 # xm create vmid=3
13 #
14 # The vmid is purely a script variable, and has no effect on the the domain
15 # id assigned to the new domain.
16 #============================================================================
18 # Define script variables here.
19 # xm_vars is defined automatically, use xm_vars.var() to define a variable.
21 # This function checks that 'vmid' has been given a valid value.
22 # It is called automatically by 'xm create'.
23 def vmid_check(var, val):
24 val = int(val)
25 if val <= 0:
26 raise ValueError
27 return val
29 # Define the 'vmid' variable so that 'xm create' knows about it.
30 xm_vars.var('vmid',
31 use="Virtual machine id. Integer greater than 0.",
32 check=vmid_check)
34 # Check the defined variables have valid values..
35 xm_vars.check()
37 #----------------------------------------------------------------------------
38 # Kernel image file.
39 kernel = "/boot/vmlinuz-2.6.10-xenU"
41 # Optional ramdisk.
42 #ramdisk = "/boot/initrd.gz"
44 # The domain build function. Default is 'linux'.
45 #builder='linux'
47 # Initial memory allocation (in megabytes) for the new domain.
48 #
49 # WARNING: Creating a domain with insufficient memory may cause out of
50 # memory errors. The domain needs enough memory to boot kernel
51 # and modules. Allocating less than 32MBs is not recommended.
52 memory = 64
54 # A name for the new domain. All domains have to have different names,
55 # so we use the vmid to create a name.
56 name = "VM%d" % vmid
58 # 128-bit UUID for the domain. The default behavior is to generate a new UUID
59 # on each call to 'xm create'.
60 #uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
62 # List of which CPUS this domain is allowed to use, default Xen picks
63 #cpus = "" # leave to Xen to pick
64 #cpus = "0" # all vcpus run on CPU0
65 #cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
66 #cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
67 #cpus = "%s" % vmid # set based on vmid (mod number of CPUs)
69 # Number of Virtual CPUS to use, default is 1
70 #vcpus = 1
71 vcpus = 4 # make your domain a 4-way
73 #----------------------------------------------------------------------------
74 # Define network interfaces.
76 # By default, no network interfaces are configured. You may have one created
77 # with sensible defaults using an empty vif clause:
78 #
79 # vif = [ '' ]
80 #
81 # or optionally override backend, bridge, ip, mac, script, type, or vifname:
82 #
83 # vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ]
84 #
85 # or more than one interface may be configured:
86 #
87 # vif = [ '', 'bridge=xenbr1' ]
89 vif = [ '' ]
91 #----------------------------------------------------------------------------
92 # Define the disk devices you want the domain to have access to, and
93 # what you want them accessible as.
94 # Each disk entry is of the form phy:UNAME,DEV,MODE
95 # where UNAME is the device, DEV is the device name the domain will see,
96 # and MODE is r for read-only, w for read-write.
98 # This makes the disk device depend on the vmid - assuming
99 # that devices sda7, sda8 etc. exist. The device is exported
100 # to all domains as sda1.
101 # All domains get sda6 read-only (to use for /usr, see below).
102 disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
103 'phy:sda6,sda6,r' ]
105 #----------------------------------------------------------------------------
106 # Define frame buffer device.
107 #
108 # By default, no frame buffer device is configured.
109 #
110 # To create one using the SDL backend and sensible defaults:
111 #
112 # vfb = [ 'sdl=1' ]
113 #
114 # This uses environment variables XAUTHORITY and DISPLAY. You
115 # can override that:
116 #
117 # vfb = [ 'sdl=1,xauthority=/home/bozo/.Xauthority,display=:1' ]
118 #
119 # To create one using the VNC backend and sensible defaults:
120 #
121 # vfb = [ 'vnc=1' ]
122 #
123 # The backend listens on 127.0.0.1 port 5900+N by default, where N is
124 # the domain ID. You can override both address and N:
125 #
126 # vfb = [ 'vnc=1,vnclisten=127.0.0.1,vncdisplay=%d' % vmid ]
127 #
128 # Or you can bind the first unused port above 5900:
129 #
130 # vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncunused=1' ]
131 #
132 # You can override the password:
133 #
134 # vfb = [ 'vnc=1,vncpasswd=MYPASSWD' ]
135 #
136 # Empty password disables authentication. Defaults to the vncpasswd
137 # configured in xend-config.sxp.
139 #----------------------------------------------------------------------------
140 # Define to which TPM instance the user domain should communicate.
141 # The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
142 # where INSTANCE indicates the instance number of the TPM the VM
143 # should be talking to and DOM provides the domain where the backend
144 # is located.
145 # Note that no two virtual machines should try to connect to the same
146 # TPM instance. The handling of all TPM instances does require
147 # some management effort in so far that VM configration files (and thus
148 # a VM) should be associated with a TPM instance throughout the lifetime
149 # of the VM / VM configuration file. The instance number must be
150 # greater or equal to 1.
151 #vtpm = ['instance=%d,backend=0' % (vmid) ]
153 #----------------------------------------------------------------------------
154 # Set the kernel command line for the new domain.
155 # You only need to define the IP parameters and hostname if the domain's
156 # IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
157 # You can use 'extra' to set the runlevel and custom environment
158 # variables used by custom rc scripts (e.g. VMID=, usr= ).
160 # Set if you want dhcp to allocate the IP address.
161 #dhcp="dhcp"
162 # Set netmask.
163 #netmask=
164 # Set default gateway.
165 #gateway=
166 # Set the hostname.
167 #hostname= "vm%d" % vmid
169 # Set root device.
170 root = "/dev/sda1 ro"
172 # Root device for nfs.
173 #root = "/dev/nfs"
174 # The nfs server.
175 #nfs_server = '192.0.2.1'
176 # Root directory on the nfs server.
177 #nfs_root = '/full/path/to/root/directory'
179 # Sets runlevel 4 and the device for /usr.
180 extra = "4 VMID=%d usr=/dev/sda6" % vmid
182 #----------------------------------------------------------------------------
183 # Configure the behaviour when a domain exits. There are three 'reasons'
184 # for a domain to stop: poweroff, reboot, and crash. For each of these you
185 # may specify:
186 #
187 # "destroy", meaning that the domain is cleaned up as normal;
188 # "restart", meaning that a new domain is started in place of the old
189 # one;
190 # "preserve", meaning that no clean-up is done until the domain is
191 # manually destroyed (using xm destroy, for example); or
192 # "rename-restart", meaning that the old domain is not cleaned up, but is
193 # renamed and a new domain started in its place.
194 #
195 # In the event a domain stops due to a crash, you have the additional options:
196 #
197 # "coredump-destroy", meaning dump the crashed domain's core and then destroy;
198 # "coredump-restart', meaning dump the crashed domain's core and the restart.
199 #
200 # The default is
201 #
202 # on_poweroff = 'destroy'
203 # on_reboot = 'restart'
204 # on_crash = 'restart'
205 #
206 # For backwards compatibility we also support the deprecated option restart
207 #
208 # restart = 'onreboot' means on_poweroff = 'destroy'
209 # on_reboot = 'restart'
210 # on_crash = 'destroy'
211 #
212 # restart = 'always' means on_poweroff = 'restart'
213 # on_reboot = 'restart'
214 # on_crash = 'restart'
215 #
216 # restart = 'never' means on_poweroff = 'destroy'
217 # on_reboot = 'destroy'
218 # on_crash = 'destroy'
220 #on_poweroff = 'destroy'
221 #on_reboot = 'restart'
222 #on_crash = 'restart'
224 #-----------------------------------------------------------------------------
225 # Configure PVSCSI devices:
226 #
227 #vscsi=[ 'PDEV, VDEV' ]
228 #
229 # PDEV gives physical SCSI device to be attached to specified guest
230 # domain by one of the following identifier format.
231 # - XX:XX:XX:XX (4-tuples with decimal notation which shows
232 # "host:channel:target:lun")
233 # - /dev/sdxx or sdx
234 # - /dev/stxx or stx
235 # - /dev/sgxx or sgx
236 # - result of 'scsi_id -gu -s'.
237 # ex. # scsi_id -gu -s /block/sdb
238 # 36000b5d0006a0000006a0257004c0000
239 #
240 # VDEV gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as
241 # which the specified guest domain recognize.
242 #
244 #vscsi = [ '/dev/sdx, 0:0:0:0' ]
246 #============================================================================