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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
This is a very advanced field that is only shown for a quite
advanced disk device='lun' config. Users that know they need this
can easily set the value via the XML editor
Signed-off-by: Cole Robinson <crobinso@redhat.com>
This was proposed here:
https://www.redhat.com/archives/virt-tools-list/2019-June/msg00117.html
"""
* disk: storage format: this was from before the days when we
storage-ified everything and we could get the disk format wrong, telling
qemu it has a raw image when it's qcow2. shouldn't be needed anymore for
normal virt usage
"""
Signed-off-by: Cole Robinson <crobinso@redhat.com>
This was proposed here:
https://www.redhat.com/archives/virt-tools-list/2019-June/msg00117.html
"""
* disk: serial: I know this is useful in some cases but seems quite
obscure. I think the XML editor is fine unless there's some common
usecase I'm missing
"""
Signed-off-by: Cole Robinson <crobinso@redhat.com>
This was discussed here:
https://www.redhat.com/archives/virt-tools-list/2019-June/msg00117.html
tlsPort is an advanced config feature. With the XML editing support,
it's less important to have this as a first class UI element. Users
that know they need this setting can set it directly in the XML
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Removing this was discussed here:
https://www.redhat.com/archives/virt-tools-list/2019-June/msg00117.html
For a decade, qemu and xen and virt-manager work together to
make setting a manual keymap redundant. Advertising it in the UI does
more harm than good, because users may think they need to specify
one when in the vast majority of cases it will give worse behavior.
With the XML editing UI, users still have a way to do this by hand
if they really know what they are doing.
Signed-off-by: Cole Robinson <crobinso@redhat.com>
This adds a field in gsettings and preferences UI to enable
XML editing. It's off by default. The XML tab page is still visible,
but the textview is not editable, and there's a warning at the top:
XML editing is disabled in 'Preferences'.
Only enable it if you know what you are doing.
When the setting is enabled, the warning goes away and the textview
is editable. This puts a roadblock up for people that don't know what
they are doing, but still advertises the feature and keeps the
UI surface difference fairly small between on/off states.
The XML editor ui is a two tabbed notebook, one 'Details' tab
and one 'XML' tab. The latter has a gtksourceview and allows editing
the raw libvirt XML for whatever the selected object is.
API users will programmatically insert the xmleditor notebook into
their UI, with the existing UI under the details tab.
vmmVMWindow handles all the menuing, and coordinating between the
console, snapshots, and details panel. Simplifies the details
code a bit which will help when we add xmlediting
Name and forward mode config are always visible. ipv4, ipv6, and
domain name are under their own expanders which are collapsed by
default.
This will fit better with the XML editor pattern and reduce the
urge to squeeze more UI elements into the now smaller wizard
Rather than a mix of radio buttons and other combo boxes.
This follows the pattern we more commonly use in other UI, and
makes it easier to hide UI elements that aren't relevant for
specific choices, like the possibly large SR-IOV selector
This wizard is sufficiently obscure that I don't think it's
really valuable to try to explain networking concepts with
UI labels. If users don't know what they are trying to create
by using this wizard, there's no way we are going to adequately
explain to them what they are looking at. The example values
should be self explanatory enough anyways
This only applies for inter VM traffic when ipv6 networking is
disabled, which IMO is pretty obscure. If users want ipv6
connectivity, just enabling ipv6 will handle it appropriately
Given that we bumped deps to fairly modern distros with the
python3 change, I think this is safe. gtk 3.22 is from sep 2016, it's
in debian9 and fedora 25+, which seems fine for our needs.
By default we copy CPU security features to the guest if specific CPU
model is selected. However, this may break migration and will affect
performance of the guest. This adds an option to disable this default
behavior.
The checkbox is clickable only on x86 and only on host where we can
detect any CPU security features, otherwise a tooltip is set to notify
users that there is nothing to copy.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Add support for vsock devices to Hardware Details UI so that vsock devices can
be configured or removed.
Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com>
It's a common requirement for VMs to send SCSI PR commands in VM cluster
environment. This patch adds the managed mode support of scsi persistent
reservation in details page.
Signed-off-by: Lin Ma <lma@suse.com>
On first run of the app we will check to see if libvirt and qemu
are installed, and if not, offer to install them. In theory anyways.
In practice this stuff breaks repeatedly and is a pain to test because
every desktop has their own API provider with subtly different behavior.
My last round of testing about 12 months ago: apper on KDE was completely
busted and apparently unmaintained (although that may have changed lately),
gnome-software is the latest packagekit provider on gnome and completely
changes the semantics of the API compared to old style gnome-packagekit
that break a lot of virt-manager assumptions.
So I'm tired of it and want it all gone. Still use systemd to try and
check if libvirtd is running, and provide error messages at startup
to guide people.
Libvirtd can advertise itself over avahi. The feature is disabled by
default though and in practice I hear of no one actually using it
and frankly I don't think it's all that useful
The 'Open Connection' wizard has a disproportionate amount of code
devoted to this feature, but I don't think it's useful or worth
maintaining, so let's drop it
The new UI is handled in mediacombo. It's a combobox+entry. The
combobox is prepopulated with host cdrom/floppy devices, and
previously used media paths from gsettings
The new VM wizard no longer has separate UI for cdrom device vs
ISO media. The choosecd dialog is gone all together, and media
is changed with the 'apply' button like all other details changes
This is just a big nasty commit.
Turn the OS inspection page into an always available page that
shows the libosinfo name from the domain metadata XML. Use oslist.py
and have it absorb more of the common behavior needed by create.py
and details.py. Add UI tests for it all
I know openstack uses tcp consoles but for end users I've never
really heard about it. RHEL compiles out udp as well. I'm fine telling
users to go to the cli and use virt-xml for this use case.
Use this opportunity to drop a lot of code that only simplified the
case when there are tons of char options we need to consider
* Tweak the UI
* Add accelerator for the refresh button
* Make the IP labels selectable
* Drop the IP prefix from the UI, it's not the important bit
* Call DHCPLeases on the network instead to support this for more
drivers, like LXC
* Cache the IP results in the domain/network object wrappers
* Catch and log errors
* Poll for IP address when first visiting the interface page
If the interface's type is 'network', then code uses lease as one of
parameters of interface_addresses to get ipv4 and ipv6 address.
If the result is negative, then uses agent to try again, If the result
is still negative, uses arp for final try.
Signed-off-by: Lin Ma <lma@suse.com>
This approach is used in majority of other places and allows the
combobox items to be selected directly instead of typing text in tests.
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
Hardware Details -> NIC of every VM should now contain checkbox for
interface's link state. This checkbox edits domain's XML by changing
<link state='up/down'/>. If XML doesn't contain this tag, virt manager
assumes state "up".
https://bugzilla.redhat.com/show_bug.cgi?id=1614532
Signed-off-by: Simon Kobyda <skobyda@redhat.com>
Show the TPM device model and allow updating it. If a TPM 1.2 has been
chosen, we only allow the TIS interface to be selected. In case of a
TPM 2.0 we also enable the choice of the CRB interface.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
There is only one for now, but we are adding CRB next (and SPAPR is
being added too in qemu/libvirt).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
The current OS distro selection UI is fairly cumbersome to use. First
you need to decide on a variant, then decide a distro and then look for
the version you want. The list is filtered by default so only a subset
of OS are displayed. So for less common distros you'll then need to
start again and tell it to show all OS to try to find the one you want.
The core problem is that we have an incredibly large list and want to
make it easy for the user to find a specific entry. The modern UI
paradigm for this problem is to provide interactive search with
live updated results. The current UI does provide an interactive search
facility on the OS version results, but you still have to first select a
variant to be able to use the search which is unhelpful.
This patch attempts to better apply the search UI design to the OS selection
problem. We get rid of the notion of variants, distros and version, and
provide a single text entry box in which the user can type a few letters
of the OS name. As they type, a popover displays the matching results
filtered on OS name. By default end of life OS will be hidden, so in
general there will only be a small handful of results left after just
typing a few characters. This makes it very quick to find and select the
desired OS, without needing to provide a mutli-step navigation hierarchy.
https://bugzilla.redhat.com/show_bug.cgi?id=1464306
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(crobinso: fix some pylint)
Rather than key it on the library being available. Makes it much
easier to test both modes of behavior.
Fix up a few inspection bugs while I'm in the area, and convert
it to be more singleton like.
When creating a new root file system out of an downloaded image,
the root password is likely to be changed. Add a field for this
in the new guest wizard.
Replace the docker://fedora placeholder by a tooltip that shows more of the
possible values (taken from virt-bootstrap's man page). Finding an image
that has a /sbin/init on the docker hub is rather hard, better remove
the misleading value.
There are multiple models of the panic device, the address type is only
one and is valid only for "isa" model.
To not break the virt-install/virt-xml the command line parser needs to
be updated. Before this patch there was only one parameter that
configured the "iobase". Now the first parameter configures a model
but to keep it backward compatible it follows these rules:
1. there is only one parameter and it matches known model:
--panic isa
<panic model='isa'>
<address iobase='0x505' type='isa'/>
</panic>
2. there is only one parameter and it doesn't match any model:
--panic 0x505
<panic model='isa'>
<address iobase='0x505' type='isa'/>
</panic>
3. there are two parameters:
--panic isa,iobase=0x505
<panic model='isa'>
<address iobase='0x505' type='isa'/>
</panic>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This is advanced configuration and it's not required to configure
at all to have a working panic device.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This patch add a checkbox for password visibility toggle.
As we stored password of SPICE/VNC in clear text in XML,
it's easy to use in UI.
Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
Add virtual terminal emulator (Vte) in which could be shown details
of background running process.
Usage example:
- To enable details:
> asyncjob.details_enable()
- To show text inside the Vte:
> asyncjob.details_update("Some text here")
The "xalign" property determines the horizontal alignment of the label
text inside the labels size allocation. Compare this to “halign”,
which determines how the labels size allocation is positioned
in the space available for the label. [1]
When the "width_chars" property is used, labels appear to be centered.
This could be resolved when the property "width_chars" is replaced
with "max_width_chars" or removed in case "max_width_chars" is already
set. [2]
[1] https://developer.gnome.org/gtk3/stable/GtkLabel.html#GtkLabel--xalign
[2] https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkAlign
GtkTable was deprecated since Gtk version 3.4 and should not be used
in newly-written code. It should be replaced by GtkGrid.
https://developer.gnome.org/gtk3/stable/GtkTable.htmlhttps://developer.gnome.org/gtk3/stable/GtkGrid.html
GtkTable is mapped to GtkGrid following these rules:
----------------
- n_(row|columns) are removed because they are not required for
GtkGrid
----------------
- Missing "left_attach" and "top_attach" are added with value set to
0.
Example:
<property name="left_attach">0</property>
<property name="top_attach">0</property>
----------------
- (right_attach - left_attach) > 1 is stored in new "width" property
Example:
In case of: (GtkTable)
<property name="left_attach">1</property>
<property name="right_attach">4</property>
Equivalent to: (GtkGrid)
<property name="width">3</property>
----------------
- (bottom_attach - top_attach) > 1 is stored in new "height" property
Example:
In case of: (GtkTable)
<property name="top_attach">1</property>
<property name="bottom_attach">3</property>
Equivalent to: (GtkGrid)
<property name="height">2</property>
----------------
- Missing packing "(x|y)_options" property is represented as no
"(h|v)align" object property and "(h|v)expand" object property
set to "true"
Example:
In case of: (GtkTable)
# Missing y_options property
Equivalent to: (GtkGrid)
<property name="vexpand">True</property>
# No valign property
----------------
- Packing "(x|y)_options" property set to "GTK_FILL" is represented
as no "(h|v)expand" object property and no "(h|v)align" object
property
Example:
In case of: (GtkTable)
<property name="x_options">GTK_FILL</property>
Equivalent to: (GtkGrid)
# No hexpand property
# No halign property
----------------
- Packing "(x|y)_options" property set to "GTK_EXPAND" is
represented as "(h|v)expand" object property set to "true" and
"(h|v)align" object property set to "center"
Example:
In case of: (GtkTable)
<property name="x_options">GTK_EXPAND</property>
Equivalent to: (GtkGrid)
<property name="hexpand">True</property>
<property name="halign">center</property>
----------------
- Packing "(x|y)_options" property set to nothing is represented as
"(h|v)align" object property set to "center"
Example:
In case of: (GtkTable)
<property name="y_options" />
Equivalent to: (GtkGrid)
<property name="valign">center</property>
----------------
- All "(x|y)_options" rules apply but don't change existing
"(h|v)align" and "(h|v)expand" object properties
----------------
- Packing "x_padding" property is converted to "margin_(start|end)"
object property
Example:
In case of: (GtkTable)
<property name="x_padding">6</property>
Equivalent to: (GtkGrid)
<property name="margin_start">6</property>
<property name="margin_end">6</property>
----------------
- Packing "y_padding" property is converted to "margin_(top|bottom)"
object property
Example:
In case of: (GtkTable)
<property name="y_padding">6</property>
Equivalent to: (GtkGrid)
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
GtkHButtonBox was deprecated since Gtk version 3.2 and should not
be used in newly-written code. Use GtkButtonBox instead. The property
orientation is set by default to horizontal.
https://developer.gnome.org/gtk3/stable/GtkHButtonBox.html
libvirt added network forward mode 'open' by commit 25e8112d, No any
iptables rules are added to this virtual network.
This patch adds support to create such a virtual network.
Signed-off-by: Lin Ma <lma@suse.com>
Problem:
- GtkHBox and GtkVBox have been deprecated since version 3.2 and should not be used in newly-written code.
Solution: Replace GtkHBox and GtkVBox with GtkBox.
- I have used the find function in text-editor to find all occurances of "GtkVBox" and "GtkHBox" then replaced them with "GtkBox".
- Then append on a new line immediately after "<property name="orientation">...</property>" with value "horizontal" or "vertical" accordingly.
Add virtuozzo hypervisor to connection list.
Add radio buttons for choosing VM or container virtualization type.
New wizard window for setting template name for containers.