Import Upstream version 2.2.1

This commit is contained in:
Cong Liu 2022-11-11 16:30:04 +08:00
commit 9c146ac581
758 changed files with 415658 additions and 0 deletions

102
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,102 @@
# Contribute to virt-manager
## Bug reporting
The preferred place for bug reports is bugzilla.redhat.com. This
is documented more at https://virt-manager.org/bugs/
Small issues can be reported in the
[github issue tracker](https://github.com/virt-manager/virt-manager/issues).
Anything that's non-trivial, or is a feature request, should be filed in
bugzilla.
Please only file issues if they apply to the latest version of
virt-manager. If you are using an older version from a distro,
please file a bug with them.
When filing a bug, please reproduce the issue with the `--debug`
flag passed to the tool and attach the full output in the bug
report.
## Writing patches
The following commands will be useful for anyone writing patches:
```sh
./setup.py test # Run local unit test suite
./setup.py pylint # Run pylint/pycodestyle checking
```
Any patches shouldn't change the output of 'test' or 'pylint'. Depending
on what version of libvirt or pylint is installed, you may see some
pre-existing errors from these commands. The important thing is that
any changes you make do not add additional errors.
The 'pylint' command requires [`pylint`](https://github.com/PyCQA/pylint)
and [`pycodestyle`](https://github.com/pycqa/pycodestyle) to be installed.
If [`codespell`](https://github.com/codespell-project/codespell) is installed,
it will be invoked as well.
One useful way to manually test virt-manager's UI is using libvirt's
unit test driver. From the source directory, Launch virt-manager like:
```sh
./virt-manager --connect test://$PWD/tests/testdriver.xml
```
This testdriver has many fake XML definitions that can be used to see each bit
of virt-manager's UI. It also enables testing the various wizards without
having to alter your host virt config.
The command line tools can be tested similarly. To run a virt-install
command that won't alter your host config, you can do:
```sh
./virt-install --connect test:///default --debug ...
```
`--connect test:///default` here is libvirt's built in unit test driver.
We use [glade-3](https://glade.gnome.org/) for building most of virt-manager's
UI. See the files in the ui/ directory.
## Submitting patches
The [virt-manager git repo](https://github.com/virt-manager/virt-manager)
is hosted on github. Small patches are acceptable via github pull-request,
but anything non-trivial should be sent to the
[virt-tools-list mailing list](https://www.redhat.com/mailman/listinfo/virt-tools-list).
Sending patches using `git send-email` is preferred, but `git format-patch`
output attached to an email is also fine.
## Introductory tasks
Extending the virt-install or virt-xml command line is a good introductory
task for virt-manager. See [the wiki](https://github.com/virt-manager/virt-manager/wiki)
for both a patch tutorial, and a list of libvirt `<domain>` XML options
that still need to be added to our command line.
## Translations
Translations are handled at `fedora.zanata.org`. Please register for a Fedora
account and request access to a translation team, as described at
[Translate on Zanata](https://fedoraproject.org/wiki/L10N/Translate_on_Zanata),
and contribute at
[virt-manager at Zanata](https://fedora.zanata.org/project/view/virt-manager/).
## Advanced testing
There's a few standalone specialty tests:
```sh
./setup.py test_ui # dogtail UI test suite. This takes over your desktop
./setup.py test_urls # Test fetching media from live distro URLs
./setup.py test_initrd_inject # Test live virt-install --initrd-inject
```
All test 'test*' commands have a `--debug` option if you are hitting problems. For more options, see `./setup.py test --help`.

339
COPYING Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

49
INSTALL.md Normal file
View File

@ -0,0 +1,49 @@
# Basic Install
For starters, if you just want to run `virt-manager/virt-install` to test out
changes, it can be done from the source directory:
```sh
./virt-manager
```
To install the software into `/usr/local` (usually), you can do:
```sh
./setup.py install
```
To build an RPM, you can run:
```sh
./setup.py rpm
```
`setup.py` generally has all the build and install commands, for more info see:
- `./setup.py --help-commands`
- `./setup.py install --help`
- [Python Standard Build and Install](https://docs.python.org/3/install/#standard-build-and-install)
## Pre-requisite software
A detailed dependency list can be found in
[virt-manager.spec.in](virt-manager.spec.in) file.
Minimum version requirements of major components:
- python >= 3.4
- gtk3 >= 3.22
- libvirt-python >= 0.6.0
- pygobject3 >= 3.22
- libosinfo >= 0.2.10
- gtksourceview >= 3
On Debian or Ubuntu based distributions, you need to install the
`gobject-introspection` bindings for some dependencies like `libvirt-glib`
and `libosinfo`. Look for package names that start with `'gir'`, for example
`gir1.2-libosinfo-1.0`.
## Optional software
`virt-manager` can optionally use [libguestfs](http://libguestfs.org/)
for inspecting the guests. For this, `python-libguestfs` >= 1.22 is needed.

15
MANIFEST.in Normal file
View File

@ -0,0 +1,15 @@
# to be included/excluded from the tarball produced by sdist
include COPYING CONTRIBUTING.md INSTALL.md NEWS.md README.md
include MANIFEST.in
include setup.py
include virt-*
recursive-include data *
exclude data/gschemas.compiled
recursive-include man *
recursive-include po *
recursive-include tests *
recursive-include ui *
recursive-include virtManager *
recursive-include virtconv *
recursive-include virtinst *
global-exclude *.pyc

571
NEWS.md Normal file
View File

@ -0,0 +1,571 @@
# Virtual Machine Manager News
## Release 2.2.1 (July 03, 2019)
- CVE-2019-10183: Replace --unattended user-password and admin-password with
user-password-file and admin-password-file (Fabiano Fidêncio)
- Consistent --memballoon default across non-x86 (Andrea Bolognani)
- virt-install: add --numatune memnode.* (Athina Plaskasoviti)
- Drop hard dep on gtksourceview4, gtksourceview3 is fine as well
## Release 2.2.0 (June 17, 2019)
- libvirt XML viewing and editing UI for new and existing domain, pools,
volumes, networks
- virt-install: libosinfo --unattended support (Fabiano Fidêncio, Cole
Robinson)
- Improve CPU model security defaults (Pavel Hrdina)
- virt-install: new --install option. Ex: virt-install --install fedora29
- virt-install: new --install kernel=,initrd=
- virt-install: --disk, --memory, --name defaults from libosinfo (Fabiano
Fidêncio, Cole Robinson)
- virt-install: add device suboption aliases which consistently match
libvirt XML naming
- virt-xml: new --start, --no-define options (Marc Hartmayer)
- virt-install: Add driver_queues argument to --controller (Vasudeva Kamath)
- RISC-V support (Andrea Bolognani)
- Device default improvements for non-x86 KVM (Andrea Bolognani)
- Redesigned 'New Network' wizard
- libguestfs inspection improvements (Pino Toscano)
- virt-install: Add support for xenbus controller (Jim Fehlig)
- cli: Add --disk wwn=,rawio= (Athina Plaskasoviti)
- cli: Add --memballoon autodeflate=,stats.period= (Athina Plaskasoviti)
- cli: Add --iothreads (Athina Plaskasoviti)
- cli: Add --numatune memory.placement (Athina Plaskasoviti)
- cli: Add --launchSecurity option (Erik Skultety)
- cli: Fill in --memorybacking options
- cli: --smartcard: support database= and certificate[0-9]*=
- cli: --sysinfo: Add chasis suboptions
- cli: --metadata: add genid= and genid_enable=
- cli: --vcpus: add vcpus.vcpu[0-9]* config
- cli: fill in all common char source options for --serial, --parellel,
--console, --channel, --smartcard, --rng, --redirdev
## Release 2.1.0 (February 03, 2019)
- Bash autocompletion support (Lin Ma, Cole Robinson)
- UI and command line --vsock support (Slavomir Kaslev)
- virt-xml: Add --os-variant option (Andrea Bolognani)
- virt-install: use libosinfo cpu, mem, disk size defaults (Fabiano
Fidencio)
- virt-install: Better usage of libosinfo -unknown distro IDs (Fabiano
Fidencio)
- virt-install: More usage of libosinfo for ISO --location detection
- virt-install: Add --location LOCATION,kernel=X,initrd=Y for pointing to
kernel/initrd in media that virt-install/libosinfo fails to detect
## Release 2.0.0 (October 15, 2018)
- Finish port to Python 3 (Radostin Stoyanov, Cole Robinson)
- Improved VM defaults for supported OS: q35 PCIe, usb3, CPU host-model
- Search based OS selection UI for new VMs (Daniel P. Berrangé, Cole
Robinson)
- Track OS name for lifetime of domain in <metadata> XML
- Host interface management UI has been completely removed
- Show domain IP on interface details page (Lin Ma, Cole Robinson)
- More efficient stats polling with AllDomainStats (Simon Kobyda, Cole
Robinson)
- TPM device model and backend UI (Marc-André Lureau, Stefan Berger)
- Show <channel> connection state in UI (Lin Ma)
- Show attached devices in <controller> UI (Lin Ma)
- UI option to plug/unplug VM nic link (Simon Kobyda)
- UI support for disk discard and detect_zeroes (Povilas Kanapickas, Lin Ma)
- Improved SUSE --location URL/ISO detection (Charles Arnold)
- cli and UI support for SCSI persistent reservations (Lin Ma)
- cli: Add --network mtu.size= option (Anya Harter)
- cli: Add --disk driver.copy_on_read (Anya Harter)
- cli: Add --disk geometry support (Anya Harter)
- cli: Add --sound codec support (Anya Harter)
- cli: Add --hostdev net/char/block for LXC (Lubomir Rintel)
- cli: Add --memorybacking access_mode and source_type (Marc-André Lureau)
- cli: Add --boot rebootTimout (Yossi Ovadia)
- cli: Add --boot bootloader=
- cli: Add --destroy-on-exit
## Release 1.5.0 (February 06, 2018)
- python3 prep work (Radostin Stoyanov, Cole Robinson, Cédric Bosdonnat)
- Switch --location ISO to use isoinfo (Andrew Wong)
- virt-install: add --cpu numa distance handling (Menno Lageman)
- virt-install: fix --disk for rbd volumes with auth (Rauno Väli)
- virt-install: add --cputune vcpupin handling (Wim ten Have)
- details ui: Showing attached scsi devices per controller (Lin Ma)
- network ui: Show details about SR-IOV VF pool (Lin Ma)
- Greatly expand UI test suite coverage
## Release 1.4.3 (September 19, 2017)
- Improve install of debian/ubuntu non-x86 media (Viktor Mihajlovski, Andrew
Wong)
- New virt-install --graphics listen.* (Pavel Hrdina)
- New virt-install --disk snapshot_policy= (Pavel Hrdina)
- New virt-install --cpu cache.* (Lin Ma)
- Several bug fixes
## Release 1.4.2 (August 08, 2017)
- New VM wizard virt-bootstrap integration (Radostin Stoyanov)
- New VM wizard support for virtuozzo containers (Mikhail Feoktistov)
- network UI: add support to create SR-IOV VF pool (Lin Ma)
- Nicer OS list in New VM wizard (Pino Toscano)
- Better defaults for UEFI secureboot builds (Pavel Hrdina)
- Fix defaults for aarch64 VMs if graphics are requested
- virt-install: new `--memdev` option (Pavel Hrdina)
- virt-install: add `--disk logical/physical_block_size` (Yuri Arabadji)
- virt-install: add `--features hyperv_reset=, hyperv_synic=` (Venkat Datta N
H)
## Release 1.4.1 (March 08, 2017)
- storage/nodedev event API support (Jovanka Gulicoska)
- UI options for enabling spice GL (Marc-André Lureau)
- Add default virtio-rng /dev/urandom for supported guest OS
- Cloning and rename support for UEFI VMs (Pavel Hrdina)
- libguestfs inspection UI improvements (Pino Toscano)
- virt-install: Add `--qemu-commandline`
- virt-install: Add `--network vhostuser` (Chen Hanxiao)
- virt-install: Add `--sysinfo` (Charles Arnold)
## Release 1.4.0 (June 18, 2016)
- virt-manager: spice GL console support (Marc-André Lureau, Cole Robinson)
- Bump gtk and pygobject deps to 3.14
- virt-manager: add checkbox to forget keyring password (Pavel Hrdina)
- cli: add `--graphics gl=` (Marc-André Lureau)
- cli: add `--video accel3d=` (Marc-André Lureau)
- cli: add `--graphics listen=none` (Marc-André Lureau)
- cli: add `--transient` flag (Richard W.M. Jones)
- cli: `--features gic=` support, and set a default for it (Pavel Hrdina)
- cli: Expose `--video heads, ram, vram, vgamem`
- cli: add `--graphics listen=socket`
- cli: add device address.type/address.bus/...
- cli: add `--disk seclabelX.model` (and .label, .relabel)
- cli: add `-cpu cellX.id` (and .cpus, and .memory)
- cli: add `--network rom_bar=` and `rom_file=`
- cli: add `--disk backing_format=`
- Many bug fixes and improvements
## Release 1.3.2 (December 24, 2015)
- Fix dependency issues with vte
## Release 1.3.1 (December 06, 2015)
- Fix command line API on RHEL7 pygobject
## Release 1.3.0 (November 24, 2015)
- Git hosting moved to http://github.com/virt-manager/virt-manager
- Switch translation infrastructure from transifex to fedora.zanata.org
- Add dogtail UI tests and infrastructure
- Improved support for s390x kvm (Kevin Zhao)
- virt-install and virt-manager now remove created disk images if VM
install startup fails
- Replace urlgrabber usage with requests and urllib2
- virt-install: add `--network` virtualport support for openvswitch
(Daniel P. Berrange)
- virt-install: support multiple `--security` labels
- virt-install: support `--features kvm_hidden=on|off` (Pavel Hrdina)
- virt-install: add `--features pmu=on|off`
- virt-install: add `--features pvspinlock=on|off` (Abhijeet Kasurde)
- virt-install: add `--events on_lockfailure=on|off` (Abhijeet Kasurde)
- virt-install: add `--network link_state=up|down`
- virt-install: add `--vcpu placement=static|auto`
## Release 1.2.1 (June 06, 2015)
- Bugfix release
- Fix connecting to older libvirt versions (Michał Kępień)
- Fix connecting to VM console with non-IP hostname (Giuseppe Scrivano)
- Fix addhardware/create wizard errors when a nodedev disappears
- Fix adding a second cdrom via customize dialog
## Release 1.2.0 (May 04, 2015)
- OVMF/AAVMF Support (Laszlo Ersek, Giuseppe Scrivano, Cole Robinson)
- Improved support for AArch64 qemu/kvm
- virt-install: Support `--disk type=network` parameters
- virt-install: Make `--disk` just work
- virt-install: Add `--disk sgio=` option (Giuseppe Scrivano)
- addhardware: default to an existing bus when adding a new disk
(Giuseppe Scrivano)
- virt-install: Add `--input` device option
- virt-manager: Unify storagebrowser and storage details functionality
- virt-manager: allow setting a custom connection row name
- virt-install: Support `--hostdev scsi` passthrough
- virt-install: Fill in a bunch of `--graphics` spice options
- Disable spice image compression for new local VMs
- virt-manager: big reworking of the migration dialog
## Release 1.1.0 (September 07, 2014)
- Switch to libosinfo as OS metadata database (Giuseppe Scrivano)
- Use libosinfo for OS detection from CDROM media labels (Giuseppe
Scrivano)
- Use libosinfo for improved OS defaults, like recommended disk size
(Giuseppe Scrivano)
- virt-image tool has been removed, as previously announced
- Enable Hyper-V enlightenments for Windows VMs
- Revert virtio-console default, back to plain serial console
- Experimental q35 option in new VM 'customize' dialog
- UI for virtual network QoS settings (Giuseppe Scrivano)
- virt-install: `--disk discard=` support (Jim Minter)
- addhardware: Add spiceport UI (Marc-André Lureau)
- virt-install: `--events on_poweroff` etc. support (Chen Hanxiao)
- cli:`--network portgroup=` support and UI support
- cli:`--boot initargs=` and UI support
- addhardware: allow setting controller model (Chen Hanxiao)
- virt-install: support setting hugepage options (Chen Hanxiao)
## Release 1.0.1 (March 22, 2014)
- virt-install/virt-xml: New `--memorybacking` option (Chen Hanxiao)
- virt-install/virt-xml: New `--memtune option` (Chen Hanxiao)
- virt-manager: UI for LXC `<idmap>` (Chen Hanxiao)
- virt-manager: gsettings key to disable keygrab (Kjö Hansi Glaz)
- virt-manager: Show domain state reason in the UI (Giuseppe Scrivano)
- Fix a number of bugs found since the 1.0.0 release
## Release 1.0.0 (February 14, 2014)
- virt-manager: Snapshot support
- New tool virt-xml: Edit libvirt XML in one shot from the command line
- Improved defaults: qcow2, USB2, host CPU model, guest agent channel,...
- Introspect command line options like `--disk=?` or `--network=help`
- The virt-image tool will be removed before the next release, speak up
if you have a good reason not to remove it.
- virt-manager: Support arm vexpress VM creation
- virt-manager: Add guest memory usage graphs (Thorsten Behrens)
- virt-manager: UI for editing `<filesystem>` devices (Cédric Bosdonnat)
- Spice USB redirection support (Guannan Ren)
- `<tpm>` UI and command line support (Stefan Berger)
- `<rng>` UI and command line support (Giuseppe Scrivano)
- `<panic>` UI and command line support (Chen Hanxiao)
- `<blkiotune>` command line support (Chen Hanxiao)
- virt-manager: support for glusterfs storage pools (Giuseppe Scrivano)
- cli: New options `--memory`, `--features`, `--clock`, `--metadata`, `--pm`
- Greatly improve app responsiveness when connecting to remote hosts
- Lots of UI cleanup and improvements
## Release 0.10.0 (June 19, 2013)
- Merged code with python-virtinst. virtinst is no longer public
- Port from GTK2 to GTK3 (Daniel Berrange, Cole Robinson)
- Port from gconf to gsettings
- Port from autotools to python distutils
- Remove virt-manager-tui
- Remove HAL support
- IPv6 and static route virtual network support (Gene Czarcinski)
- virt-install: Add `--cpu host-passthrough` (Ken ICHIKAWA, Hu Tao)
## Release 0.9.5 (April 01, 2013)
- Enable adding virtio-scsi disks (Chen Hanxiao)
- Support security auto-relabel setting (Martin Kletzander)
- Support disk iotune settings (David Shane Holden)
- Support 'reset' as a reboot option (John Doyle)
- Bug fixes and minor improvements
## Release 0.9.4 (July 29, 2012)
- Fix VNC keygrab issues
## Release 0.9.3 (July 09, 2012)
- Fix broken release tar.gz of version 0.9.2
## Release 0.9.2 (July 09, 2012)
- Convert to gtkbuilder: UI can now be edited with modern glade tool
- virt-manager no longer runs on RHEL5, but can manage a remote RHEL5
host
- Option to configure spapr net and disk devices for pseries (Li Zhang)
- Many bug fixes and improvements
## Release 0.9.1 (January 31, 2012)
- Support for adding usb redirection devices (Marc-André Lureau)
- Option to switch usb controller to support usb2.0 (Marc-André Lureau)
- Option to specify machine type for non-x86 guests (Li Zhang)
- Support for filesystem device type and write policy (Deepak C Shetty)
- Many bug fixes!
## Release 0.9.0 (July 26, 2011)
- Use a hiding toolbar for fullscreen mode
- Use libguestfs to show guest packagelist and more (Richard W.M. Jones)
- Basic 'New VM' wizard support for LXC guests
- Remote serial console access (with latest libvirt)
- Remote URL guest installs (with latest libvirt)
- Add Hardware: Support `<filesystem>` devices
- Add Hardware: Support `<smartcard>` devices (Marc-André Lureau)
- Enable direct interface selection for qemu/kvm (Gerhard Stenzel)
- Allow viewing and changing disk serial number
## Release 0.8.7 (March 24, 2011)
- Allow renaming an offline VM
- Spice password support (Marc-André Lureau)
- Allow editting NIC `<virtualport>` settings (Gerhard Stenzel)
- Allow enabling/disabling individual CPU features
- Allow easily changing graphics type between VNC and SPICE for existing
VM
- Allow easily changing network source device for existing VM
## Release 0.8.6 (Jan 14, 2011)
- SPICE support (requires spice-gtk) (Marc-André Lureau)
- Option to configure CPU model
- Option to configure CPU topology
- Save and migration cancellation (Wen Congyang)
- Save and migration progress reporting
- Option to enable bios boot menu
- Option to configure direct kernel/initrd boot
## Release 0.8.5 (August 24, 2010)
- Improved save/restore support
- Option to view and change disk cache mode
- Configurable VNC keygrab sequence (Michal Novotny)
## Release 0.8.4 (March 24, 2010)
- 'Import' install option, to create a VM around an existing OS image
- Support multiple boot devices and boot order
- Watchdog device support
- Enable setting a human readable VM description.
- Option to manually specifying a bridge name, if bridge isn't detected
## Release 0.8.3 (February 8th, 2010)
- New ability to manage network interfaces: start, stop, and view existing
interfaces. Provision new bridge, bond, and vlan devices.
- New option to 'customize VM before install', which allows adjusting most
VM options from the install wizard.
## Release 0.8.2 (December 14th, 2009)
This is largely a bug fix release. The following important bugs were fixed:
- Right click in the manager window operates on the clicked row, NOT
the last selected row. This could cause an admin to accidentally shut down
the wrong machine.
- Running virt-manager on a new machine / user account no longer produces
a traceback.
Additionally, there is one new feature:
- Allow ejecting and connecting floppy media
## Release 0.8.1 (December 3rd, 2009)
- VM Migration wizard, exposing various migration options
- Enumerate CDROM and bridge devices on remote connections
- Can once again list multiple graphs in main manager window (Jon Nordby)
- Support disabling dhcp (Michal Novotny), and specifying 'routed' type for
new virtual networks
- Support storage pool source enumeration for LVM, NFS, and SCSI
- Allow changing VM ACPI, APIC, clock offset, individual vcpu pinning,
and video model (vga, cirrus, etc.)
- Many improvements and bugfixes
## Release 0.8.0 (July 28th, 2009)
This release includes:
- New 'Clone VM' Wizard
- Improved UI, including an overhaul of the main 'manager' view
- System tray icon for easy VM access (start, stop, view console/details)
- Wizard for adding serial, parallel, and video devices to existing VMs.
- CPU pinning support (Michal Novotny)
- Ability to view and change VM security (sVirt) settings (Dan Walsh)
- Many bug fixes and improvements
## Release 0.7.0 (March 9th, 2009)
This release includes:
- Redesigned 'New Virtual Machine' wizard (Jeremy Perry, Tim Allen,
Cole Robinson)
- Option to remove storage when deleting a virtual machine.
- File browser for libvirt storage pools and volumes, for use when
attaching storage to a new or existing guest.
- Physical device assignment (PCI, USB) for existing virtual machines.
- Bug fixes and minor improvements.
## Release 0.6.1 (January 26th, 2009)
This release includes:
- VM disk and network stats reporting (Guido Gunther)
- VM Migration support (Shigeki Sakamoto)
- Support for adding sound devices to an existing VM
- Enumerate host devices attached to an existing VM
- Allow specifying a device model when adding a network device to an
existing VM
- Combine the serial console view with the VM Details window
- Allow connection to multiple VM serial consoles
- Bug fixes and many minor improvements.
## Release 0.6.0 (September 10th, 2008)
This release includes:
- Remote storage management and provisioning: View, add, remove, and
provision libvirt managed storage. Attach managed storage to a
remote VM.
- Remote VM installation support: Install from managed media (cdrom)
or PXE. Simple install time storage provisioning.
- VM details and console windows merged: each VM is now represented by a
single tabbed window.
- Use Avahi to list libvirtd instances on network
- Hypervisor Autoconnect: Option to connect to hypervisor at virt-manager
start up.
- Option to add sound device emulation when creating new guests.
- Virtio and USB options when adding a disk device.
- Allow viewing and removing VM sound, serial, parallel, and console devices.
- Specifying a specific keymap when adding display device.
- Keep app running if manager window is closed by VM window is still open.
- Allow limiting amount of stored stats history
- Numerous bug fixes and minor improvements.
## Release 0.5.4
This release focuses on minor feature enhancement and bug fixes. Using
the new GTK-VNC accelerated scaling support, the guest console window
can be smoothly resized to fill the screen. The SSH username is passed
through to the VNC console when tunnelling. Adding bridged network
devices is fixed. Support for all libvirt authentication methods is
enabled including Kerberos and PolicyKit. Solaris portability fix for
the text console. Support for detecting bonding and VLAN devices for
attaching guest NICs. Allow fullvirt guests to install off kernel and
initrd as well as existing CDROM methods. Fix invocation of DBus methods
to use an interface. Allow setting of autostart flag, and changing boot
device ordering. Control the new VM wizard based on declared hypervisor
capabilities.
## Release 0.5.3
This is a bug fix release. The sizing of the VNC window is fixed for
screens where the physical size is less than the guest screen size.
The 'new vm' button is switched back to its old (more obvious style/
placement). Restore of VMs is working again for local connections. A
menu for sending special key sequences to the guest is added. Lots of
other misc bug fixes
## Release 0.5.2
This is a bug fix release. Some broken menu items are hooked up again.
The rounding of memory values is fixed. Re-connecting to the VNC display
is fixed. Blocking of GTK accelerators is re-introduced when VNC is
active. Scrollbars on the VNC widget are re-introduced if the console
is close to the maximum local screensize. One new VM wizard is enabled
per connection. Hardware device details are immediately refreshed after
changes. Ability to add/remove display and input devices is enabled.
## Release 0.5.1
This release improves upon the remote management capabilities. It can
now tunnel connections to the VNC server over SSH. It avoids prompting
for SSH passwords on the console. Handling of VNC connections & retries
is made more robust. There is support for changing CDROM media on the
fly (requires suitably updated libvirt). There is ability to PXE boot
install fullyvirtualized guests. Connetions to hypervisors are opened
in the background to avoid blocking the whole UI.
## Release 0.5.0
This release introduces the ability to manage multiple remote machines,
using either SSH+public keys, or TLS+x509 certificates to connect and
authenticate. The main user interface is re-worked to show multiple
hosts in a tree view, remebering connections across restarts. It is
not currently possible to create new guests with a remote host connection.
This capability will be added in a future release. The guest VNC console
implementation has been replaced with the GTK-VNC widget for greatly
improved performance and increased feature set. Other miscellaneous bug
fixes and feature enhancements are also included.
## Release 0.4.0
This release introduces major new functionality. There is new UI for the
creation & management of virtual networks using the new libvirt networking
APIs. The guest creation wizard can now attach VMs to a virtual network or
shared physical devices. The initial connection dialog is no longer shown,
either a QEMU or Xen connection is automatically opened based on host kernel
capabilities. For existing guests there is support for the addition and
removal of both disk & network devices (hot-add/remove too if supported by
the virtualization platform being used - eg Xen paravirt). The keymap for
guest VNC server is automatically set based on the local keymap to assist
people using non-English keyboard layouts. There is improved error reporting
for a number of critical operations such as starting guests / connecting
to the hypervisor.
## Release 0.3.2
The release introduces online help for all windows / dialogs in the
application, to explain usage & operation of key functions. Auto-popup
of consoles was fixed for existing inactive domains. Additional control
operations are available on the right-click menu in the VM list. A
handful of other minor bug fixes are also applied.
## Release 0.3.1
This release introduces support for managing QEMU / KVM virtual machines
using the new libvirt QEMU driver backend. This requires a new libvirt
(at least 0.2.0) to enable the QEMU driver. It also requires an install
of the virtinst package of at least version 0.101.0 to support QEMU. The
dual cursor problem is worked around by grabbing the mouse pointer upon
first button press (release with Ctrl+Alt). The progress bar display
when creating new VMs has had its appearance tweaked. The new VM creation
wizard also allows the user to specify the type of guest OS being installed.
This will allow the setup of virtual hardware to be optimized for the needs
of specific guest OS.
## Release 0.3.0
This release brings a major functionality update, enabling management
of inactive domains. This requires a new libvirt (at least 0.1.11)
to provide implementations of inactive domain management for Xen 3.0.3
and Xen 3.0.4. With this new functionality the display will list all
guests which are in the 'shutoff' state. The guest can be started with
the 'Run' button in the virtual console window. The vistinst package
must also be updated to at least version 0.100.0 to ensure that during
provisioning of guests it uses the new inactive domain management APIs.
Finally there have been a variety of minor UI fixes & enhancements
such as progress bars during guest creation, reliability fixes to the
virtual console and even greater coverage for translations.
## Release 0.2.6
The release focus has been on major bug fixing. This is also the
first release in which (partial) translations are available for
the UI in approximately 20 languages - thanks to the Fedora i18n
team for excellent progress on this. It is now possible to control
the virt-manager UI with command line arguments as well as the DBus
API & it DBus activation is no longer used by default which fixes
interaction with GNOME keyring & AT-SPI accesibility. Numerous
UI issues were fixed / clarified, particularly in the graphical
console and new VM creation wizard.
## Release 0.1.4
* Integration with GNOME keyring for the VNC console to avoid
need to remember passwords when accessing the guest domain's
console
* Use cairo to rendered a '50% alpha gray wash' over the screenshot
to give appearance of a 'dimmed' display when paused. Also render
the word 'paused' in big letters.
* Initial cut of code for saving domain snapshots to disk
* Added icons for buttons which were missing graphics
* Miscellaneous RPM spec file fixes to comply with rpmlint
* Update status icons to match those in the gnome-applet-vm
* Added domain ID and # VCPUs to summary view
* Misc bug fixes
## Release 0.1.3
* Fixed DBus service activation & general brokenness
* Added a display of virtual CPU count in summary page
* Fixed alignment of status label in details page
* Make hardware config panel resizeable
* Switch detailed graph rendering to use sparkline code
* Switch to use filled sparkline graphs
## Release 0.1.2
* First public release

10
PKG-INFO Normal file
View File

@ -0,0 +1,10 @@
Metadata-Version: 1.0
Name: virt-manager
Version: 2.2.1
Summary: UNKNOWN
Home-page: http://virt-manager.org
Author: Cole Robinson
Author-email: virt-tools-list@redhat.com
License: GPLv2+
Description: UNKNOWN
Platform: UNKNOWN

34
README.md Normal file
View File

@ -0,0 +1,34 @@
# Virtual Machine Manager
`virt-manager` is a graphical tool for managing virtual machines
via [libvirt](https://libvirt.org). Most usage is with QEMU/KVM
virtual machines, but Xen and libvirt LXC containers are well
supported. Common operations for any libvirt driver should work.
Several command line tools are also provided:
- `virt-install`: Create new libvirt virtual machines
- `virt-clone`: Duplicate existing libvirt virtual machines
- `virt-xml`: Edit existing libvirt virtual machines/manipulate libvirt XML
- `virt-convert`: Convert VMX or OVF configs to libvirt virtual machines
For dependency info and installation instructions, see the
[INSTALL.md](INSTALL.md) file. If you just want to quickly test the
code from a git checkout, you can launch any of the commands like:
```sh
./virt-manager --debug ...
```
## Contact
- All comments / suggestions / patches should be directed to the
[virt-tools-list](https://www.redhat.com/mailman/listinfo/virt-tools-list)
mailing list.
- For IRC we use #virt on OFTC.
- For bug reporting info, see
[virt-manager bug reporting](https://virt-manager.org/bugs).
- There are further project details on the
[virt-manager](https://virt-manager.org/) website.
- See the [CONTRIBUTING.md](CONTRIBUTING.md) file for info about submitting patches or
contributing translations.

View File

@ -0,0 +1,37 @@
#!/bin/bash
# Run something, muting output or redirecting it to the debug stream
# depending on the value of _ARC_DEBUG.
__python_argcomplete_run() {
if [[ -z "$_ARC_DEBUG" ]]; then
"$@" 8>&1 9>&2 1>/dev/null 2>&1
else
"$@" 8>&1 9>&2 1>&9 2>&1
fi
}
_python_argcomplete() {
if [[ "$COMP_WORDBREAKS" != *,* ]]; then
COMP_WORDBREAKS="${COMP_WORDBREAKS},"
fi
local IFS=$'\013'
local SUPPRESS_SPACE=0
if compopt +o nospace 2> /dev/null; then
SUPPRESS_SPACE=1
fi
COMP_WORDS[4]=""
COMPREPLY=( $(IFS="$IFS" \
COMP_LINE="$COMP_LINE" \
COMP_POINT="$COMP_POINT" \
COMP_TYPE="$COMP_TYPE" \
_ARGCOMPLETE_COMP_WORDBREAKS="\"'><;|&(:" \
_ARGCOMPLETE=1 \
_ARGCOMPLETE_SUPPRESS_SPACE=$SUPPRESS_SPACE \
__python_argcomplete_run "$1") )
if [[ $? != 0 ]]; then
unset COMPREPLY
elif [[ $SUPPRESS_SPACE == 1 ]] && [[ "$COMPREPLY" =~ [=/:]$ ]]; then
compopt -o nospace
fi
}
complete -o nospace -o default -F _python_argcomplete ::SCRIPTNAME::

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,357 @@
<schemalist>
<!-- Relocatable per VM schema -->
<schema id="org.virt-manager.virt-manager.vm">
<key name="vm-window-size" type="(ii)">
<default>(-1, -1)</default>
<summary>VM window dimensions</summary>
<description>VM window dimensions</description>
</key>
<key name="scaling" type="i">
<default>-1</default>
<summary>When to scale the VM graphical console</summary>
<description>When to scale the VM graphical console. -1 = global default, 0 = never, 1 = only when in full screen mode, 2 = Always</description>
</key>
<key name="console-password" type="(si)">
<default>("", -1)</default>
<summary>Username and secrets ID for graphical password</summary>
<description>Username and secrets ID for graphical password</description>
</key>
<key name="resize-guest" type="i">
<default>-1</default>
<summary>Automatically resize guest when window size changes</summary>
<description>Automatically change guest resolution along with virt-manager window. Only works with spice with a vdagent set up. -1 = global default, 0 = off, 1 = on.</description>
</key>
</schema>
<!-- Relocatable per conn schema -->
<schema id="org.virt-manager.virt-manager.connection">
<key name="pretty-name" type="s">
<default>''</default>
<summary>Custom connection description</summary>
<description>Custom connection description, used in the manager window. If empty, the app generates a default on demand.</description>
</key>
<key name="window-size" type="(ii)">
<default>(-1, -1)</default>
<summary>Conn details window dimensions</summary>
<description>Connection details window dimensions</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager"
path="/org/virt-manager/virt-manager/">
<key name="system-tray" type="b">
<default>false</default>
<summary>Show system tray icon</summary>
<description>Show system tray icon while app is running</description>
</key>
<key name="xmleditor-enabled" type="b">
<default>false</default>
<summary>Enable XML editting UI</summary>
<description>Enable XML editting UI</description>
</key>
<key name="enable-libguestfs-vm-inspection" type="b">
<default>true</default>
<summary>Enable libguestfs VM inspection</summary>
<description>Enable libguestfs VM inspection for things like OS icons, installed applications, etc. This only works if python libguestfs bindings are installed.</description>
</key>
<key name="manager-window-height" type="i">
<default>0</default>
<summary>Default manager window height</summary>
<description>Default manager window height</description>
</key>
<key name="manager-window-width" type="i">
<default>0</default>
<summary>Default manager window width</summary>
<description>Default manager window width</description>
</key>
<child name="connections" schema="org.virt-manager.virt-manager.connections"/>
<child name="vmlist-fields" schema="org.virt-manager.virt-manager.vmlist-fields"/>
<child name="stats" schema="org.virt-manager.virt-manager.stats"/>
<child name="urls" schema="org.virt-manager.virt-manager.urls"/>
<child name="console" schema="org.virt-manager.virt-manager.console"/>
<child name="details" schema="org.virt-manager.virt-manager.details"/>
<child name="new-vm" schema="org.virt-manager.virt-manager.new-vm"/>
<child name="paths" schema="org.virt-manager.virt-manager.paths"/>
<child name="confirm" schema="org.virt-manager.virt-manager.confirm"/>
</schema>
<schema id="org.virt-manager.virt-manager.connections"
path="/org/virt-manager/virt-manager/connections/">
<key name="uris" type="as">
<default>[]</default>
<summary>Libvirt URIs listed in the manager window</summary>
<description>Libvirt URIs listed in the manager window</description>
</key>
<key name="autoconnect" type="as">
<default>[]</default>
<summary>Libvirt URIs to connect to on app startup</summary>
<description>Libvirt URIs to connect to on app startup</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.vmlist-fields" path="/org/virt-manager/virt-manager/vmlist-fields/">
<key name="disk-usage" type="b">
<default>false</default>
<summary>Show disk I/O in summary</summary>
<description>Show the disk I/O field in the domain list summary view</description>
</key>
<key name="network-traffic" type="b">
<default>false</default>
<summary>Show network I/O in summary</summary>
<description>Show the network I/O field in the domain list summary view</description>
</key>
<key name="cpu-usage" type="b">
<default>true</default>
<summary>Show guest cpu usage in summary</summary>
<description>Show the guest cpu usage field in the domain list summary view</description>
</key>
<key name="host-cpu-usage" type="b">
<default>false</default>
<summary>Show host cpu usage in summary</summary>
<description>Show the host cpu usage field in the domain list summary view</description>
</key>
<key name="memory-usage" type="b">
<default>false</default>
<summary>Show memory usage in summary</summary>
<description>Show memory usage field in the domain list summary view</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.stats" path="/org/virt-manager/virt-manager/stats/">
<key name="update-interval" type="i">
<default>3</default>
<summary>The statistics update interval</summary>
<description>The statistics update interval in seconds</description>
</key>
<key name="enable-cpu-poll" type="b">
<default>true</default>
<summary>Poll VM CPU stats</summary>
<description>Whether or not the app will poll VM CPU statistics</description>
</key>
<key name="enable-disk-poll" type="b">
<default>false</default>
<summary>Poll disk i/o stats</summary>
<description>Whether or not the app will poll VM disk i/o statistics</description>
</key>
<key name="enable-net-poll" type="b">
<default>false</default>
<summary>Poll net i/o stats</summary>
<description>Whether or not the app will poll VM network i/o statistics</description>
</key>
<key name="enable-memory-poll" type="b">
<default>false</default>
<summary>Poll memory stats</summary>
<description>Whether or not the app will poll VM memory statistics</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.urls"
path="/org/virt-manager/virt-manager/urls/">
<key name="containers" type="as">
<default>[]</default>
<summary>Saved list of source URLs</summary>
<description>Saved list of source URLs used to bootstrap OS containers</description>
</key>
<key name="urls" type="as">
<default>[]</default>
<summary>Saved list of install URLs</summary>
<description>Saved list of install URLs</description>
</key>
<key name="isos" type="as">
<default>[]</default>
<summary>Saved list of install ISOs</summary>
<description>Saved list of install ISOs</description>
</key>
<key name="kickstarts" type="as">
<default>[]</default>
<summary>Saved list of install kickstarts</summary>
<description>Saved list of install kickstarts</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.console"
path="/org/virt-manager/virt-manager/console/">
<key name="enable-accels" type="b">
<default>false</default>
<summary>Enable menu accelerators in console window</summary>
<description>Whether to enable menu accelerators while connected to the guest graphical console.</description>
</key>
<key name="scaling" type="i">
<default>1</default>
<summary>When to scale the VM graphical console</summary>
<description>When to scale the VM graphical console. 0 = never, 1 = only when in full screen mode, 2 = Always</description>
</key>
<key name="resize-guest" type="i">
<default>-1</default>
<summary>Automatically resize guest when window size changes</summary>
<description>Automatically change guest resolution along with virt-manager window. Only works with spice with a vdagent set up. -1 = global default, 0 = off, 1 = on.</description>
</key>
<key name="grab-keys" type="s">
<default>''</default>
<summary>Grab keyboard sequence for the graphical console</summary>
<description>Grab keyboard sequence for the graphical console</description>
</key>
<!--This key is not intended to be exposed in the UI yet-->
<key name="grab-keyboard" type="b">
<default>true</default>
<summary>Enable grab keyboard when active and focused</summary>
<description>Enable grab keyboard when active and focused</description>
</key>
<key name="auto-redirect" type="b">
<default>true</default>
<summary>Enable SPICE Auto USB redirection in console window</summary>
<description>Whether to enable SPICE Auto USB redirection while connected to the guest console.</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.details"
path="/org/virt-manager/virt-manager/details/">
<key name="show-toolbar" type="b">
<default>true</default>
<summary>Whether to show VM button toolbar in Details display</summary>
<description>Whether to show toolbar containing Virtual Machine action buttons (such as Run, Pause, Shutdown) in the details display</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.new-vm"
path="/org/virt-manager/virt-manager/new-vm/">
<key name="add-sound" type="b">
<default>true</default>
<summary>Install sound device for new Vms</summary>
<description>Whether to install a sound device for new VMs</description>
</key>
<key name="graphics-type" type="s">
<default>'system'</default>
<summary>Install selected graphics type for new VM</summary>
<description>Install selected graphics type for new VM. vnc or spice, system for software configured default</description>
</key>
<key name="add-spice-usbredir" type="s">
<default>'system'</default>
<summary>Add spice usbredir HW for new VMs</summary>
<description>Add spice usbredir HW for new VMs. yes, no, or system for software configured default</description>
</key>
<key name="storage-format" type="s">
<default>'default'</default>
<summary>Use selected format for new VM storage</summary>
<description>Use selected format when creating new disk images in new VM wizard</description>
</key>
<key name="cpu-default" type="s">
<default>'default'</default>
<summary>CPU setting to use for new VMs</summary>
<description>CPU setting to use for new VMs. Limited to VMs matching the host architecture. Possible values: default (virt-manager default), hv-default (qemu's default), host-model-only (just the model, not the additional features), host-model (libvirt's host-model setting).</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.paths"
path="/org/virt-manager/virt-manager/paths/">
<key name="image-default" type="s">
<default>''</default>
<summary>Default image path</summary>
<description>Default path for choosing VM images</description>
</key>
<key name="media-default" type="s">
<default>''</default>
<summary>Default media path</summary>
<description>Default path for choosing media</description>
</key>
<key name="screenshot-default" type="s">
<default>''</default>
<summary>Default screenshot path</summary>
<description>Default path for saving screenshots from VMs</description>
</key>
<key name="perms-fix-ignore" type="as">
<default>[]</default>
<summary>Ask about fixing permissions</summary>
<description>Whether to ask about fixing path permissions</description>
</key>
</schema>
<schema id="org.virt-manager.virt-manager.confirm" path="/org/virt-manager/virt-manager/confirm/">
<key name="forcepoweroff" type="b">
<default>true</default>
<summary>Confirm force poweroff request</summary>
<description>Whether we require confirmation to forcepoweroff a VM</description>
</key>
<key name="poweroff" type="b">
<default>false</default>
<summary>Confirm poweroff request</summary>
<description>Whether we require confirmation to poweroff/reboot a VM</description>
</key>
<key name="pause" type="b">
<default>false</default>
<summary>Confirm pause request</summary>
<description>Whether we require confirmation to pause a VM</description>
</key>
<key name="removedev" type="b">
<default>true</default>
<summary>Confirm device removal request</summary>
<description>Whether we require confirmation to remove a virtual device</description>
</key>
<key name="interface-power" type="b">
<default>true</default>
<summary>Confirm device interface start and stop</summary>
<description>Whether we require confirmation to start or stop a libvirt virtual interface</description>
</key>
<key name="unapplied-dev" type="b">
<default>true</default>
<summary>Confirm about unapplied device changes</summary>
<description>Whether we ask the user to apply or discard unapplied device changes</description>
</key>
<key name="delete-storage" type="b">
<default>true</default>
<summary>Confirm deleting storage</summary>
<description>Whether we require a confirmation on deleting storage</description>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>virt-manager.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<_name>Virtual Machine Manager</_name>
<_summary>Graphically manage KVM, Xen, or LXC via libvirt</_summary>
<description>
<_p>
Virtual Machine Manager provides a graphical tool for administering virtual
machines for KVM, Xen, and LXC. Start, stop, add or remove virtual devices,
connect to a graphical or serial console, and see resource usage statistics
for existing VMs on local or remote machines. Uses libvirt as the backend
management API.
</_p>
</description>
<screenshots>
<screenshot type="default">
<image>https://virt-manager.org/appdata/en_US/manager.png</image>
<_caption>Main manager window</_caption>
</screenshot>
<screenshot>
<image>https://virt-manager.org/appdata/en_US/details.png</image>
<_caption>Virtual machine configuration screen</_caption>
</screenshot>
<screenshot>
<image>https://virt-manager.org/appdata/en_US/console.png</image>
<_caption>Graphical console connection for a virtual machine</_caption>
</screenshot>
</screenshots>
<url type="homepage">https://www.virt-manager.org/</url>
<url type="bugtracker">https://bugzilla.redhat.com/enter_bug.cgi?product=Virtualization%20Tools&amp;component=virt-manager</url>
<url type="translate">https://fedora.zanata.org/project/view/virt-manager/</url>
<update_contact>virt-tools-list@redhat.com</update_contact>
<translation type="gettext">virt-manager</translation>
<keywords>
<keyword>virtualization</keyword>
<keyword>libvirt</keyword>
<keyword>qemu</keyword>
<keyword>kvm</keyword>
</keywords>
</component>

View File

@ -0,0 +1,8 @@
[Desktop Entry]
_Name=Virtual Machine Manager
_Comment=Manage virtual machines
Icon=virt-manager
Exec=virt-manager
Type=Application
Terminal=false
Categories=System;

228
man/virt-clone.pod Normal file
View File

@ -0,0 +1,228 @@
=pod
=head1 NAME
virt-clone - clone existing virtual machine images
=head1 SYNOPSIS
B<virt-clone> [OPTION]...
=head1 DESCRIPTION
B<virt-clone> is a command line tool for cloning existing virtual machine
images using the C<libvirt> hypervisor management library. It will copy
the disk images of any existing virtual machine, and define a new guest
with an identical virtual hardware configuration. Elements which require
uniqueness will be updated to avoid a clash between old and new guests.
By default, virt-clone will show an error if the necessary information to
clone the guest is not provided. The --auto-clone option will generate
all needed input, aside from the source guest to clone.
Please note, virt-clone does not change anything _inside_ the guest OS, it only duplicates disks and does host side changes. So things like changing passwords, changing static IP address, etc are outside the scope of this tool. For these types of changes, please see B<virt-sysprep>.
=head1 GENERAL OPTIONS
Most options are not required. Minimum requirements are --original or
--original-xml (to specify the guest to clone), --name, and appropriate
storage options via -file.
=over 4
=item B<--connect> URI
Connect to a non-default hypervisor. See L<virt-install(1)> for details
=item B<-o> ORIGINAL_GUEST
=item B<--original> ORIGINAL_GUEST
Name of the original guest to be cloned. This guest must be shut off or paused
since it is not possible to safely clone active guests at this time.
=item B<--original-xml> ORIGINAL_XML
Libvirt guest xml file to use as the original guest. The guest does not need to
be defined on the libvirt connection. This takes the place of the
C<--original> parameter.
=item B<--auto-clone>
Generate a new guest name, and paths for new storage.
An example or possible generated output:
Original name : MyVM
Generated clone name : MyVM-clone
Original disk path : /home/user/foobar.img
Generated disk path : /home/user/foobar-clone.img
If generated names collide with existing VMs or storage, a number is appended,
such as foobar-clone-1.img, or MyVM-clone-3.
=item B<-n> NAME
=item B<--name> NAME
Name of the new guest virtual machine instance. This must be unique amongst
all guests known to the hypervisor connection, including those not
currently active.
=item B<-u> UUID
=item B<--uuid> UUID
UUID for the guest; if none is given a random UUID will be generated. If you
specify UUID, you should use a 32-digit hexadecimal number. UUID are intended
to be unique across the entire data center, and indeed world. Bear this in
mind if manually specifying a UUID
=item B<-f> DISKFILE
=item B<--file> DISKFILE
Path to the file, disk partition, or logical volume to use as the backing store
for the new guest's virtual disk. If the original guest has multiple disks,
this parameter must be repeated multiple times, once per disk in the original
virtual machine.
=item B<--nvram> NVRAMFILE
Optional path to the new nvram VARS file, if no path is specified and the
guest has nvram the new nvram path will be auto-generated. If the guest
doesn't have nvram this option will be ignored.
=item B<--force-copy> TARGET
Force cloning the passed disk target ('hdc', 'sda', etc.). By default,
C<virt-clone> will skip certain disks, such as those marked 'readonly' or
'shareable'.
=item B<--skip-copy> TARGET
Skip cloning the passed disk target ('hdc', 'sda', etc.). By default,
C<virt-clone> will clone certain disk images, typically read/write
devices. Use this to skip copying of a specific device, so the new
VM uses the same storage path as the original VM.
=item B<--nonsparse>
Fully allocate the new storage if the path being cloned is a sparse file.
See L<virt-install(1)> for more details on sparse vs. nonsparse.
=item B<--preserve-data>
No storage is cloned: disk images specific by --file are preserved as is,
and referenced in the new clone XML. This is useful if you want to clone
a VM XML template, but not the storage contents.
=item B<--reflink>
When --reflink is specified, perform a lightweight copy. This is much faster
if source images and destination images are all on the same btrfs filesystem.
If COW copy is not possible, then virt-clone fails.
=item B<-m> MAC
=item B<--mac> MAC
Fixed MAC address for the guest; If this parameter is omitted, or the value
C<RANDOM> is specified a suitable address will be randomly generated. Addresses
are applied sequentially to the networks as they are listed in the original
guest XML.
=item B<--print-xml>
Print the generated clone XML and exit without cloning.
=item B<--replace>
Shutdown and remove any existing guest with the passed C<--name> before
cloning the original guest.
=item B<-h>
=item B<--help>
Show the help message and exit
=item B<--version>
Show program's version number and exit
=item B<--check>
Enable or disable some validation checks. See L<virt-install(1)> for more details.
=item B<-q>
=item B<--quiet>
Suppress non-error output.
=item B<-d>
=item B<--debug>
Print debugging information to the terminal when running the install process.
The debugging information is also stored in
C<~/.cache/virt-manager/virt-clone.log> even if this parameter is omitted.
=back
=head1 EXAMPLES
Clone the guest called C<demo> on the default connection, auto generating
a new name and disk clone path.
# virt-clone \
--original demo \
--auto-clone
Clone the guest called C<demo> which has a single disk to copy
# virt-clone \
--original demo \
--name newdemo \
--file /var/lib/xen/images/newdemo.img
Clone a QEMU guest with multiple disks
# virt-clone \
--connect qemu:///system \
--original demo \
--name newdemo \
--file /var/lib/xen/images/newdemo.img \
--file /var/lib/xen/images/newdata.img
Clone a guest to a physical device which is at least as big as the
original guests disks. If the destination device is bigger, the
new guest can do a filesystem resize when it boots.
# virt-clone \
--connect qemu:///system \
--original demo \
--name newdemo \
--file /dev/HostVG/DemoVM \
--mac 52:54:00:34:11:54
=head1 BUGS
Please see L<https://virt-manager.org/bugs>
=head1 COPYRIGHT
Copyright (C) Fujitsu Limited, Copyright (C) Red Hat, Inc,
and various contributors.
This is free software. You may redistribute copies of it under the terms
of the GNU General Public License C<https://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
=head1 SEE ALSO
C<virt-sysprep(1)>, C<virsh(1)>, C<virt-install(1)>, C<virt-manager(1)>, the project website C<https://virt-manager.org>
=cut

144
man/virt-convert.pod Normal file
View File

@ -0,0 +1,144 @@
=pod
=head1 NAME
virt-convert - convert ovf/vmx to native libvirt guests
=head1 SYNOPSIS
B<virt-convert> INPUT.vmx|INPUT.ovf|INPUT-DIR|INPUT.zip [OPTIONS]
=head1 DESCRIPTION
B<virt-convert> is a command line tool for converting VMX or OVF virtual
machines to native libvirt XML. Disk format conversion can also be done
at the same time.
The simplest invocation is simply: virt-convert INPUT. INPUT might be
a .vmx or .ovf file, a directory containing a .vmx or .ovf file (and
likely 1 or more disk images), or an appliance archive like .zip, .tar.gz,
or .ova. virt-convert will try to do the right thing in each case.
By default, the virt-convert will convert all encountered disk images
to 'raw' format, sending the output to a new directory location. So the
original disk images are _not_ altered in place.
=head1 OPTIONS
=over 4
=item B<--connect> URI
Connect to a non-default hypervisor. See L<virt-install(1)> for details
=back
=head1 CONVERSION OPTIONS
=over 4
=item B<-i> INPUT-FORMAT
=item B<--input-format> INPUT-FORMAT
Input format. This should be auto-detected, but can be forced if necessary. Currently C<vmx> and C<ovf> are supported.
=item B<-D> OUTPUT-FORMAT
=item B<--disk-format> OUTPUT-FORMAT
Output disk format. The default is 'raw', so any encountered disk images will be converted to 'raw' format using L<qemu-img(1)>. Pass C<none> if no conversion should be performed: in this case the images will just be copied to the specified --destination.
=item B<--destination> DIRECTORY
The directory to send converted/copied disk images. If not specified, the hypervisor default is used, typically /var/lib/libvirt/images.
=back
=head1 MISCELLANEOUS OPTIONS
=over 4
=item B<--noautoconsole>
Don't automatically try to connect to the guest console. The default behaviour
is to launch L<virt-viewer(1)> to display the graphical console, or to run the
C<virsh> C<console> command to display the text console. Use of this parameter
will disable this behaviour.
=item B<--print-xml>
Print the generated libvirt XML, but do not perform any disk conversions or
install/start the guest. This option implies --dry-run.
=item B<--dry-run>
Proceed through the conversion process, but don't convert disks or actually
write any converted files.
=item B<-h>
=item B<--help>
Show the help message and exit
=item B<--version>
Show program's version number and exit
=item B<-q>
=item B<--quiet>
Avoid verbose output.
=item B<-d>
=item B<--debug>
Print debugging information
=back
=head1 EXAMPLES
Run a fedora18 OVA archive:
# virt-convert fedora18.ova
Run an extracted zip archive containing a centos6 .vmx and .vmdk file, converting the images to qcow2 format
# virt-convert centos6/ --disk-format qcow2
Convert the specified .vmx file. Any references disk images must be in the same directory. Don't change the disk format. Move the disk images to /tmp
# virt-convert foo.vmx --disk-format none --destination /tmp
=head1 BUGS
Please see L<https://virt-manager.org/bugs>
=head1 COPYRIGHT
Copyright (C) Red Hat, Inc, and various contributors.
This is free software. You may redistribute copies of it under the terms
of the GNU General Public License C<https://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
=head1 SEE ALSO
L<virt-install(1)>, the project website C<https://virt-manager.org>
=cut

1899
man/virt-install.pod Normal file

File diff suppressed because it is too large Load Diff

107
man/virt-manager.pod Normal file
View File

@ -0,0 +1,107 @@
=head1 NAME
virt-manager - display the virtual machine desktop management tool
=head1 SYNOPSIS
B<virt-manager> [OPTIONS]
=head1 DESCRIPTION
B<virt-manager> is a desktop tool for managing virtual machines. It
provides the ability to control the lifecycle of existing machines
(bootup/shutdown,pause/resume,suspend/restore), provision new virtual
machines and various types of store, manage virtual networks,
access the graphical console of virtual machines, and view performance
statistics, all done locally or remotely.
=head1 OPTIONS
The following options are accepted when running C<virt-manager>:
=over 4
=item B<-h>
=item B<--help>
Display command line help summary
=item B<--version>
Show virt-manager's version number and exit
=item B<-c> URI
=item B<--connect>=URI
Specify the hypervisor connection C<URI>
=item B<--debug>
List debugging output to the console (normally this is only logged in
~/.cache/virt-manager/virt-manager.log). This function implies --no-fork.
=item B<--no-fork>
Don't fork C<virt-manager> off into the background: run it blocking the
current terminal. Useful for seeing possible errors dumped to stdout/stderr.
=item B<--show-DIALOG-WINDOW>
Display the corresponding C<DIALOG-WINDOW> when launching C<virt-manager>.
Connection autostart is skipped, and the manager window will not be shown
at startup in this case.
The following C<DIALOG-WINDOW> options are currently available:
=over 4
=item B<--show-domain-creator>
Display the wizard for creating new virtual machines
=item B<--show-domain-editor> NAME|ID|UUID
Display the dialog for editing properties of the virtual machine with
unique ID matching either the domain name, ID, or UUID
=item B<--show-domain-performance> NAME|ID|UUID
Display the dialog for monitoring performance of the virtual machine with
unique ID matching either the domain name, ID, or UUID
=item B<--show-domain-console> NAME|ID|UUID
Display the virtual console of the virtual machine with
unique ID matching either the domain name, ID, or UUID
=item B<--show-host-summary>
Display the main window summarizing performance for all virtual machines
on the host.
=back
=back
Standard GTK options like --g-fatal-warnings are also accepted.
=head1 BUGS
Please see L<https://virt-manager.org/bugs/>
=head1 COPYRIGHT
Copyright (C) Red Hat, Inc, and various contributors.
This is free software. You may redistribute copies of it under the terms of the GNU General
Public License C<https://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent
permitted by law.
=head1 SEE ALSO
C<virsh(1)>, C<virt-viewer(1)>, the project website C<https://virt-manager.org>
=cut

433
man/virt-xml.pod Normal file
View File

@ -0,0 +1,433 @@
=pod
=head1 NAME
virt-xml - Edit libvirt XML using command line options.
=head1 SYNOPSIS
B<virt-xml> DOMAIN XML-ACTION XML-OPTION [OUTPUT-OPTION] [MISC-OPTIONS] ...
=head1 DESCRIPTION
B<virt-xml> is a command line tool for editing libvirt XML using explicit command line options. See the EXAMPLES section at the end of this document to jump right in.
Each B<virt-xml> invocation requires 3 things: name of an existing domain to alter (or XML passed on stdin), an action to on the XML, and an XML change to make. actions are one of:
--add-device: Append a new device definition to the XML
--remove-device: Remove an existing device definition
--edit: Edit an existing XML block
--build-xml: Just build the requested XML block and print it. No domain or input are required here, but it's recommended to provide them, so virt-xml can fill in optimal defaults.
An XML change is one instance of any of the XML options provided by virt-xml, for example --disk or --boot.
B<virt-xml> only allows one action and XML pair per invocation. If you need to make multiple edits, invoke the command multiple times.
=head1 OPTIONS
=over 4
=item B<-c> URI
=item B<--connect>=URI
Connect to a non-default hypervisor. See L<virt-install(1)> for details
=item B<domain>
domain is the name, UUID, or ID of the existing VM. This can be omitted if
using --build-xml, or if XML is passed on stdin.
When a domain is specified, the default output action is --define, even if the VM is running. To update the running VM configuration, add the --update option (but not all options/devices support updating the running VM configuration).
If XML is passed on stdin, the default output is --print-xml.
=back
=head1 XML ACTIONS
=over 4
=item B<--edit> [EDIT-OPTIONS]
Edit the specified XML block. EDIT-OPTIONS tell B<virt-xml> which block to edit. The type of XML that we are editing is decided by XML option that is passed to B<virt-xml>. So if --disk is passed, EDIT-OPTIONS select which <disk> block to edit.
Certain XML options only ever map to a single XML block, like --cpu, --security, --boot, --clock, and a few others. In those cases, B<virt-xml> will not complain if a corresponding XML block does not already exist, it will create it for you.
Most XML options support a special value 'clearxml=yes'. When combined with --edit, it will completely blank out the XML block being edited before applying the requested changes. This allows completely rebuilding an XML block. See EXAMPLES for some usage.
EDIT-OPTIONS examples:
=over 4
=item B<--edit>
--edit without any options implies 'edit the first block'. So '--edit --disk DISK-OPTIONS' means 'edit the first <disk>'.
For the single XML block options mentioned above, plain '--edit' without any options is what you always want to use.
=item B<--edit> #
Select the specified XML block number. So '--edit 2 --disk DISK-OPTS' means 'edit the second <disk>'. This option only really applies for device XML.
=item B<--edit> all
Modify every XML block of the XML option type. So '--edit all --disk DISK-OPTS' means 'edit ever <disk> block'. This option only really applies for device XML.
=item B<--edit> DEVICE-OPTIONS
Modify every XML block that matches the passed device options. The device options are in the same format as would be passed to the XML option.
So '--edit path=/tmp/foo --disk DISK-OPTS' means 'edit every <disk> with path /tmp/foo'. This option only really applies for device XML.
=back
=item B<--add-device>
Append the specified XML options to the XML <devices> list. Example: '--add-device --disk DISK-OPTIONS' will create a new <disk> block and add it to the XML.
This option will error if specified with a non-device XML option (see --edit section for a partial list).
=item B<--remove-device>
Remove the specified device from the XML. The device to remove is chosen by the XML option, which takes arguments in the same format as --edit. Examples
=over 4
=item B<--remove-device> --disk 2
Remove the second disk device
=item B<--remove-device> --network all
Remove all network devices
=item B<--remove-device> --sound pcspk
Remove all sound devices with model='pcspk'
=back
This option will error if specified with a non-device XML option (see --edit section for a partial list).
=item B<--build-xml>
Just build the specified XML, and print it to stdout. No input domain or input XML is required. Example: '--build-xml --disk DISK-OPTIONS' will just print the new <disk> device.
However if the generated XML is targeted for a specific domain, it's recommended to pass it to virt-xml, so the tool can set optimal defaults.
This option will error if specified with an XML option that does not map cleanly to a specific XML block, like --vcpus or --memory.
=back
=head1 OUTPUT OPTIONS
These options decide what action to take after altering the XML. In the common case these do not need to be specified, as 'XML actions' will imply a default output action, described in detail above. These are only needed if you want to modify the default output.
=over 4
=item B<--update>
If the specified domain is running, attempt to alter the running VM configuration. If combined with --edit, this is an update operation. If combined with --add-device, this is a device hotplug. If combined with --remove-device, this is a device hotunplug.
Keep in mind, most XML properties and devices do not support live update operations, so don't expect it to succeed in all cases.
By default this also implies B<--define>.
=item B<--define>
Define the requested XML change. This is typically the default if no output option is specified, but if a --print option is specified, --define is required to force the change.
=item B<--no-define>
Explicitly do not define the XML. For example if you only want to alter the runtime state of a VM, combine this with B<--update>.
=item B<--start>
Start the VM after performing the requeseted changes. If combined with --no-define, this will create transient VM boot with the requested changes.
=item B<--print-diff>
Print the generated XML change in unified diff format. If only this output option is specified, all other output options are disabled and no persistent change is made.
=item B<--print-xml>
Print the generated XML in its entirety. If only this output option is specified, all other output options are disabled and no persistent change is made.
=item B<--confirm>
Before defining or updating the domain, show the generated XML diff and interactively request confirmation.
=back
=head1 GUEST OS OPTIONS
=over 4
=item B<--os-variant> OS_VARIANT
Optimize the guest configuration for a specific operating system (ex.
'fedora29', 'rhel7', 'win10'). While not required, specifying this
options is HIGHLY RECOMMENDED, as it can greatly increase performance
by specifying virtio among other guest tweaks.
If the guest has been installed using virt-manager version 2.0.0 or newer,
providing this information should not be necessary, as the OS variant will
have been stored in the guest configuration during installation and virt-xml
will retrieve it from there automatically.
Use the command "osinfo-query os" to get the list of the accepted OS
variants.
=back
=head1 XML OPTIONS
=over 4
=item B<--disk>
=item B<--network>
=item B<--graphics>
=item B<--metadata>
=item B<--memory>
=item B<--vcpus>
=item B<--cpu>
=item B<--iothreads>
=item B<--seclabel>
=item B<--cputune>
=item B<--numatune>
=item B<--memtune>
=item B<--blkiotune>
=item B<--memorybacking>
=item B<--features>
=item B<--clock>
=item B<--pm>
=item B<--events>
=item B<--resources>
=item B<--sysinfo>
=item B<--qemu-commandline>
=item B<--launchSecurity>
=item B<--boot>
=item B<--idmap>
=item B<--controller>
=item B<--input>
=item B<--serial>
=item B<--parallel>
=item B<--channel>
=item B<--console>
=item B<--hostdev>
=item B<--filesystem>
=item B<--sound>
=item B<--watchdog>
=item B<--video>
=item B<--smartcard>
=item B<--redirdev>
=item B<--memballoon>
=item B<--tpm>
=item B<--rng>
=item B<--panic>
=item B<--memdev>
These options alter the XML for a single class of XML elements. More complete documentation is found in L<virt-install(1)>.
Generally these options map pretty straightforwardly to the libvirt XML, documented at L<https://libvirt.org/formatdomain.html>
Option strings are in the format of: --option opt=val,opt2=val2,... example: --disk path=/tmp/foo,shareable=on. Properties can be used with '--option opt=,', so to clear a disks cache setting you could use '--disk cache=,'
For any option, use --option=? to see a list of all available sub options, example: --disk=? or --boot=?
--help output also lists a few general examples. See the EXAMPLES section below for some common examples.
=back
=head1 MISCELLANEOUS OPTIONS
=over 4
=item B<-h>
=item B<--help>
Show the help message and exit
=item B<--version>
Show program's version number and exit
=item B<-q>
=item B<--quiet>
Avoid verbose output.
=item B<-d>
=item B<--debug>
Print debugging information
=back
=head1 EXAMPLES
See a list of all suboptions that --disk and --network take
# virt-xml --disk=? --network=?
Change the <description> of domain 'EXAMPLE':
# virt-xml EXAMPLE --edit --metadata description="my new description"
# Enable the boot device menu for domain 'EXAMPLE':
# virt-xml EXAMPLE --edit --boot menu=on
Clear the previous <cpu> definition of domain 'winxp', change it to 'host-model', but interactively confirm the diff before saving:
# virt-xml winxp --edit --cpu host-model,clearxml=yes --confirm
Change the second sound card to model=ich6 on 'fedora19', but only output the diff:
# virt-xml fedora19 --edit 2 --sound model=ich6 --print-diff
Update the every graphics device password to 'foo' of the running VM 'rhel6':
# virt-xml rhel6 --edit all --graphics password=foo --update
Remove the disk path from disk device hdc:
# virt-xml rhel6 --edit target=hdc --disk path=
Change all disk devices of type 'disk' to use cache=none, using XML from stdin, printing the new XML to stdout.
# cat <xmlfile> | virt-xml --edit device=disk --disk cache=none
Change disk 'hda' IO to native and use startup policy as 'optional'.
# virt-xml fedora20 --edit target=hda \
--disk io=native,startup_policy=optional
Change all host devices to use driver_name=vfio for VM 'fedora20' on the remote connection
# virt-xml --connect qemu+ssh://remotehost/system \
fedora20 --edit all --hostdev driver_name=vfio
Hotplug host USB device 001.003 to running domain 'fedora19':
# virt-xml fedora19 --update --add-device --hostdev 001.003
Add a spicevmc channel to the domain 'winxp', that will be available after the next VM shutdown.
# virt-xml winxp --add-device --channel spicevmc
Create a 10G qcow2 disk image and attach it to 'fedora18' for the next VM startup:
# virt-xml fedora18 --add-device \
--disk /var/lib/libvirt/images/newimage.qcow2,format=qcow2,size=10
Same as above, but ensure the disk is attached to the most appropriate bus
for the guest OS by providing information about it on the command line:
# virt-xml fedora18 --os-variant fedora18 --add-device \
--disk /var/lib/libvirt/images/newimage.qcow2,format=qcow2,size=10
Hotunplug the disk vdb from the running domain 'rhel7':
# virt-xml rhel7 --update --remove-device --disk target=vdb
Remove all graphics devices from the VM 'rhel7' after the next shutdown:
# virt-xml rhel7 --remove-device --graphics all
Generate XML for a virtio console device and print it to stdout:
# virt-xml --build-xml --console pty,target_type=virtio
Add qemu command line passthrough:
# virt-xml f25 --edit --confirm --qemu-commandline="-device FOO"
Use boot device 'network' for a single transient boot:
# virt-xml myvm --no-define --start --edit --boot network
=head1 CAVEATS
Virtualization hosts supported by libvirt may not permit all changes that might seem possible. Some edits made to a VM's definition may be ignored. For instance, QEMU does not allow the removal of certain devices once they've been defined.
=head1 BUGS
Please see L<https://virt-manager.org/bugs>
=head1 COPYRIGHT
Copyright (C) Red Hat, Inc, and various contributors.
This is free software. You may redistribute copies of it under the terms
of the GNU General Public License C<https://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
=head1 SEE ALSO
L<virt-install(1)>, the project website C<https://virt-manager.org>
=cut

6810
po/as.po Normal file

File diff suppressed because it is too large Load Diff

6597
po/bg.po Normal file

File diff suppressed because it is too large Load Diff

6829
po/bn_IN.po Normal file

File diff suppressed because it is too large Load Diff

6593
po/bs.po Normal file

File diff suppressed because it is too large Load Diff

7009
po/ca.po Normal file

File diff suppressed because it is too large Load Diff

6589
po/cmn.po Normal file

File diff suppressed because it is too large Load Diff

7080
po/cs.po Normal file

File diff suppressed because it is too large Load Diff

6614
po/da.po Normal file

File diff suppressed because it is too large Load Diff

6971
po/de.po Normal file

File diff suppressed because it is too large Load Diff

6908
po/en_GB.po Normal file

File diff suppressed because it is too large Load Diff

7047
po/es.po Normal file

File diff suppressed because it is too large Load Diff

6698
po/fi.po Normal file

File diff suppressed because it is too large Load Diff

7137
po/fr.po Normal file

File diff suppressed because it is too large Load Diff

6748
po/gu.po Normal file

File diff suppressed because it is too large Load Diff

6686
po/hi.po Normal file

File diff suppressed because it is too large Load Diff

6597
po/hr.po Normal file

File diff suppressed because it is too large Load Diff

6708
po/hu.po Normal file

File diff suppressed because it is too large Load Diff

6592
po/is.po Normal file

File diff suppressed because it is too large Load Diff

6978
po/it.po Normal file

File diff suppressed because it is too large Load Diff

6998
po/ja.po Normal file

File diff suppressed because it is too large Load Diff

6840
po/kn.po Normal file

File diff suppressed because it is too large Load Diff

6873
po/ko.po Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More