virt-manager/virtinst-modify-gui-defaults.patch
Charles Arnold bd3768f9a6 - Fix initializing the default host installation source location
(bsc#1027942)
  virtman-default-guest-from-host-os.patch
  virtman-show-suse-install-repos.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=343
2017-03-20 20:23:05 +00:00

74 lines
3.1 KiB
Diff

Enhancement for the following GUI wizard installation options.
1) If Xen, leave 'Architecture options' expanded so users know PV
is the default
2) Under 'Network selection' default to a bridge that has an actual
IP address if available (not just the first one found).
Index: virt-manager-1.4.1/virtManager/create.py
===================================================================
--- virt-manager-1.4.1.orig/virtManager/create.py
+++ virt-manager-1.4.1/virtManager/create.py
@@ -377,7 +377,19 @@ class vmmCreate(vmmGObjectUI):
self.widget("method-local").set_active(True)
self.widget("create-conn").set_active(-1)
activeconn = self._populate_conn_list(urihint)
- self.widget("arch-expander").set_expanded(False)
+ # For Xen have the expander open so users can see PV is the default
+ if activeconn and activeconn.is_xen():
+ self.widget("arch-expander").set_expanded(True)
+ else:
+ self.widget("arch-expander").set_expanded(False)
+
+ # Default to Network install if host was installed that way
+ host_instsrc = util.getHostInstallSource()
+ if host_instsrc is not None and \
+ (host_instsrc.startswith('ftp:') or host_instsrc.startswith('http:') or \
+ host_instsrc.startswith('smb:') or host_instsrc.startswith('nfs:')):
+ self.widget("method-local").set_active(False)
+ self.widget("method-tree").set_active(True)
if self._set_conn(activeconn) is False:
return False
Index: virt-manager-1.4.1/virtManager/netlist.py
===================================================================
--- virt-manager-1.4.1.orig/virtManager/netlist.py
+++ virt-manager-1.4.1/virtManager/netlist.py
@@ -167,9 +167,19 @@ class vmmNetworkList(vmmGObjectUI):
return rows, vnet_bridges, default_label
def _find_physical_devices(self, vnet_bridges):
+ def check_for_inet(bname):
+ if bname is not None:
+ from subprocess import Popen, PIPE
+ p = Popen(['/sbin/ip', 'addr', 'show', bname], stdout=PIPE, stderr=PIPE)
+ stdout, stderr = p.communicate()
+ if stdout and 'inet' in stdout:
+ return True
+ return False
+
rows = []
can_default = False
default_label = None
+ default_label_with_inet = None
skip_ifaces = ["lo"]
vnet_taps = []
@@ -229,10 +239,18 @@ class vmmNetworkList(vmmGObjectUI):
if can_default and not default_label:
default_label = label
+ # Default to a bridge that has an actual inet addr
+ if default_label_with_inet is None:
+ if check_for_inet(source_name):
+ default_label_with_inet = label
+
rows.append(self._build_source_row(
nettype, source_name, label, sensitive, True,
key=name))
+ if default_label and default_label_with_inet is not None:
+ default_label = default_label_with_inet
+
return rows, default_label
def _populate_network_model(self, model):