aboutsummaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* Release of libvirt-0.10.2v0.10.2Daniel Veillard2012-09-241-0/+280
| | | | | * configure.ac docs/news.html.in libvirt.spec.in: update for the release * po/*.po*: update from transifex and regenerate
* Add <seclabel> to character devices.Richard W.M. Jones2012-09-212-0/+11
| | | | | | | This allows the user to control labelling of each character device separately (the default is to inherit from the VM). Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
* docs: fix typo in filesystem docsEric Blake2012-09-201-1/+1
| | | | | | | Noticed this by reading the page. It would be so much nicer if our tools could automatically flag things like this as part of 'make'. * docs/formatdomain.html.in: Remove extra '>'.
* doc: include article about libvirt+audit in relatedlinks.htmlMarcelo Cerri2012-09-201-0/+3
| | | | | | This patch adds to relatedlinks.html a link to an article about libvirt describing how the Linux audit subsystem can be used to track qemu guest's life-cycle.
* Add support for limiting guest coredumpMartin Kletzander2012-09-202-3/+17
| | | | | | | Sometimes when guest machine crashes, coredump can get huge due to the guest memory. This can be limited using madvise(2) system call and is being used in QEMU hypervisor. This patch adds an option for configuring that in the domain XML and related documentation.
* Add support for reboot-timeoutMartin Kletzander2012-09-202-9/+26
| | | | | | | Whenever the guest machine fails to boot, new parameter (reboot-timeout) controls whether it should reboot and after how many ms it should do so. Docs included.
* Fix minor details not only in apic eoiMartin Kletzander2012-09-181-3/+3
| | | | | | The introduction of APIC EOI patches had a few little details that could look better, so this patch fixes that and one more place in the file as well (same problem).
* Add a ./run script for running programs from the local directory.Richard W.M. Jones2012-09-181-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this script you can run libvirt programs without needing to install them first. You just have to do for example: ./run ./tools/virsh [args ...] If you are already in the tools/ subdirectory, then the following command will also work: ../run ./virsh [...] You can also run the C programs under valgrind like this: ./run valgrind [valgrind opts...] ./program or under gdb: ./run gdb --args ./program This also works with sudo (eg. if you need root access for libvirt): sudo ./run ./tools/virsh list --all Derived from libguestfs and simplified. The ./run script in libguestfs is much more sophisticated: https://github.com/libguestfs/libguestfs/blob/master/run.in
* schema: Add schema for disk <wwn>Osier Yang2012-09-184-6/+17
| | | | | | | * docs/formatdomain.html.in: Add document. * docs/schemas/nodedev.rng: Move definition of "wwn" to ... * docs/schemas/basictypes.rng: ...Here * docs/schemas/domaincommon.rng: Add schema for disk <wwn>
* blockjob: add virDomainBlockCommitEric Blake2012-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A block commit moves data in the opposite direction of block pull. Block pull reduces the chain length by dropping backing files after data has been pulled into the top overlay, and is always safe; block commit reduces the chain length by dropping overlays after data has been committed into the backing file, and any files that depended on base but not on top are invalidated at any point where they have unallocated data that is now pointing to changed contents in base. Both directions are useful, however: a qcow2 layer that is more than 50% allocated will typically be faster with a pull operation, while a qcow2 layer with less than 50% allocation will be faster as a commit operation. Committing across multiple layers can be more efficient than repeatedly committing one layer at a time, but requires extra support from the hypervisor. This API matches Jeff Cody's proposed qemu command 'block-commit': https://lists.gnu.org/archive/html/qemu-devel/2012-09/msg02226.html Jeff's command is still in the works for qemu 1.3, and may gain further enhancements, such as the ability to control on-error handling (it will be comparable to the error handling Paolo is adding to 'drive-mirror', so a similar solution will be needed when I finally propose virDomainBlockCopy with more functionality than the basics supported by virDomainBlockRebase). However, even without qemu support, this API will be useful for _offline_ block commits, by wrapping qemu-img calls and turning them into a block job, so this API is worth committing now. For some examples of how this will be implemented, all starting with the chain: base <- snap1 <- snap2 <- active + These are equivalent: virDomainBlockCommit(dom, disk, NULL, NULL, 0, 0) virDomainBlockCommit(dom, disk, NULL, "active", 0, 0) virDomainBlockCommit(dom, disk, "base", NULL, 0, 0) virDomainBlockCommit(dom, disk, "base", "active", 0, 0) but cannot be implemented for online qemu with round 1 of Jeff's patches; and for offline images, it would require three back-to-back qemu-img invocations unless qemu-img is patched to allow more efficient multi-layer commits; the end result would be 'base' as the active disk with contents from all three other files, where 'snap1' and 'snap2' are invalid right away, and 'active' is invalid once any further changes to 'base' are made. + These are equivalent: virDomainBlockCommit(dom, disk, "snap2", NULL, 0, 0) virDomainBlockCommit(dom, disk, NULL, NULL, 0, _SHALLOW) they cannot be implemented for online qemu, but for offline, it is a matter of 'qemu-img commit active', so that 'snap2' is now the active disk with contents formerly in 'active'. + Similarly: virDomainBlockCommit(dom, disk, "snap2", NULL, 0, _DELETE) for an offline domain will merge 'active' into 'snap2', then delete 'active' to avoid leaving a potentially invalid file around. + This version: virDomainBlockCommit(dom, disk, NULL, "snap2", 0, _SHALLOW) can be implemented online with 'block-commit' passing a base of snap1 and a top of snap2; and can be implemented offline by 'qemu-img commit snap2' followed by 'qemu-img rebase -u -b snap1 active' * include/libvirt/libvirt.h.in (virDomainBlockCommit): New API. * src/libvirt.c (virDomainBlockCommit): Implement it. * src/libvirt_public.syms (LIBVIRT_0.10.2): Export it. * src/driver.h (virDrvDomainBlockCommit): New driver callback. * docs/apibuild.py (CParser.parseSignature): Add exception.
* Add support for EOI with APICMartin Kletzander2012-09-142-1/+15
| | | | | | | New options is added to support EOI (End of Interrupt) exposure for guests. As it makes sense only when APIC is enabled, I added this into the <apic> element in <features> because this should be tri-state option (cannot be handled as standalone feature).
* doc: update usb redirection filter infomation on formatdomain.htmlGuannan Ren2012-09-131-14/+24
|
* test: add xml2argvtest for usb-redir filter and update xml schemaGuannan Ren2012-09-131-0/+66
|
* docs: mention another iaas app built on libvirtEric Blake2012-09-121-0/+8
| | | | | | | Reported on the libvirt-users list. * docs/apps.html.in: Add Eucalyptus. Reported by Eric Choi.
* docs: page.xsl: fix FAQ link in subdirectoriesJán Tomko2012-09-111-1/+1
| | | | | | Links to the FAQ didn't work on pages in subdirectories, like devhelp/libvirt-virterror.html or internals/command.html, because they have had href_base prepended to them.
* docs: hacking.html.in: fix table of contentsJán Tomko2012-09-111-2/+2
| | | | Two sections didn't have a working link in the TOC.
* docs: point out git send-email location, be more stern about make checkLaine Stump2012-09-082-12/+21
| | | | | | | | | | | An email came to libvir-list wondering why the git send-email command was missing in spite of having git installed; this is due to the send-email command being in a sub-package of the main git package. While touching the hacking file, I thought it would be useful to 1) indicate the location of the source (docs/hacking.html.in) in the message at the top of HACKING, and also to make the note about running "make check" and "make syntax-check" a bit more stern.
* build: don't fail when xsltproc is missingEric Blake2012-09-051-4/+5
| | | | | | | | | | | | | On a machine without xsltproc, the build failed with: Scripting search.php /usr/local/bin/bash: line 1: search.php.tmp: No such file or directory rm: ./search.php: No such file or directory Regression introduced in commit 28183590. * docs/Makefile.am (%.php): Skip in the same conditions when the .tmp file is skipped.
* Rename iolimit to blockio.Viktor Mihajlovski2012-09-042-6/+6
| | | | | | | | | | | After discussion with DB we decided to rename the new iolimit element as it creates the impression it would be there to limit (i.e. throttle) I/O instead of specifying immutable characteristics of a block device. This is also backed by the fact that the term I/O Limits has vanished from newer storage admin documentation. Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
* Add per-guest S3/S4 state configurationMartin Kletzander2012-09-032-0/+61
| | | | | | | | There is a new <pm/> element implemented that can control what ACPI sleeping states will be advertised by BIOS and allowed to be switched to by libvirt. The default keeps defaults on hypervisor, otherwise forces chosen setting. The documentation of the pm element is added as well.
* conf: Support for Block Device IO LimitsViktor Mihajlovski2012-08-312-0/+35
| | | | | | | | | | Introducing a new iolimits element allowing to override certain properties of a guest block device like the physical and logical block size. This can be useful for platforms with 'non-standard' disk formats like S390 DASD with its 4K block size. Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
* schemas: Fix wwn patternOsier Yang2012-08-311-1/+1
| | | | It should be [] instead of ().
* Release of libvirt-0.10.1Daniel Veillard2012-08-311-0/+48
| | | | | | * configure.ac docs/news.html.in libvirt.spec.in: update for release * po/*.po*: pulled localization updates for sp,ja,mr,pa,uk,zh_CN,zh_TW and regenerated
* docs: Fix typo in CPU tuningJiri Denemark2012-08-311-1/+1
|
* doc: Fix emulator pinning example in formatdomain.htmlPeter Krempa2012-08-311-2/+2
| | | | Add correct closing tags.
* Release of libvirt-0.10.0Daniel Veillard2012-08-291-0/+561
| | | | | * configure.ac docs/news.html.in libvirt.spec.in: updates for the release * po/*.po*: update localizations for zh_CN, uk, ja, pt_BR, as, sp, mr, zh_TW
* docs: CPU allocation and pinning clarificationMartin Kletzander2012-08-281-4/+7
| | | | | There was a request for clarifying this part of the documentation. This also fixes a case used with CPU.
* libssh2_transport: Add docs to remote.htmlPeter Krempa2012-08-241-5/+47
| | | | | Describe the existence of the transport driver and document the configurable options.
* Fix some typos in messages, docs and comments.Yuri Chornoivan2012-08-2211-24/+24
|
* qemu: introduce period/quota tuning for emulatorHu Tao2012-08-222-0/+34
| | | | | | This patch introduces support of setting emulator's period and quota to limit cpu bandwidth when the vm starts. Also updates XML Schema for new entries and docs.
* Support emulatorpin xml parse.Tang Chen2012-08-222-0/+16
| | | | | | | | | This patch adds a new xml element <emulatorpin>, which is a sibling to the existing <vcpupin> element under the <cputune>, to pin emulator threads to specified physical CPUs. Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
* Support for Disk Geometry OverrideJ.B. Joret2012-08-212-0/+50
| | | | | | | | | | A hypervisor may allow to override the disk geometry of drives. Qemu, as an example with cyls=,heads=,secs=[,trans=]. This patch extends the domain config to allow the specification of disk geometry with libvirt. Signed-off-by: J.B. Joret <jb@linux.vnet.ibm.com> Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
* Multiple security drivers in XML dataMarcelo Cerri2012-08-203-18/+41
| | | | | | | | This patch updates the domain and capability XML parser and formatter to support more than one "seclabel" element for each domain and device. The RNG schema and the tests related to this are also updated by this patch. Signed-off-by: Marcelo Cerri <mhcerri@linux.vnet.ibm.com>
* network: support <forward mode='hostdev'> in network driverShradha Shah2012-08-171-0/+69
| | | | | | | | This patch updates the network driver to properly utilize the new attributes/elements that are now in virNetworkDef Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: Laine Stump <laine@laine.org>
* conf: parser/formatter/rng for <forward mode='hostdev'>Shradha Shah2012-08-173-56/+87
| | | | | | | | This patch introduces the new forward mode='hostdev' along with attribute managed. Includes updates to the network RNG and new xml parser/formatter code. Signed-off-by: Shradha Shah <sshah@solarflare.com>
* docs: Enhance documentation of log_filtersJiri Denemark2012-08-171-3/+6
| | | | | Also make sure documentation in libvirtd.conf matches the one from logging.html.
* conf: add <vlan> element to network and domain interface elementsLaine Stump2012-08-155-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following config elements now support a <vlan> subelements: within a domain: <interface>, and the <actual> subelement of <interface> within a network: the toplevel, as well as any <portgroup> Each vlan element must have one or more <tag id='n'/> subelements. If there is more than one tag, it is assumed that vlan trunking is being requested. If trunking is required with only a single tag, the attribute "trunk='yes'" should be added to the toplevel <vlan> element. Some examples: <interface type='hostdev'/> <vlan> <tag id='42'/> </vlan> <mac address='52:54:00:12:34:56'/> ... </interface> <network> <name>vlan-net</name> <vlan trunk='yes'> <tag id='30'/> </vlan> <virtualport type='openvswitch'/> </network> <interface type='network'/> <source network='vlan-net'/> ... </interface> <network> <name>trunk-vlan</name> <vlan> <tag id='42'/> <tag id='43'/> </vlan> ... </network> <network> <name>multi</name> ... <portgroup name='production'/> <vlan> <tag id='42'/> </vlan> </portgroup> <portgroup name='test'/> <vlan> <tag id='666'/> </vlan> </portgroup> </network> <interface type='network'/> <source network='multi' portgroup='test'/> ... </interface> IMPORTANT NOTE: As of this patch there is no backend support for the vlan element for *any* network device type. When support is added in later patches, it will only be for those select network types that support setting up a vlan on the host side, without the guest's involvement. (For example, it will be possible to configure a vlan for a guest connected to an openvswitch bridge, but it won't be possible to do that for one that is connected to a standard Linux host bridge.)
* schema: fix some problems in network/interface schemasLaine Stump2012-08-152-3/+11
| | | | | | | | | <portgroup> allows a <bandwidth> element, but the schema didn't have this. Since this makes for multiple elements in portgroup, they must be interleaved. <interface type='bridge'> needs to allow <virtualport> elements for openvswitch, but the schema didn't allow this.
* parallels: add domain configuration exampleDmitry Guryanov2012-08-152-0/+40
| | | | Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
* parallels: change URI to parallels:///systemDmitry Guryanov2012-08-151-5/+5
| | | | | | | | | | | Let's change URI to parallels:///system. Parallels Server supports creating VMs from non-privileged accounts, but it's not main usage scenario and it may be forbidden in the future. Also containers, which will be supported by the driver, can be managed only by root, so /system path is more suitable for this driver. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
* Update documentation for CPU quota/period support for LXCSukadev Bhattiprolu2012-08-151-4/+6
| | | | | | | | | | | | | Following commit added suport the CPU quota/period to the LXC driver. Update the documentation to reflect that. commit d9724a81b3c53a40f45bf76067a976cce73ed278 Author: Daniel P. Berrange <berrange@redhat.com> Date: Thu Nov 10 12:16:26 2011 +0000 Add support for CPU quota/period to LXC driver Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
* network: add connections counter to networksLaine Stump2012-08-142-8/+34
| | | | | | | | | | | | | | | | Just as each physical device used by a network has a connections counter, now each network has a connections counter which is incremented once for each guest interface that connects using this network. The count is output in the live network XML, like this: <network connections='20'> ... </network> It is read-only, and for informational purposes only - it isn't used internally anywhere by libvirt.
* network: merge relevant virtualports rather than choosing oneLaine Stump2012-08-142-18/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the original ideas behind allowing a <virtualport> in an interface definition as well as in the <network> definition *and*one or more <portgroup>s within the network, was that guest-specific parameteres (like instanceid and interfaceid) could be given in the interface's virtualport, and more general things (portid, managerid, etc) could be given in the network and/or portgroup, with all the bits brought together at guest startup time and combined into a single virtualport to be used by the guest. This was somehow overlooked in the implementation, though - it simply picks the "most specific" virtualport, and uses the entire thing, with no attempt to merge in details from the others. This patch uses virNetDevVPortProfileMerge3() to combine the three possible virtualports into one, then uses virNetDevVPortProfileCheck*() to verify that the resulting virtualport type is appropriate for the type of network, and that all the required attributes for that type are present. An example of usage is this: assuming a <network> definitions on host ABC of: <network> <name>testA</name> ... <virtualport type='openvswitch'/> ... <portgroup name='engineering'> <virtualport> <parameters profileid='eng'/> </virtualport> </portgroup> <portgroup name='sales'> <virtualport> <parameters profileid='sales'/> </virtualport> </portgroup> </network> and the same <network> on host DEF of: <network> <name>testA</name> ... <virtualport type='802.1Qbg'> <parameters typeid="1193047" typeidversion="2"/> </virtualport> ... <portgroup name='engineering'> <virtualport> <parameters managerid="11"/> </virtualport> </portgroup> <portgroup name='sales'> <virtualport> <parameters managerid="55"/> </virtualport> </portgroup> </network> and a guest <interface> definition of: <interface type='network'> <source network='testA' portgroup='sales'/> <virtualport> <parameters instanceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f" interfaceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f"\> </virtualport> ... </interface> If the guest was started on host ABC, the <virtualport> used would be: <virtualport type='openvswitch'> <parameters interfaceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f' profileid='sales'/> </virtualport> but if that guest was started on host DEF, the <virtualport> would be: <virtualport type='802.1Qbg'> <parameters instanceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f" typeid="1193047" typeidversion="2" managerid="55"/> </virtualport> Additionally, if none of the involved <virtualport>s had a specified type (this includes cases where no virtualport is given at all),
* conf: support partially-specified <virtualport> in parser and formatterLaine Stump2012-08-141-21/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, all attributes in a <virtualport> parameter list that were acceptable for a particular type, were also required. There were no optional attributes. One of the aims of supporting <virtualport> in libvirt's virtual networks and portgroups is to allow specifying the group-wide parameters in the network's virtualport, and merge that with the interface's virtualport, which will have the instance-specific info (i.e. the interfaceid or instanceid). Additionally, the guest's interface XML shouldn't need to know what type of network connection will be used prior to runtime - it could be openvswitch, 802.1Qbh, 802.1Qbg, or none of the above - but should still be able to specify instance-specific info just in case it turns out to be applicable. Finally, up to now, the parser for virtualport has always generated a random instanceid/interfaceid when appropriate, making it impossible to leave it blank (which is what's required for virtualports within a network/portprofile definition). This patch modifies the parser and formatter of the <virtualport> element in the following ways: * because most of the attributes in a virNetDevVPortProfile are fixed size binary data with no reserved values, there is no way to embed a "this value wasn't specified" sentinel into the existing data. To solve this problem, the new *_specified fields in the virNetDevVPortProfile object that were added in a previous patch of this series are now set when the corresponding attribute is present during the parse. * allow parsing/formatting a <virtualport> that has no type set. In this case, all fields are settable, but all are also optional. * add a GENERATE_MISSING_DEFAULTS flag to the parser - if this flag is set and an instanceid/interfaceid is expected but not provided, a random one will be generated. This was previously the default behavior, but is now done only for virtualports inside an <interface> definition, not for those in <network> or <portgroup>. * add a REQUIRE_ALL_ATTRIBUTES flag to the parser - if this flag is set the parser will call the new virNetDevVPortProfileCheckComplete() functions at the end of the parser to check for any missing attributes (based on type), and return failure if anything is missing. This used to be default behavior. Now it is only used for the virtualport defined inside an interface's <actual> element (by the time you've figured out the contents of <actual>, you should have all the necessary data to fill in the entire virtualport) * add a REQUIRE_TYPE flag to the parser - if this flag is set, the parser will return an error if the virtualport has no type attribute. This also was previously the default behavior, but isn't needed in the case of the virtualport for a type='network' interface (i.e. the exact type isn't yet known), or the virtualport of a portgroup (i.e. the portgroup just has modifiers for the network's virtualport, which *does* require a type) - in those cases, the check will be done at domain startup, once the final virtualport is assembled (this is handled in the next patch).
* docs/virsh: various minor fixesMartin Kletzander2012-08-102-8/+0
| | | | | | | List: - some old libvir/libvirt rename leftovers (the only problem can be if somebody parses 'virsh version' output really badly) - remove pointless tags specified in some pages that are not used
* docs: autogenerate search.phpMartin Kletzander2012-08-103-88/+42
| | | | | | | | | | This patch makes search.php autogenerated from search.php.in, thus removing hardcoded menus, footer etc. and the search.php is added to .gitignore. There is new rule added for *.php files (to make it bit less hardcoded) that takes *.php.code.in and injects it inside the generated *.php (xslt was not happy about php code in the source xml).
* docs: fix 404 page when fetched from different locationMartin Kletzander2012-08-102-2/+11
| | | | | | | | Error 404 page had relative paths specified for both the image and stylesheets which caused a problem when requested URL included a subfolder (e.g. http://libvirt.org/asdf/asdf ). This patch corrects this behaviour by modifying href_base to '/' (for style-sheets) and changing the src of the image (to be '/' always).
* Added timestamps to storage volumesHendrik Schwartke2012-08-022-0/+54
| | | | | | | | | | | | | The access, birth, modification and change times are added to storage volumes and corresponding xml representations. This shows up in the XML in this format: <timestamps> <atime>1341933637.027319099</atime> <mtime>1341933637.027319099</mtime> </timestamps> Signed-off-by: Eric Blake <eblake@redhat.com>
* Update xml schemas according to libvirt sourceJán Tomko2012-08-023-39/+84
| | | | | | | | | | | capability.rng: Guest features can be in any order. nodedev.rng: Added <driver> element, <capability> phys_function and virt_functions for PCI devices. storagepool.rng: Owner or group ID can be -1. schema tests: New capabilities and nodedev files; changed owner and group to -1 in pool-dir.xml. storage_conf: Print uid_t and gid_t as signed to storage pool XML.
* build: commit to 0.10.0 release namingEric Blake2012-08-021-1/+1
| | | | | | | | | | | With 0.10.0-rc0 out the door, we are committed to the next version number. * src/libvirt_public.syms (LIBVIRT_0.9.14): Rename... (LIBVIRT_0.10.0): ...to this. * docs/formatdomain.html.in: Fix fallout. * src/openvz/openvz_driver.c (openvzDriver): Likewise. * src/remote/remote_driver.c (remote_driver): Likewise.