ia64/xen-unstable

view tools/examples/xmexample2 @ 6946:e703abaf6e3d

Add behaviour to the remove methods to remove the transaction's path itself. This allows us to write Remove(path) to remove the specified path rather than having to slice the path ourselves.
author emellor@ewan
date Sun Sep 18 14:42:13 2005 +0100 (2005-09-18)
parents 3233e7ecfa9f
children 06d84bf87159
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 # Which CPU to start domain on?
55 #cpu = -1 # leave to Xen to pick
56 cpu = vmid # set based on vmid (mod number of CPUs)
58 # Number of Virtual CPUS to use, default is 1
59 #vcpus = 1
60 vcpus = 4 # make your domain a 4-way
62 #----------------------------------------------------------------------------
63 # Define network interfaces.
65 # Number of network interfaces. Default is 1.
66 #nics=1
68 # Optionally define mac and/or bridge for the network interfaces.
69 # Random MACs are assigned if not given.
70 #vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ]
72 #----------------------------------------------------------------------------
73 # Define the disk devices you want the domain to have access to, and
74 # what you want them accessible as.
75 # Each disk entry is of the form phy:UNAME,DEV,MODE
76 # where UNAME is the device, DEV is the device name the domain will see,
77 # and MODE is r for read-only, w for read-write.
79 # This makes the disk device depend on the vmid - assuming
80 # that devices sda7, sda8 etc. exist. The device is exported
81 # to all domains as sda1.
82 # All domains get sda6 read-only (to use for /usr, see below).
83 disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
84 'phy:sda6,sda6,r' ]
86 #----------------------------------------------------------------------------
87 # Define to which TPM instance the user domain should communicate.
88 # The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
89 # where INSTANCE indicates the instance number of the TPM the VM
90 # should be talking to and DOM provides the domain where the backend
91 # is located.
92 # Note that no two virtual machines should try to connect to the same
93 # TPM instance. The handling of all TPM instances does require
94 # some management effort in so far that VM configration files (and thus
95 # a VM) should be associated with a TPM instance throughout the lifetime
96 # of the VM / VM configuration file. The instance number must be
97 # greater or equal to 1.
98 #vtpm = ['instance=%d,backend=0' % (vmid) ]
100 #----------------------------------------------------------------------------
101 # Set the kernel command line for the new domain.
102 # You only need to define the IP parameters and hostname if the domain's
103 # IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
104 # You can use 'extra' to set the runlevel and custom environment
105 # variables used by custom rc scripts (e.g. VMID=, usr= ).
107 # Set if you want dhcp to allocate the IP address.
108 #dhcp="dhcp"
109 # Set netmask.
110 #netmask=
111 # Set default gateway.
112 #gateway=
113 # Set the hostname.
114 #hostname= "vm%d" % vmid
116 # Set root device.
117 root = "/dev/sda1 ro"
119 # Root device for nfs.
120 #root = "/dev/nfs"
121 # The nfs server.
122 #nfs_server = '169.254.1.0'
123 # Root directory on the nfs server.
124 #nfs_root = '/full/path/to/root/directory'
126 # Sets runlevel 4 and the device for /usr.
127 extra = "4 VMID=%d usr=/dev/sda6" % vmid
129 #----------------------------------------------------------------------------
130 # Set according to whether you want the domain restarted when it exits.
131 # The default is 'onreboot', which restarts the domain when it shuts down
132 # with exit code reboot.
133 # Other values are 'always', and 'never'.
135 #restart = 'onreboot'
137 #============================================================================