summaryrefslogtreecommitdiffstats
path: root/recipes-virtualization
diff options
context:
space:
mode:
authorTing Liu <b28495@freescale.com>2014-07-24 15:48:16 +0800
committerZhenhua Luo <zhenhua.luo@freescale.com>2014-07-29 17:24:45 +0800
commit512afc7c5cc481916241fd2dee20aec44ea6f2b4 (patch)
tree705010789c0c3d489e87a4aeffad7bf1099e8d10 /recipes-virtualization
parent229689b0a4471a971294f063b6dadc3cebe09115 (diff)
downloadmeta-fsl-ppc-512afc7c5cc481916241fd2dee20aec44ea6f2b4.tar.gz
libvirt: add bbappend for qoriq-ppc customizations
* add customized qemu.conf to enable cgroup device and add /dev/net/tun device as cgroup * add customized PKGCONFIG as not all features supported on ppc boards. Signed-off-by: Ting Liu <b28495@freescale.com>
Diffstat (limited to 'recipes-virtualization')
-rw-r--r--recipes-virtualization/libvirt/libvirt/qoriq-ppc/qemu.conf465
-rw-r--r--recipes-virtualization/libvirt/libvirt_%.bbappend9
2 files changed, 474 insertions, 0 deletions
diff --git a/recipes-virtualization/libvirt/libvirt/qoriq-ppc/qemu.conf b/recipes-virtualization/libvirt/libvirt/qoriq-ppc/qemu.conf
new file mode 100644
index 0000000..cc22fa1
--- /dev/null
+++ b/recipes-virtualization/libvirt/libvirt/qoriq-ppc/qemu.conf
@@ -0,0 +1,465 @@
1# Master configuration file for the QEMU driver.
2# All settings described here are optional - if omitted, sensible
3# defaults are used.
4
5# VNC is configured to listen on 127.0.0.1 by default.
6# To make it listen on all public interfaces, uncomment
7# this next option.
8#
9# NB, strong recommendation to enable TLS + x509 certificate
10# verification when allowing public access
11#
12#vnc_listen = "0.0.0.0"
13
14# Enable this option to have VNC served over an automatically created
15# unix socket. This prevents unprivileged access from users on the
16# host machine, though most VNC clients do not support it.
17#
18# This will only be enabled for VNC configurations that do not have
19# a hardcoded 'listen' or 'socket' value. This setting takes preference
20# over vnc_listen.
21#
22#vnc_auto_unix_socket = 1
23
24# Enable use of TLS encryption on the VNC server. This requires
25# a VNC client which supports the VeNCrypt protocol extension.
26# Examples include vinagre, virt-viewer, virt-manager and vencrypt
27# itself. UltraVNC, RealVNC, TightVNC do not support this
28#
29# It is necessary to setup CA and issue a server certificate
30# before enabling this.
31#
32#vnc_tls = 1
33
34
35# Use of TLS requires that x509 certificates be issued. The
36# default it to keep them in /etc/pki/libvirt-vnc. This directory
37# must contain
38#
39# ca-cert.pem - the CA master certificate
40# server-cert.pem - the server certificate signed with ca-cert.pem
41# server-key.pem - the server private key
42#
43# This option allows the certificate directory to be changed
44#
45#vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc"
46
47
48# The default TLS configuration only uses certificates for the server
49# allowing the client to verify the server's identity and establish
50# an encrypted channel.
51#
52# It is possible to use x509 certificates for authentication too, by
53# issuing a x509 certificate to every client who needs to connect.
54#
55# Enabling this option will reject any client who does not have a
56# certificate signed by the CA in /etc/pki/libvirt-vnc/ca-cert.pem
57#
58#vnc_tls_x509_verify = 1
59
60
61# The default VNC password. Only 8 letters are significant for
62# VNC passwords. This parameter is only used if the per-domain
63# XML config does not already provide a password. To allow
64# access without passwords, leave this commented out. An empty
65# string will still enable passwords, but be rejected by QEMU,
66# effectively preventing any use of VNC. Obviously change this
67# example here before you set this.
68#
69#vnc_password = "XYZ12345"
70
71
72# Enable use of SASL encryption on the VNC server. This requires
73# a VNC client which supports the SASL protocol extension.
74# Examples include vinagre, virt-viewer and virt-manager
75# itself. UltraVNC, RealVNC, TightVNC do not support this
76#
77# It is necessary to configure /etc/sasl2/qemu.conf to choose
78# the desired SASL plugin (eg, GSSPI for Kerberos)
79#
80#vnc_sasl = 1
81
82
83# The default SASL configuration file is located in /etc/sasl2/
84# When running libvirtd unprivileged, it may be desirable to
85# override the configs in this location. Set this parameter to
86# point to the directory, and create a qemu.conf in that location
87#
88#vnc_sasl_dir = "/some/directory/sasl2"
89
90
91# QEMU implements an extension for providing audio over a VNC connection,
92# though if your VNC client does not support it, your only chance for getting
93# sound output is through regular audio backends. By default, libvirt will
94# disable all QEMU sound backends if using VNC, since they can cause
95# permissions issues. Enabling this option will make libvirtd honor the
96# QEMU_AUDIO_DRV environment variable when using VNC.
97#
98#vnc_allow_host_audio = 0
99
100
101
102# SPICE is configured to listen on 127.0.0.1 by default.
103# To make it listen on all public interfaces, uncomment
104# this next option.
105#
106# NB, strong recommendation to enable TLS + x509 certificate
107# verification when allowing public access
108#
109#spice_listen = "0.0.0.0"
110
111
112# Enable use of TLS encryption on the SPICE server.
113#
114# It is necessary to setup CA and issue a server certificate
115# before enabling this.
116#
117#spice_tls = 1
118
119
120# Use of TLS requires that x509 certificates be issued. The
121# default it to keep them in /etc/pki/libvirt-spice. This directory
122# must contain
123#
124# ca-cert.pem - the CA master certificate
125# server-cert.pem - the server certificate signed with ca-cert.pem
126# server-key.pem - the server private key
127#
128# This option allows the certificate directory to be changed.
129#
130#spice_tls_x509_cert_dir = "/etc/pki/libvirt-spice"
131
132
133# The default SPICE password. This parameter is only used if the
134# per-domain XML config does not already provide a password. To
135# allow access without passwords, leave this commented out. An
136# empty string will still enable passwords, but be rejected by
137# QEMU, effectively preventing any use of SPICE. Obviously change
138# this example here before you set this.
139#
140#spice_password = "XYZ12345"
141
142
143# Enable use of SASL encryption on the SPICE server. This requires
144# a SPICE client which supports the SASL protocol extension.
145#
146# It is necessary to configure /etc/sasl2/qemu.conf to choose
147# the desired SASL plugin (eg, GSSPI for Kerberos)
148#
149#spice_sasl = 1
150
151# The default SASL configuration file is located in /etc/sasl2/
152# When running libvirtd unprivileged, it may be desirable to
153# override the configs in this location. Set this parameter to
154# point to the directory, and create a qemu.conf in that location
155#
156#spice_sasl_dir = "/some/directory/sasl2"
157
158
159# By default, if no graphical front end is configured, libvirt will disable
160# QEMU audio output since directly talking to alsa/pulseaudio may not work
161# with various security settings. If you know what you're doing, enable
162# the setting below and libvirt will passthrough the QEMU_AUDIO_DRV
163# environment variable when using nographics.
164#
165#nographics_allow_host_audio = 1
166
167
168# Override the port for creating both VNC and SPICE sessions (min).
169# This defaults to 5900 and increases for consecutive sessions
170# or when ports are occupied, until it hits the maximum.
171#
172# Minimum must be greater than or equal to 5900 as lower number would
173# result into negative vnc display number.
174#
175# Maximum must be less than 65536, because higher numbers do not make
176# sense as a port number.
177#
178#remote_display_port_min = 5900
179#remote_display_port_max = 65535
180
181# VNC WebSocket port policies, same rules apply as with remote display
182# ports. VNC WebSockets use similar display <-> port mappings, with
183# the exception being that ports starts from 5700 instead of 5900.
184#
185#remote_websocket_port_min = 5700
186#remote_websocket_port_max = 65535
187
188# The default security driver is SELinux. If SELinux is disabled
189# on the host, then the security driver will automatically disable
190# itself. If you wish to disable QEMU SELinux security driver while
191# leaving SELinux enabled for the host in general, then set this
192# to 'none' instead. It's also possible to use more than one security
193# driver at the same time, for this use a list of names separated by
194# comma and delimited by square brackets. For example:
195#
196# security_driver = [ "selinux", "apparmor" ]
197#
198# Notes: The DAC security driver is always enabled; as a result, the
199# value of security_driver cannot contain "dac". The value "none" is
200# a special value; security_driver can be set to that value in
201# isolation, but it cannot appear in a list of drivers.
202#
203#security_driver = "selinux"
204
205# If set to non-zero, then the default security labeling
206# will make guests confined. If set to zero, then guests
207# will be unconfined by default. Defaults to 1.
208#security_default_confined = 1
209
210# If set to non-zero, then attempts to create unconfined
211# guests will be blocked. Defaults to 0.
212#security_require_confined = 1
213
214# The user for QEMU processes run by the system instance. It can be
215# specified as a user name or as a user id. The qemu driver will try to
216# parse this value first as a name and then, if the name doesn't exist,
217# as a user id.
218#
219# Since a sequence of digits is a valid user name, a leading plus sign
220# can be used to ensure that a user id will not be interpreted as a user
221# name.
222#
223# Some examples of valid values are:
224#
225# user = "qemu" # A user named "qemu"
226# user = "+0" # Super user (uid=0)
227# user = "100" # A user named "100" or a user with uid=100
228#
229#user = "root"
230
231# The group for QEMU processes run by the system instance. It can be
232# specified in a similar way to user.
233#group = "root"
234
235# Whether libvirt should dynamically change file ownership
236# to match the configured user/group above. Defaults to 1.
237# Set to 0 to disable file ownership changes.
238#dynamic_ownership = 1
239
240
241# What cgroup controllers to make use of with QEMU guests
242#
243# - 'cpu' - use for schedular tunables
244# - 'devices' - use for device whitelisting
245# - 'memory' - use for memory tunables
246# - 'blkio' - use for block devices I/O tunables
247# - 'cpuset' - use for CPUs and memory nodes
248# - 'cpuacct' - use for CPUs statistics.
249#
250# NB, even if configured here, they won't be used unless
251# the administrator has mounted cgroups, e.g.:
252#
253# mkdir /dev/cgroup
254# mount -t cgroup -o devices,cpu,memory,blkio,cpuset none /dev/cgroup
255#
256# They can be mounted anywhere, and different controllers
257# can be mounted in different locations. libvirt will detect
258# where they are located.
259#
260#cgroup_controllers = [ "cpu", "devices", "memory", "blkio", "cpuset", "cpuacct" ]
261
262# This is the basic set of devices allowed / required by
263# all virtual machines.
264#
265# As well as this, any configured block backed disks,
266# all sound device, and all PTY devices are allowed.
267#
268# This will only need setting if newer QEMU suddenly
269# wants some device we don't already know about.
270#
271cgroup_device_acl = [
272 "/dev/null", "/dev/full", "/dev/zero",
273 "/dev/random", "/dev/urandom",
274 "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
275 "/dev/rtc", "/dev/hpet", "/dev/vfio/vfio", "/dev/net/tun"
276]
277
278
279# The default format for Qemu/KVM guest save images is raw; that is, the
280# memory from the domain is dumped out directly to a file. If you have
281# guests with a large amount of memory, however, this can take up quite
282# a bit of space. If you would like to compress the images while they
283# are being saved to disk, you can also set "lzop", "gzip", "bzip2", or "xz"
284# for save_image_format. Note that this means you slow down the process of
285# saving a domain in order to save disk space; the list above is in descending
286# order by performance and ascending order by compression ratio.
287#
288# save_image_format is used when you use 'virsh save' or 'virsh managedsave'
289# at scheduled saving, and it is an error if the specified save_image_format
290# is not valid, or the requested compression program can't be found.
291#
292# dump_image_format is used when you use 'virsh dump' at emergency
293# crashdump, and if the specified dump_image_format is not valid, or
294# the requested compression program can't be found, this falls
295# back to "raw" compression.
296#
297# snapshot_image_format specifies the compression algorithm of the memory save
298# image when an external snapshot of a domain is taken. This does not apply
299# on disk image format. It is an error if the specified format isn't valid,
300# or the requested compression program can't be found.
301#
302#save_image_format = "raw"
303#dump_image_format = "raw"
304#snapshot_image_format = "raw"
305
306# When a domain is configured to be auto-dumped when libvirtd receives a
307# watchdog event from qemu guest, libvirtd will save dump files in directory
308# specified by auto_dump_path. Default value is /var/lib/libvirt/qemu/dump
309#
310#auto_dump_path = "/var/lib/libvirt/qemu/dump"
311
312# When a domain is configured to be auto-dumped, enabling this flag
313# has the same effect as using the VIR_DUMP_BYPASS_CACHE flag with the
314# virDomainCoreDump API. That is, the system will avoid using the
315# file system cache while writing the dump file, but may cause
316# slower operation.
317#
318#auto_dump_bypass_cache = 0
319
320# When a domain is configured to be auto-started, enabling this flag
321# has the same effect as using the VIR_DOMAIN_START_BYPASS_CACHE flag
322# with the virDomainCreateWithFlags API. That is, the system will
323# avoid using the file system cache when restoring any managed state
324# file, but may cause slower operation.
325#
326#auto_start_bypass_cache = 0
327
328# If provided by the host and a hugetlbfs mount point is configured,
329# a guest may request huge page backing. When this mount point is
330# unspecified here, determination of a host mount point in /proc/mounts
331# will be attempted. Specifying an explicit mount overrides detection
332# of the same in /proc/mounts. Setting the mount point to "" will
333# disable guest hugepage backing.
334#
335# NB, within this mount point, guests will create memory backing files
336# in a location of $MOUNTPOINT/libvirt/qemu
337#
338#hugetlbfs_mount = "/dev/hugepages"
339
340
341# Path to the setuid helper for creating tap devices. This executable
342# is used to create <source type='bridge'> interfaces when libvirtd is
343# running unprivileged. libvirt invokes the helper directly, instead
344# of using "-netdev bridge", for security reasons.
345#bridge_helper = "/usr/libexec/qemu-bridge-helper"
346
347
348
349# If clear_emulator_capabilities is enabled, libvirt will drop all
350# privileged capabilities of the QEmu/KVM emulator. This is enabled by
351# default.
352#
353# Warning: Disabling this option means that a compromised guest can
354# exploit the privileges and possibly do damage to the host.
355#
356#clear_emulator_capabilities = 1
357
358
359# If enabled, libvirt will have QEMU set its process name to
360# "qemu:VM_NAME", where VM_NAME is the name of the VM. The QEMU
361# process will appear as "qemu:VM_NAME" in process listings and
362# other system monitoring tools. By default, QEMU does not set
363# its process title, so the complete QEMU command (emulator and
364# its arguments) appear in process listings.
365#
366#set_process_name = 1
367
368
369# If max_processes is set to a positive integer, libvirt will use
370# it to set the maximum number of processes that can be run by qemu
371# user. This can be used to override default value set by host OS.
372# The same applies to max_files which sets the limit on the maximum
373# number of opened files.
374#
375#max_processes = 0
376#max_files = 0
377
378
379
380# mac_filter enables MAC addressed based filtering on bridge ports.
381# This currently requires ebtables to be installed.
382#
383#mac_filter = 1
384
385
386# By default, PCI devices below non-ACS switch are not allowed to be assigned
387# to guests. By setting relaxed_acs_check to 1 such devices will be allowed to
388# be assigned to guests.
389#
390#relaxed_acs_check = 1
391
392
393# If allow_disk_format_probing is enabled, libvirt will probe disk
394# images to attempt to identify their format, when not otherwise
395# specified in the XML. This is disabled by default.
396#
397# WARNING: Enabling probing is a security hole in almost all
398# deployments. It is strongly recommended that users update their
399# guest XML <disk> elements to include <driver type='XXXX'/>
400# elements instead of enabling this option.
401#
402#allow_disk_format_probing = 1
403
404
405# To enable 'Sanlock' project based locking of the file
406# content (to prevent two VMs writing to the same
407# disk), uncomment this
408#
409#lock_manager = "sanlock"
410
411
412
413# Set limit of maximum APIs queued on one domain. All other APIs
414# over this threshold will fail on acquiring job lock. Specially,
415# setting to zero turns this feature off.
416# Note, that job lock is per domain.
417#
418#max_queued = 0
419
420###################################################################
421# Keepalive protocol:
422# This allows qemu driver to detect broken connections to remote
423# libvirtd during peer-to-peer migration. A keepalive message is
424# sent to the deamon after keepalive_interval seconds of inactivity
425# to check if the deamon is still responding; keepalive_count is a
426# maximum number of keepalive messages that are allowed to be sent
427# to the deamon without getting any response before the connection
428# is considered broken. In other words, the connection is
429# automatically closed approximately after
430# keepalive_interval * (keepalive_count + 1) seconds since the last
431# message received from the deamon. If keepalive_interval is set to
432# -1, qemu driver will not send keepalive requests during
433# peer-to-peer migration; however, the remote libvirtd can still
434# send them and source libvirtd will send responses. When
435# keepalive_count is set to 0, connections will be automatically
436# closed after keepalive_interval seconds of inactivity without
437# sending any keepalive messages.
438#
439#keepalive_interval = 5
440#keepalive_count = 5
441
442
443
444# Use seccomp syscall whitelisting in QEMU.
445# 1 = on, 0 = off, -1 = use QEMU default
446# Defaults to -1.
447#
448#seccomp_sandbox = 1
449
450
451
452# Override the listen address for all incoming migrations. Defaults to
453# 0.0.0.0 or :: in case if both host and qemu are capable of IPv6.
454#migration_address = "127.0.0.1"
455
456
457# Override the port range used for incoming migrations.
458#
459# Minimum must be greater than 0, however when QEMU is not running as root,
460# setting the minimum to be lower than 1024 will not work.
461#
462# Maximum must not be greater than 65535.
463#
464#migration_port_min = 49152
465#migration_port_max = 49215
diff --git a/recipes-virtualization/libvirt/libvirt_%.bbappend b/recipes-virtualization/libvirt/libvirt_%.bbappend
new file mode 100644
index 0000000..c7e6d32
--- /dev/null
+++ b/recipes-virtualization/libvirt/libvirt_%.bbappend
@@ -0,0 +1,9 @@
1PACKAGECONFIG_qoriq-ppc = "qemu yajl lxc test remote macvtap libvirtd netcf udev python"
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
4SRC_URI_append_qoriq-ppc = " file://qemu.conf"
5
6do_install_append_qoriq-ppc() {
7 install -m 0644 ${WORKDIR}/qemu.conf ${D}${sysconfdir}/libvirt/qemu.conf
8}
9