libvirt/docs
Daniel P. Berrangé d600667278 qemu: introduce a new "virt-qemu-run" program
The previous "QEMU shim" proof of concept was taking an approach of only
caring about initial spawning of the QEMU process. It was then
registered with the libvirtd daemon who took over management of it. The
intent was that later libvirtd would be refactored so that the shim
retained control over the QEMU monitor and libvirt just forwarded APIs
to each shim as needed. This forwarding of APIs would require quite alot
of significant refactoring of libvirtd to achieve.

This impl thus takes a quite different approach, explicitly deciding to
keep the VMs completely separate from those seen & managed by libvirtd.
Instead it uses the new "qemu:///embed" URI scheme to embed the entire
QEMU driver in the shim, running with a custom root directory.

Once the driver is initialization, the shim starts a VM and then waits
to shutdown automatically when QEMU shuts down, or should kill QEMU if
it is terminated itself. This ought to use the AUTO_DESTROY feature but
that is not yet available in embedded mode, so we rely on installing a
few signal handlers to gracefully kill QEMU. This isn't reliable if
we crash of course, but you can restart with the same root dir.

Note this program does not expose any way to manage the QEMU process,
since there's no RPC interface enabled. It merely starts the VM and
cleans up when the guest shuts down at the end. This program is
installed to /usr/bin/virt-qemu-run enabling direct use by end users.
Most use cases will probably want to integrate the concept directly
into their respective application codebases. This standalone binary
serves as a nice demo though, and also provides a way to measure
performance of the startup process quite simply.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-01-27 11:05:02 +00:00
..
fonts
gitdm gitdm: Add missing entries 2019-11-05 12:12:14 +01:00
html
internals util: purge all code for testing OOM handling 2019-09-13 10:05:17 +01:00
js docs: Fix Blog Planet links 2019-06-20 17:01:44 +02:00
kbase kbase: Add document outlining backing chain XML config and troubleshooting 2019-12-18 09:36:49 +01:00
logos docs: add SVGs for sticker logos 2019-08-29 12:46:33 +01:00
manpages qemu: introduce a new "virt-qemu-run" program 2020-01-27 11:05:02 +00:00
schemas conf: Add rng backend model builtin 2020-01-24 17:03:32 +01:00
32favicon.png
404.html.in
acl.html.in
aclpolkit.html.in Remove phyp driver 2019-12-20 12:25:42 -05:00
android-chrome-192x192.png
android-chrome-256x256.png
api_extension.html.in docs: Make anchors follow HTML5 2019-08-28 13:39:26 +02:00
api.html.in Remove phyp driver 2019-12-20 12:25:42 -05:00
apple-touch-icon.png
apps.html.in docs: fixing typos 'libivrt' > 'libvirt' 2020-01-17 16:44:31 +01:00
architecture.fig
architecture.gif
architecture.html.in docs: remove mention of legacy Xen driver 2018-04-09 11:38:47 -06:00
auditlog.html.in docs: fixing typos 'libivrt' > 'libvirt' 2020-01-17 16:44:31 +01:00
auth.html.in docs/auth.html.in: fixed typos 2019-12-23 10:08:05 +00:00
bindings.html.in docs: introduce libvirt-dbus binding 2018-03-23 12:59:56 +01:00
browserconfig.xml
bugs.html.in docs: remove mention of legacy Xen driver 2018-04-09 11:38:47 -06:00
cgroups.html.in doc: cgroups: Remove unwanted references to systemd 2019-11-15 15:45:20 +01:00
compiling.html.in build: mandate use of a build dir != src dir 2019-11-08 17:07:35 +01:00
contact.html.in
contribute.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
csharp.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
dbus.html.in docs: Make anchors follow HTML5 2019-08-28 13:39:26 +02:00
devguide.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
docs.html.in docs: remove link to virsh cmd ref & app dev guide 2019-12-13 13:55:35 +00:00
downloads.html.in docs: update Perl download to point to modern CPAN site 2019-04-04 12:33:55 +01:00
drivers.html.in secrets: add support for running secret driver in embedded mode 2020-01-27 11:04:29 +00:00
drvbhyve.html.in docs: bhyve: warn about bhyve:commandline risks 2019-02-01 22:08:55 +04:00
drvesx.html.in docs: mention lifted vCPUs restriction for esx 2019-11-14 14:55:56 +01:00
drvhyperv.html.in
drvlxc.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
drvnodedev.html.in docs: documentation for vfio-ccw passthrough 2018-05-14 12:27:47 -04:00
drvopenvz.html.in
drvqemu.html.in qemu: add support for running QEMU driver in embedded mode 2020-01-27 11:04:03 +00:00
drvremote.html.in
drvsecret.html.in secrets: add support for running secret driver in embedded mode 2020-01-27 11:04:29 +00:00
drvtest.html.in
drvvbox.html.in
drvvirtuozzo.html.in
drvvmware.html.in
drvxen.html.in libxl: Drop support for parsing sxpr format in libxlConnectDomainXMLFromNative 2019-07-09 10:27:19 +02:00
errors.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
favicon-16x16.png
favicon-32x32.png
favicon.ico
firewall.html.in network: allow configuring firewalld zone for virtual network bridge device 2019-02-01 12:57:13 -05:00
format.html.in backup: Document new XML for backups 2019-12-10 12:41:56 +01:00
formatbackup.html.in conf: backup: Allow configuration of names exported via NBD 2020-01-24 13:40:48 +01:00
formatcaps.html.in conf: add support for specifying CPU "dies" parameter 2020-01-16 15:11:42 +00:00
formatcheckpoint.html.in backup: Document new XML for backups 2019-12-10 12:41:56 +01:00
formatdomain.html.in conf: Add rng backend model builtin 2020-01-24 17:03:32 +01:00
formatdomaincaps.html.in conf: Add rng backend model builtin 2020-01-24 17:03:32 +01:00
formatnetwork.html.in docs: formatnetwork: Document xmlns:dnsmasq 2019-07-17 17:18:56 -04:00
formatnetworkport.html.in docs: fix some typos in networkport documentation 2019-06-18 14:35:43 +02:00
formatnode.html.in xml: nodedev: make pci capability class element optional 2019-03-22 12:59:56 +03:00
formatnwfilter.html.in Drop UML driver 2018-12-17 17:52:46 +01:00
formatsecret.html.in doc: vtpm only support secrets by UUID at this point 2019-12-11 11:34:12 -05:00
formatsnapshot.html.in backup: Prevent snapshots and checkpoints at same time 2019-07-29 08:22:29 -05:00
formatstorage.html.in storage: optional 'refresh' elemement on pool 2019-03-19 16:46:21 +01:00
formatstoragecaps.html.in caps: drop requiredSourceElements from storage pool capabilities 2019-03-07 12:01:09 +01:00
formatstorageencryption.html.in storage: Disallow create/resize of qcow2 encrypted images 2018-06-26 14:02:43 -04:00
generic.css docs: add styling for <tt> element 2019-12-04 15:48:28 +00:00
goals.html.in
governance.html.in docs/governance: Clarify the version number of the LGPL 2019-01-25 14:04:20 +01:00
hacking.html.in docs: hacking: document removal of VIR_STR(N)DUP 2019-12-12 14:24:35 +01:00
hooks.html.in network: convert hook script to take a network port XML 2019-06-17 15:19:54 +01:00
index.html.in backup: Document new XML for backups 2019-12-10 12:41:56 +01:00
internals.html.in
java.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
kbase.html.in kbase: Add document outlining backing chain XML config and troubleshooting 2019-12-18 09:36:49 +01:00
libvirt-daemon-arch.fig
libvirt-daemon-arch.png
libvirt-driver-arch.fig
libvirt-driver-arch.png
libvirt-object-model.fig
libvirt-object-model.png
libvirt-virConnect-example.fig
libvirt-virConnect-example.png
libvirt.css docs: relax CSS context match for pretty tables 2019-12-04 15:48:28 +00:00
logging.html.in util: drop support for stack traces with logging 2019-10-18 16:25:17 +01:00
main.css
Makefile.am qemu: introduce a new "virt-qemu-run" program 2020-01-27 11:05:02 +00:00
manifest.json
migration-managed-direct.fig
migration-managed-direct.png
migration-managed-p2p.fig
migration-managed-p2p.png
migration-native.fig
migration-native.png
migration-tunnel.fig
migration-tunnel.png
migration-unmanaged-direct.fig
migration-unmanaged-direct.png
migration.html.in docs: relax CSS context match for pretty tables 2019-12-04 15:48:28 +00:00
mobile.css docs: add advanced search capabilities 2019-04-11 15:20:17 +01:00
mstile-150x150.png
newapi.xsl docs: relax CSS context match for pretty tables 2019-12-04 15:48:28 +00:00
news-2005.html.in
news-2006.html.in
news-2007.html.in
news-2008.html.in
news-2009.html.in
news-2010.html.in
news-2011.html.in
news-2012.html.in
news-2013.html.in
news-2014.html.in maint: Typo fix for whether 2019-07-09 10:42:39 -05:00
news-2015.html.in
news-2016.html.in
news-ascii.xsl maint: Update references to ChangeLog* 2019-04-03 09:46:02 +02:00
news-html.xsl docs: news: add per-release links 2019-07-17 17:34:08 +02:00
news.rng
news.xml news: Update news for rng backend type builtin 2020-01-24 17:03:38 +01:00
node.fig
node.gif
nss.html.in
page.xsl docs: generate permalinks correctly for rst2html output 2019-12-04 15:48:28 +00:00
pci-hotplug.html.in docs: Advertise pcie-to-pci-bridge for use on q35 2019-06-20 10:03:22 +02:00
php.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
platforms.html.in docs: expand macOS platform support coverage 2020-01-03 15:42:12 +00:00
python.html.in
remote.html.in docs: move docs about remote driver URIs into URI docs 2019-12-04 15:48:28 +00:00
securityprocess.html.in docs: link to security.libvirt.org website 2018-03-16 17:05:56 +00:00
site.xsl
storage.html.in storage: add vmfs filesystem type 2019-12-20 14:31:08 +01:00
strategy.html.in docs: attempt to document the general libvirt dev strategy 2019-10-01 13:08:01 +01:00
structures.fig
styleguide.rst docs: describe the basic RST structure for a man page 2019-12-11 14:28:41 +00:00
subsite.xsl
support.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
testapi.html.in
testsuites.html.in
testtck.html.in
tlscerts.html.in docs: split TLS certificate setup into its own file 2019-12-04 15:48:28 +00:00
uri.html.in docs: move docs about remote driver URIs into URI docs 2019-12-04 15:48:28 +00:00
virshcmdref.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
windows.html.in build: mandate use of a build dir != src dir 2019-11-08 17:07:35 +01:00
wrapstring.xsl