IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
continue_install is intended to facilitate windows XP style 3 stage
installs:
stage 1: initial dos style disk setup, reboot
stage 2: actual full installer, reboot
stage 3: OS is functional, virt-install is done
The code assumed that we needed to keep the cdrom as the primary
boot device for the second stage, so virt-install/virt-manager needed
to hang around through the second stage run, wait until the VM shutdown,
then encode the final XML to boot of the disk.
Windows is and always has been smart enough to handle that case though...
after the initial boot, if we set the hd as the primary boot device
for stage 2, the disk bits that windows already installed will make
use of the cdrom as necessary. So the entire premise of continue_install
is irrelevant. Maybe back when it was added, when xen didn't even have
working ACPI support, this served a purpose, but I'm pretty sure we
can safely drop it nowadays.
This is required in order to ask for correct domcapabilities. If you don't
specify any machine libvirt will return domcapabilities for default machine
which is xenpv.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
There want be 1.3.6 version, libvirt switched to new release numbering, for more
information see <http://libvirt.org/downloads.html#numbering>.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This adds support for setting VirtualDisk <seclabel> XML. This
invents a new command line scheme for cases like this where there
are possibly multiple child elements that we want to specify
on the command line. So if you just want to specify one <seclabel>
block, you can do the expected
--disk ...,seclabel.model=dac,relabel=no
However if you want to specify 2 <seclabel> blocks you need to do:
--disk ...,seclabel0.model=dac,seclabel0.relabel=no,seclabel1.model=selinux,seclabel1.relabel=no
We register the VirtCLIArgument classes with the static parse
instructions, but instantiate it with the actual key=val pair
from the command line. This fixes some layering violations, and
gives callers access to the actual command line key that we
are parsing, if that's interesting.
Only initialize VirtCLIParser at actual parse time. The data that's
passed to __init__ is the particular data for that parse task, like
the option string, and the Guest object we are editing.
As a result we can drop the whole parsermap handling, since the
parserlist is immutable.
There's a bunch of other reworks mixed in like dropping the
VirtOptionString abstraction...
The VirtCLIArguments, (for example, path=, size=, etc. for --disk)
are only registered when a VirtCLIParser is actually initialized.
This seems backwards, since those arguments are really more immutable
factors of the actual command line parsing, so make more sense only
initializing them once, at class definition time.
This switches to use that pattern. This makes the parsing flow a bit
cleaner and can be a basis for future improvements.
disk devices don't have a full <seclabel> under their <source>
element, just a smaller one with only a few options. Fix things
to match what libvirt does
This is the new style socket support, where we request libvirt to
allocate a socket path for us. Plus this is the only way to enable
socket support for type=spice
This exposes every device <address> option, for each device
cli option. So --disk, --network, --video, etc.
Fill out a few more address XML bits as well
With Tumbleweed now part of libosinfo we do not need to default
to openSUSE 13.2 when pointing at the installation media.
Signed-off-by: Charles Arnold <carnold@suse.com>
Commit f6322c9e changed the default bus type for disks to virtio.
That changed it for both disks and cdroms. The CD-ROMs dont work
if on virtio on pSeries. So, change the cdrom bus type to scsi as
before.
Signed-off-by: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
Extend virt-install-ppc64-pseries-f20 test to cover this case.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This gives friendly XML output via virt-xml for clearxml=yes +
extra options: the XML block is editted in place, rather than removed
and with the newchanges appended
Add a special listen value to disable any extra display server listening
socket. This is necessary now that qemu prevents starting a spice+virgl
VM with listening sockets (until spice allows remoting with virgl).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
When booting from empty disk image or none bootdev, its leads
system IPL enter into infinite loop with message on s390x.
This patch sets preserve when on_crash to avoid the loop
Signed-off-by: Leno Hou <lenohou@gmail.com>
pSeries doesn't support ide and so was changed to use the scsi. virtio works
better on pSeries with better performance outcomes. Change the default to
virtio for disks
Signed-off-by: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
os_variant=linux is basically meaningless; it doesn't set any useful
defaults. better to be explicit that we didn't detect any meaningful
os_variant, to trigger the virt-install warning
Need to tell requests.head request to follow the redirect automatically,
otherwise the 301 response throws us off.
Saw this with http://d-i.debian.org/
So far we used only the last --extra-args argument from virt-install
command line, but it makes more sense to use all occurrences of
--extra-args and pass them to kernel.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Use virtio+accel3d by default whenever spice+gl is chosen. This allows
to easily set up accelerated gpu VM.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Add a --graphics option to enable accelarated rendering using
OpenGl. This is used only by Spice (and for local only guests atm).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Libvirt started to put type='raw' by default for rbd volumes, which
changes our generated XML. Limit the test to only libvirt that supports
that check.
Originally we didn't add this since arm vexpress virtio only had 4
virtio-mmio slots. But the now-common -M virt target has 32 slots,
so we aren't starved.
Remove the lookup counter from _progress_thread, it's not necessary, the
loop is terminated by _install_finished boolean.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1270277
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
For many years virt-install has supported a bit of logic that maps
--cpuset=auto to a CPU pinning based on host NUMA topology; we look
for a NUMA node who's current free memory is closest to the requested
memory allocation. This isn't very useful though, since it's a one time
allocation, the conditions at VM creation time likely aren't the
conditions of the machine in the future.
Libvirt has supported a smarter option in vcpu placement=auto for a long
while, which will perform a similar operation but at every VM startup.
Convert cpuset=auto to use this functionality instead.
Add console target "sclp" for s390x ,since the newest Distro guests has
supported the console target, solve some console issues in s390x.Also
modified the test xml cover this change.
crobinso: fix the test suite output
Since the qemu 2.4 has supported the watchdog device diag288
for s390x,so add it in the optional model list. Also modefied
the clitest xml to cover this change.
We should detect RHEL qemu also for session connection, not only system
connection, the capabilities of both are the same.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1258691
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
According to xen documentation 64bit guest has to have pae enabled in
order to be able to run 64bit OS.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1267160
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Currently we report an error but continue with installation, we should
report warning instead of error.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1263903
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Install DVD of SLES for ppc64 has different path where linux and initrd
are located. Add those paths to kernel_paths to search also there, in
case we are installing SLES on ppc64 host.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1270430
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Libvirt automatically generates this path with a guest name used as
directory. The new conception is to have all sockets for one guest in
it's own directory and in order to successfully clone a guest, we need
to remove this path to regenerate it with new guest name.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1270696
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Added cli option to specify on_lockfailure in events.
Also, added various testcases and related output XMLs.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(crobinso: add clitest.py example)
Support for this format was removed about a year ago from
qemu with this commit,
commit 550830f9351291c585c963204ad9127998b1c1ce
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue Sep 16 15:24:24 2014 +0100
block: delete cow block driver
Signed-off-by: Charles Arnold <carnold@suse.com>
Following some discussion here:
https://bugzilla.redhat.com/show_bug.cgi?id=1171550
jfehlig suggested better defaults for modern xen. End result is:
- Drop the blktap check, since it's deprecated (yaay)
- If xen + block device, use driver_name=phy
- Otherwise if on modern enough libvirt + libxl, do the same thing we
do for qemu.
libvirt qemu default's to accessmode=passthrough, which really only
works correctly when qemu is run as root, which isn't common for libvirt
nowadays. So use accessmode=mapped which has a better chance of working
This is so we can drop the dep on system python-urlgrabber, which will
block us from going to python3.
All we need is like 300 lines from python-urlgrabber for the progress
bar. In reality our needs are much lower, we don't need the fancy
progress bar that urlgrabber provides, but it's nice to have. So if
keeping a copy of this code causes issues in the future, we can probably
come up with something simpler (or hopefully there's a more common
python progressbar impl that we can use at that point).
urlgrabber is largely dead upstream and isn't going to be ported to
python3 AFAIK. So we will need to move off of it eventually.
Use requests for http handling which is the most common library nowadays,
and just plain old urllib2 for ftp fetching.
Allow virt-install to correctly find the SLES kernel/initrd on the media
when installing an s390x VM.
Signed-off-by: Charles Arnold <carnold@suse.com>
(crobinso: fix minor pep8 issues)
Similar to the virt-install change, we only do this with default storage
if the installed failed in such a way that we never left the wizard.
It isn't going to cover all cases, but should handle the common issue
of stranded disk images
https://bugzilla.redhat.com/show_bug.cgi?id=799721
We are conservative here, only cleaning up disk images if libvirt
fails to even accept the XML. Otherwise the VM may already be
running or defined, and the user has to do some cleanup anyways.
So we can call clear() on a Guest owned VirtualDisk, and it actually
does the correct thing. This allows us to enable clearxml= cli option
for most devices.
virt-convert fails when the storage pool is already present but
is not called 'default'.
If the 'default' pool has been removed but another pool uses the
default location of /var/lib/libvirt/images virt-convert will fail
to find the pool and attempt to create another one with the same
path. This causes the conversion to fail.
Signed-off-by: Charles Arnold <carnold@suse.com>
(crobinso: Remove now-redundant 'pass')
Previous commit added support for virtual port profiles
on NICs, but only defined the attributes needed by the
802.1Qbg NIC type.
commit 34e2ca8389
Author: Cole Robinson <crobinso@redhat.com>
Date: Fri Jan 31 16:51:02 2014 -0500
cli: --network: Wire up virtualport options
This commit adds the profileid and interfaceid parameters
needed by 801.Qbh, openvswitch and midonet
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
There is no virtio-scsi or spapr-vscsi bus, but only 'scsi' bus. There
are several types of SCSI controllers, but the SCSI storage don't care
about the SCSI controller and there is also no difference in address
specification or address type. Use only 'scsi' bus for all SCSI storages
to correspond the reality and also the libvirt domain XML. The only
difference is in the type of SCSI controller
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This issue was fixed for few years but only in virt-manager,
virt-install has the same bug. If you have two USB devices with same
vendor and product ID, you need to use also address element to create
a valid XML to define that device into a guest.
This patch moves the logic from vmmAddHardware into VirtualHostDevice in
order to not duplicate that code for virt-manager and virt-install.
Also update the tests files to properly check this functionality. I've
changed the USB device according the 'tests/testdriver.xml' and picked
one of the USB HUBs, because they have the same vendor and product ID.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1230611
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This feature is available in upstream Qemu since 2.0.0 but it was also
back-ported to downstream Qemu into qemu-kvm-1.5.3 released in RHEL-7.
Add a new check and enable hv_time also in RHEL systems if qemu new
enough.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Instead of hard-coding that ACPI and APIC are enabled by default, detect
their presence from libvirt capabilities and use it.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1215692
(crobinso: Adjust for recently added test case)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Each guest type can have its own capabilities and we should always ask
only for those capabilities.
The old approach was to get capabilities from libvirt and then for
example cycle trough all guests and return True, if any guest type
supports kvm or pae, etc.
Now we check those capabilities only for the correct guest type
according to defaults and input from user.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
For architecture "s390x",the disk and the network device are base
on "virtio" bus.The cdrom is based on "scsi".So set the default
cdrom bus as "scsi",the default bus as "virtio".Also the default
machine type is set to "s390-ccw-virtio" as it is the only supported
in "s390x".Also add a test cast of virt-install by cdrom in s390x.
(crobinso: Tweak test suite and minor formatting stuff)
Commit cac4ac14 updated cpu features to use XMLBuilder and this change
removes the 'Features' class. There is no longer any '.names()'
method to return names, so just cycle through all features and use a
name attribute instead.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1240938
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
All the strings have to be at first translated and then we can fill the
formated and translated string.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
SUSE distro includes a file named content, It includes media information.
This patch adds the ability that fetching url media information through this file.
From: Charles Arnold <carnold@suse.com>
Signed-off-by: Lin Ma <lma@suse.com>
commit 938060ae53 moved default devices
setup to happen before UEFI is set invalidating what the commit
5acfccf6032abb9e8be89130d05b661e8b3f42c7 does.
Add another check to happen before installing the guest to disable
HYPER-V when not supported.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1185253
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Qemu guest agent becomes available since sles 11 sp4 distro,
So enable qemu_ga while installing sles11sp4 and newer sles.
Signed-off-by: Lin Ma <lma@suse.com>
This is really only useful for building default XML internally, and
for virt-install stuff like --watchdog default. Instead just select
the 'default' value in the wizard
Spice is better off without vmport enabled, to be able to switch between
absolute and relative mouse mode easily.
Message-Id: <1428012248-5767-5-git-send-email-marcandre.lureau@gmail.com>
Some later options may require Spice (or other) to be enabled,
so call set_graphics_defaults() earlier.
Message-Id: <1428012248-5767-4-git-send-email-marcandre.lureau@gmail.com>
Make it clear which ones are used for the caps unit tests, and which
are for cli/UI testing and can be updated at will. And drop a bunch
of outdated stuff.
We are just mirroring the behavior that virt-manager (and boxes) have
used for a while now.
In my experience the average user is confused by their VMs suspending,
so for our sake I'd rather make people opt into this feature.
The image compression setting has a noticably detrimental effect on
spice graphics quality. It's meant to be used for spice VDI but the
vast majority of people don't use spice in a way that makes bandwidth
usage matter.
Boxes has already done this for a while as well:
https://mail.gnome.org/archives/commits-list/2013-March/msg14904.html
Turn it off by default if creating the VM on a local connection.
Unify all the callers, and use some UI ellipsizing to handle
crazy long hostnames.
This drops the conn name collision prevention stuff which can be
useful when you have lots of similar connection names. But upcoming
patches will make it mostly redundant.
Previously we made all the default encoding non-permanent by XML objects
before generating the XML, making changes to the copies, and restoring
to the old state after the XML is returned to the user.
This allows us to call start_install multiple times with the same Guest
object and not alter it's original config... but that feature isn't really
useful anymore, and this behavior makes the 'customize before install'
dialog difficult to handle.
So drop most of it, and fix some of the minor fallout.
It's out of date, and doesn't even seem to work with current RHEL versions
and no one is complaining.
If we want to add it back, it should be an explicit setup.py configure
option.
These only work for xen x86, and are less relevant nowadays since HW
virt has been around for a very long time. Also it's tough to be sure
that we aren't giving a bogus warning.
When starting the 'Create virtual network' wizard, you are allowed to proceed
without specifying a Network Name. An error only occurs after all else is
completed with the wizard. This patch stops the user from proceeding if a
network name has not been specified.
The check for an empty string is done in util.py which also effects storage
pool names and guest names neither of which should have empty strings.
Signed-off-by: Charles Arnold <carnold@suse.com>
Message-Id: <551D664702000091000F42E8@prv-mh.provo.novell.com>
The installation of Debian/Ubuntu for ppc64el (a.k.a. ppc64le on Fedora/RHEL)
fails with 'virt-install --location', as the arch dir and kernel filename
are not correct for this arch/distros.
This patch fixes it by adding checks for 'treeArch' and 'hvm_kernel_paths'.
Signed-off-by: Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
Libvirt can generated invalid XML for the system nodedev device:
https://bugzilla.redhat.com/show_bug.cgi?id=1184131
This hits at least two people, so catch this specific case, but the
real fix is libvirt not outputing busted XML.
Not passing an emulator is only for showing ideal defaults in the UI.
When doing internal checks, we only want to disable features if we know
the emulator doesn't support them.
The binaries could be installed somewhere else and we should not
hard-code the binary paths. This patch allows non-root user to build
their own virt-viewer/virsh, set the PATH env and run virt-manager
tests.
(crobinso: Fix check_output args, alphabetize imports)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Message-Id: <ddf77f9519da580c8d5f3df0f56bdb36d5c000fa.1427117670.git.phrdina@redhat.com>
When XEN is used, disable domain events and use polling.
On RHEL-5.9 virDomainInfo() seems to not report correctly the domain
status when called immediately after the event is received.
Solves: https://bugzilla.redhat.com/show_bug.cgi?id=1177207
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Do not use the model specified by the OS if it is "virtio-net" and
virtionet is not supported.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1177113
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>