ia64/xen-unstable

view tools/examples/xmexample2 @ 8964:8946b6dcd49e

Fix x86_64 Xen build.

event_callback_cs and failsafe_callback_cs are x86_32 only.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
author Ian.Campbell@xensource.com
date Wed Feb 22 17:26:39 2006 +0000 (2006-02-22)
parents 55d464295da3
children bdcc838b9a72
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 memory = 64
50 # A name for the new domain. All domains have to have different names,
51 # so we use the vmid to create a name.
52 name = "VM%d" % vmid
54 # List of which CPUS this domain is allowed to use, default Xen picks
55 #cpus = "" # leave to Xen to pick
56 #cpus = "0" # all vcpus run on CPU0
57 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5
58 #cpus = "%s" % vmid # set based on vmid (mod number of CPUs)
60 # Number of Virtual CPUS to use, default is 1
61 #vcpus = 1
62 vcpus = 4 # make your domain a 4-way
64 #----------------------------------------------------------------------------
65 # Define network interfaces.
67 # By default, no network interfaces are configured. You may have one created
68 # with sensible defaults using an empty vif clause:
69 #
70 # vif = [ '' ]
71 #
72 # or optionally override backend, bridge, ip, mac, script, type, or vifname:
73 #
74 # vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ]
75 #
76 # or more than one interface may be configured:
77 #
78 # vif = [ '', 'bridge=xenbr1' ]
80 vif = [ '' ]
82 #----------------------------------------------------------------------------
83 # Define the disk devices you want the domain to have access to, and
84 # what you want them accessible as.
85 # Each disk entry is of the form phy:UNAME,DEV,MODE
86 # where UNAME is the device, DEV is the device name the domain will see,
87 # and MODE is r for read-only, w for read-write.
89 # This makes the disk device depend on the vmid - assuming
90 # that devices sda7, sda8 etc. exist. The device is exported
91 # to all domains as sda1.
92 # All domains get sda6 read-only (to use for /usr, see below).
93 disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
94 'phy:sda6,sda6,r' ]
96 #----------------------------------------------------------------------------
97 # Define to which TPM instance the user domain should communicate.
98 # The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
99 # where INSTANCE indicates the instance number of the TPM the VM
100 # should be talking to and DOM provides the domain where the backend
101 # is located.
102 # Note that no two virtual machines should try to connect to the same
103 # TPM instance. The handling of all TPM instances does require
104 # some management effort in so far that VM configration files (and thus
105 # a VM) should be associated with a TPM instance throughout the lifetime
106 # of the VM / VM configuration file. The instance number must be
107 # greater or equal to 1.
108 #vtpm = ['instance=%d,backend=0' % (vmid) ]
110 #----------------------------------------------------------------------------
111 # Set the kernel command line for the new domain.
112 # You only need to define the IP parameters and hostname if the domain's
113 # IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
114 # You can use 'extra' to set the runlevel and custom environment
115 # variables used by custom rc scripts (e.g. VMID=, usr= ).
117 # Set if you want dhcp to allocate the IP address.
118 #dhcp="dhcp"
119 # Set netmask.
120 #netmask=
121 # Set default gateway.
122 #gateway=
123 # Set the hostname.
124 #hostname= "vm%d" % vmid
126 # Set root device.
127 root = "/dev/sda1 ro"
129 # Root device for nfs.
130 #root = "/dev/nfs"
131 # The nfs server.
132 #nfs_server = '169.254.1.0'
133 # Root directory on the nfs server.
134 #nfs_root = '/full/path/to/root/directory'
136 # Sets runlevel 4 and the device for /usr.
137 extra = "4 VMID=%d usr=/dev/sda6" % vmid
139 #----------------------------------------------------------------------------
140 # Configure the behaviour when a domain exits. There are three 'reasons'
141 # for a domain to stop: poweroff, reboot, and crash. For each of these you
142 # may specify:
143 #
144 # "destroy", meaning that the domain is cleaned up as normal;
145 # "restart", meaning that a new domain is started in place of the old
146 # one;
147 # "preserve", meaning that no clean-up is done until the domain is
148 # manually destroyed (using xm destroy, for example); or
149 # "rename-restart", meaning that the old domain is not cleaned up, but is
150 # renamed and a new domain started in its place.
151 #
152 # The default is
153 #
154 # on_poweroff = 'destroy'
155 # on_reboot = 'restart'
156 # on_crash = 'restart'
157 #
158 # For backwards compatibility we also support the deprecated option restart
159 #
160 # restart = 'onreboot' means on_poweroff = 'destroy'
161 # on_reboot = 'restart'
162 # on_crash = 'destroy'
163 #
164 # restart = 'always' means on_poweroff = 'restart'
165 # on_reboot = 'restart'
166 # on_crash = 'restart'
167 #
168 # restart = 'never' means on_poweroff = 'destroy'
169 # on_reboot = 'destroy'
170 # on_crash = 'destroy'
172 #on_poweroff = 'destroy'
173 #on_reboot = 'restart'
174 #on_crash = 'restart'
176 #============================================================================