summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/xen/files/machine.include
blob: 06848949278645a115aa27b758f37bf5ca221b4e (plain) (blame)
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
128
129
130
131
132
133
134
135
136
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
# This is an machine template for run-virt.include of the Xen plugin.
# This template was taken from an example in openSUSE 11.2

cat <<EOF
#  -*- mode: python; -*-
#============================================================================
# Python configuration setup for 'xm create'.
# This configuration was created through $0 on $(date)
#============================================================================

#----------------------------------------------------------------------------
# Kernel image file and (optional) ramdisk (initrd).
kernel = "${xen_kernel}"
ramdisk = "${xen_ramdisk}"

# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS
#bootloader = "/usr/lib/xen/boot/domUloader.py"
#bootentry = "hda1:/${xen_kernel},/${xen_ramdisk}"
# TODO: check these:
#bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"

localtime=0

# The domain build function. Default is 'linux', HVM domain uses 'hvm'.
builder = 'linux'

# Initial memory allocation (in megabytes) for the new domain.
memory = ${mem}

# A name for your domain. All domains must have different names.
name = "${vm_name}"

# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = ""         # leave to Xen to pick
#cpus = "0"        # all vcpus run on CPU0
#cpus = "0-3,5,^1" # run on cpus 0,2,3,5
#cpus = "${xen_cpus}"

# Number of Virtual CPUS to use, default is 1
#vcpus = ${xen_vcpus}

#----------------------------------------------------------------------------
# Define network interfaces.

# By default, no network interfaces are configured. You may have one created
# with sensible defaults using an empty vif clause:
# vif = [ '' ]
# or optionally override backend, bridge, ip, mac, script, type, or vifname:
# vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ]
# or more than one interface may be configured:
# vif = [ '', 'bridge=xenbr1' ]
vif = [ '${xen_vif}' ]

#----------------------------------------------------------------------------
# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.
# disk = [ 'phy:hda1,hda1,w' ]
${xen_disk}

#----------------------------------------------------------------------------
# Define frame buffer device.
# By default, no frame buffer device is configured.
# To create one using the SDL backend and sensible defaults:
# vfb = [ 'type=sdl' ]
# This uses environment variables XAUTHORITY and DISPLAY.  You
# can override that:
# vfb = [ 'type=sdl,xauthority=/home/bozo/.Xauthority,display=:1' ]
# To create one using the VNC backend and sensible defaults:
# vfb = [ 'type=vnc' ]
# The backend listens on 127.0.0.1 port 5900+N by default, where N is
# the domain ID.  You can override both address and N:
# vfb = [ 'type=vnc,vnclisten=127.0.0.1,vncdisplay=1' ]
# Or you can bind the first unused port above 5900:
# vfb = [ 'type=vnc,vnclisten=0.0.0.0,vnunused=1' ]
# You can override the password:
# vfb = [ 'type=vnc,vncpasswd=MYPASSWD' ]
# Empty password disables authentication.  Defaults to the vncpasswd
# configured in xend-config.sxp.

#----------------------------------------------------------------------------
# Define to which TPM instance the user domain should communicate.
# The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
# where INSTANCE indicates the instance number of the TPM the VM
# should be talking to and DOM provides the domain where the backend
# is located.
# Note that no two virtual machines should try to connect to the same
# TPM instance. The handling of all TPM instances does require
# some management effort in so far that VM configration files (and thus
# a VM) should be associated with a TPM instance throughout the lifetime
# of the VM / VM configuration file. The instance number must be
# greater or equal to 1.
#vtpm = [ 'instance=1,backend=0' ]

#----------------------------------------------------------------------------
# Set the kernel command line for the new domain.
# You only need to define the IP parameters and hostname if the domain's
# IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
# You can use 'extra' to set the runlevel and custom environment
# variables used by custom rc scripts (e.g. VMID=, usr= ).

# Set if you want dhcp to allocate the IP address.
dhcp="${xen_dhcp}"
# Set netmask.
#netmask=
# Set default gateway.
#gateway=
# Set the hostname.
hostname= "${hostname}"

# Set root device (eg. /dev/hda1).
root = "${xen_root}"

# Root device for nfs.
#root = "/dev/nfs"
# The nfs server.
#nfs_server = '169.254.1.0'  
# Root directory on the nfs server.
#nfs_root   = '/full/path/to/root/directory'

# Extra arguments to pass to the kernel.
# Eg: set runlevel
extra = "${xen_extra}"

#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits.  There are three 'reasons'
# for a domain to stop: poweroff, reboot, and crash.  For each of these you
# may specify:
#   "destroy",        meaning that the domain is cleaned up as normal;
#   "restart",        meaning that a new domain is started in place of the old
#                     one;
#   "preserve",       meaning that no clean-up is done until the domain is
#                     manually destroyed (using xm destroy, for example); or
#   "rename-restart", meaning that the old domain is not cleaned up, but is
#                     renamed and a new domain started in its place.
# In the event a domain stops due to a crash, you have the additional options:
#   "coredump-destroy", meaning dump the crashed domain's core and then destroy;
#   "coredump-restart', meaning dump the crashed domain's core and the restart.
# The default is
#   on_poweroff = 'destroy'
#   on_reboot   = 'restart'
#   on_crash    = 'restart'
#on_poweroff = 'destroy'
#on_reboot   = 'restart'
#on_crash    = 'restart'

#-----------------------------------------------------------------------------
#   Configure PVSCSI devices:
#   PDEV   gives physical SCSI device to be attached to specified guest
#          domain by one of the following identifier format.
#          - XX:XX:XX:XX (4-tuples with decimal notation which shows
#                          "host:channel:target:lun")
#          - /dev/sdxx or sdx
#          - /dev/stxx or stx
#          - /dev/sgxx or sgx
#          - result of 'scsi_id -gu -s'.
#            ex. # scsi_id -gu -s /block/sdb
#                  36000b5d0006a0000006a0257004c0000
#   VDEV   gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as 
#          which the specified guest domain recognize.
#vscsi = [ 'PDEV, VDEV' ]
#vscsi = [ '/dev/sdx, 0:0:0:0' ]

#============================================================================
EOF