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.
Similarly to virt-install --listen=none, add a combobox to select
the listen type: "address" or "none" for now, as suggested by Pavel
Hrdina.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Add an OpenGL checkbox to the Spice graphics options (only available if
SUPPORT_CONN_SPICE_GL).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Currently when press mnemonic key of 'Port' or its CheckButton,
the behaviour is the same:
check 'Auto' CheckButton.
which is not right.
This patch will change the behaviour:
when press mnemonic key of 'Port',
change the focus to graphics-port SpinButton.
So as 'TLS Port'.
Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
If password for console is saved currently there is no way how to tell
virt-manager to forget that password. This patch improves the authentication
page in order to provide a way how to forget password simply by unchecking the
"Save this password in your keyring".
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Commit 839ce682 removed deprecated support of save/restore which was replaced by
managedsave feature. This is a leftover that wasn't removed together with that
commit.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1340356
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
We need to bump the gtk dep to at least 3.10 for GtkRevealer usage,
and I want to bump the pygobject higher to drop some bug workarounds.
But since the oldest thing I have that meets those requirements is
RHEL/Centos 7.3 which is at 3.14 for both, set those as the minimum
versions since that's what I'll be testing against. They are still
1.5 years old and only a bit over a year newer than the previous
versions, so it's not a huge change.
This UI exposed the old NUMA allocation policy detailed in the last commit.
It's very much sub-optimal, and should be removed.
Manual cpuset configuration is also quite uncommon and not really something
worth exposing in the UI. It can easily be done from the command line
with virt-xml.
If people complain, I'd consider adding a checkbox for vcpu placement=auto,
or an option to do that by default for new VMs.
Simplest is to have a separate UI area for the arch warning, since
the standard startup warning may still apply too.
Reported-by: João Pirralha <joaopirralha@gmail.com>
Originally this made sense, as it was the only way to specify a non-default
storage format when creating new storage.
Nowadays the storage browser is a full featured storage manager... and
this field is a bit confusing WRT whether it's used for creating new
storage, or informing libvirt about an existing image's format.
Drop it from the addhardware wizard, and simplify what we show in the
details wizard as well.
This is a little low level and rarely used IMO to have it in the UI.
If people want to edit this we should point them at virt-xml which
seems like the appropriate user friendlyness for this feature.
This made more sense when raw was the disk image default, but nowadays
we use qcow2 which doesn't even support non-sparse, so the UI is always
disabled.
If the user changed their preference to raw, it still doesn't make much
sense to show the option, since they are likely using raw for performance
in which case they are going to want to preallocate anyways.
So just default to sparse=False. If users want to override it, they can
do it via custom created storage.
Drop horizontal scrolling, since with gtk3 hidden scrollbars it might
mean users don't realize there's info that is scrolled off.
Adjust the default sizing to match that pattern
Trying to fall back to the create wizard can give weird results, since
it's really hard to ensure the customized changes are preserved if
the user changes things in the 'new' wizard.
It's largely the same, but now
- The code is better organized
- The UI is much more streamlined, only showing relevant fields when
required.
- We warn about the hostname/URI cases that we know libvirt will error on
- Drop some of the attempts at being smart, and just mimic what libvirt
will do.
This is only needed when people have very specific downtime constraints
on public facing services. I don't think that covers many virt-manager
users. So suggest they just use the command line for this.
We've had multiple requests over the years for something similar. People
might have to connect to multiple IP addresses, or really large hostnames,
that become difficult to distinguish in the UI.
Add a field in the host details page that allows setting a custom name,
and store it in gsettings.
We were already sharing a chunk of this in a haphazard way. Now officially
break it all out, similar to netlist.py. This mostly unifies the views
of host->storage and storagebrowser.py
And not the other way around. It's less confusing this way IMO, particularly
if virtio is selected by default and the user is confused, wondering
where the cdrom option is.
Take the opportunity to actually share the bus combo logic between details
and addhardware
People should rarely need to edit the mac address, so remove it from
the create wizard. However we only allow editing the mac address in
the 'customize' dialog: regular network details disables editing, since
that should be a rare and potentially dangerous operation.
It is added only in the details window, and intentionally not added to
the addhardware UI to keep it simpler. Users can edit this after a
new device is added.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Not all CPUs support Hyper-Threading. This patch adds a warning
message next to the threads selection field of processor topology
box. It warns that "Selected CPU model does not support
Hyper-Threading" when # of Threads > 1 and the selected CPU model
does not support Hyper-Threading.
This UI modification was added using glade 3.18.3.
Signed-off-by: Wei Huang <wei@redhat.com>
shortkey M for fs-mode in fsdetail duplicate shortkey of
"Virtual Machine" in details.
change it to 'o'.
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
We expose a simple combobox with two entries: BIOS, and UEFI. The
UEFI option is only selectable if 1) libvirt supports the necessary
domcapabilities bits, 2) it detects that qemu supports the necessary
command line options, and 3) libvirt detects a UEFI binary on the
host that maps to a known template via qemu.conf
If those conditions aren't met, we disable the UEFI option, and show
a small warning icon with an explanatory tooltip.
The option can only be changed via New VM->Customize Before Install.
For existing x86 VMs, it's a readonly label.
Alt+f is already used for Finish. Choose Alt-o as it is already used
for "Format" in other places.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
After the migration to libosinfo, choosing an OS variant from "New VM"
wizard became a mess for the very long list of options.
Using an autocomplete entry text will facilitate this task, as an user
can start typing the variant as soon as the OS type is selected.
The combo-box is left untouched, so undecided users can still use it.
UI-suggested-by: Máirín Duffy <duffy@redhat.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Libvirt not allowed uid/gid_start
configured as none 0 or not specified.
This patch will disable config uid/gid_start in UI.
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Add a new field "pool-source-name" in the createpool UI that is used
only with gluster fs pools.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
We acted like it would migrate a shutoff VM, but it just toggled
the LIVE flag. We should support true 'offline' migration, but
the UI will be different.
- Add options in the model drop down for clear, hvdefault, and app default
- Make 'copy host' a check box, when enabled it hides the model dropdown
- Detect if the VM CPU is a copy of the host CPU
- Undocumented bit that allows passing in host-model/host-passthrough
to the model field for people that really want those settings.
Add a preference for changing the default CPU mode/model. The options are:
- default (whatever virt-manager chooses as the default)
- hypervisor default (no <cpu> block, what we've always done)
- nearest host cpu model (just the 'model' from caps->host->cpu)
- copy host cpu (the entire <cpu> block from caps->host)
The setting only applies to KVM guests, not tested with anything else.
The default is left as is for now (hypervisor default).
copy host CPU will one day use mode='host-model', when it does what
we want. At that point we will probably make it the default
Similar to how we allow disabling disk/net polling, not sure yet what
effect it might have on remote connections, so best to add this option
just to be safe.
Unlike disk/net stats, we enable this checking by default.
Normally, setting cache=none is required in order to ensure a consistent view
of storage between the source and destination migration hosts. However, some
configurations have that quality without resorting to the use of an O_DIRECT
open (which is what cache=none does), and hence cache=none wouldn't be
necessary.
Unfortunately, libvirt is not able to determine on it's own all the
configurations which require cache=none for migration but in the interest of
safety enforces it when it isn't otherwise able to determine migration safety.
For this reason the libvirt api has an 'unsafe' option which allows the user
to override the safety migration checks.
This patch adds a checkbox to allow unsafe migration to the 'Advanced options'
portion of the migration dialog.
Signed-off-by: Charles Arnold <carnold@suse.com>
We could copy host CPU config by
button 'Copy host CPU configuration'.
If we regret to do this or the host CPU config
caused VM starting failure, we need a button to
help us clear CPU feature.
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>