Accepting request 558209 from home:cbosdonnat:branches:Virtualization

- Fix display and input of text in serial console (bsc#1070896)
  python3-fix-bytes-string-mess-in-serial-console.patch
- Fix virt-bootstrap UI integration (bsc#1063367)
  0001-Improve-container-image-url-example.patch
  0002-create-wizard-fix-alignment-in-os-container-page.patch
  0003-oscontainer-ask-root-password-in-the-wizard.patch
  0004-Harmonize-invisible_char-values.patch

OBS-URL: https://build.opensuse.org/request/show/558209
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=390
This commit is contained in:
Cédric Bosdonnat 2017-12-18 15:54:02 +00:00 committed by Git OBS Bridge
parent da54199b5f
commit 2d98c3c1d3
7 changed files with 730 additions and 0 deletions

View File

@ -0,0 +1,28 @@
From b567947b82bb175c3f6234a3b059a2141c70a805 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cedric.bosdonnat@free.fr>
Date: Tue, 12 Dec 2017 17:12:34 +0100
Subject: [PATCH 1/3] Improve container image url example
Replace the docker://fedora example by a string that shows more of the
possible values, like how to specify a user or server. While at it,
the image name is no distro agnostic.
---
ui/create.ui | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/create.ui b/ui/create.ui
index dd50cdf0..142a7356 100644
--- a/ui/create.ui
+++ b/ui/create.ui
@@ -1776,7 +1776,7 @@ connections is not yet supported.&lt;/small&gt;</property>
<child internal-child="entry">
<object class="GtkEntry" id="install-oscontainer-source-url-entry">
<property name="can_focus">True</property>
- <property name="placeholder_text" translatable="yes">docker://fedora</property>
+ <property name="placeholder_text" translatable="yes">docker://srv:1234/myimg:tag</property>
</object>
</child>
</object>
--
2.15.1

View File

@ -0,0 +1,442 @@
From 1e5437158dc83069d84cb27503414306a25d7264 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
Date: Wed, 13 Dec 2017 15:49:50 +0100
Subject: [PATCH 2/3] create wizard: fix alignment in os container page
The checkbox to create the root FS should be aligned with the label of
the root FS folder.
---
ui/create.ui | 317 +++++++++++++++++++++++++++++++----------------------------
1 file changed, 166 insertions(+), 151 deletions(-)
diff --git a/ui/create.ui b/ui/create.ui
index 142a7356..ae9d47d3 100644
--- a/ui/create.ui
+++ b/ui/create.ui
@@ -1600,11 +1600,13 @@ User shouldn't see this.</property>
<object class="GtkAlignment" id="alignment27">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="valign">start</property>
<property name="left_padding">12</property>
<child>
<object class="GtkBox" id="vbox21">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="valign">start</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
@@ -1651,107 +1653,180 @@ User shouldn't see this.</property>
<property name="position">0</property>
</packing>
</child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="install-oscontainer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkBox" id="install-oscontainer-notsupport">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <object class="GtkBox" id="install-oscontainer-notsupport">
+ <object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkImage" id="image3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-dialog-warning</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label46">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">&lt;small&gt;The OS directory tree must already exist. To enable OS directory tree creation,
+ <property name="stock">gtk-dialog-warning</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label46">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">&lt;small&gt;The OS directory tree must already exist. To enable OS directory tree creation,
please install &lt;a href="https://github.com/virt-manager/virt-bootstrap"&gt;virt-bootrap&lt;/a&gt;&lt;/small&gt;</property>
- <property name="use_markup">True</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="install-oscontainer-notsupport-conn">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image8">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-dialog-warning</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">&lt;small&gt;The OS directory tree must already exist. Creating an OS directory tree for remote
+connections is not yet supported.&lt;/small&gt;</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="install-oscontainer-bootstrap">
+ <property name="label" translatable="yes">Create OS directory tree from container image</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_install_container_source_toggle" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="install-oscontainer-source">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">10</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkBox" id="install-oscontainer-notsupport-conn">
+ <object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
<child>
- <object class="GtkImage" id="image8">
+ <object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-dialog-warning</property>
+ <property name="label" translatable="yes">Source URI:</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label1">
+ <object class="GtkComboBox" id="install-oscontainer-source-url-combo">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="label" translatable="yes">&lt;small&gt;The OS directory tree must already exist. Creating an OS directory tree for remote
-connections is not yet supported.&lt;/small&gt;</property>
- <property name="use_markup">True</property>
+ <property name="hexpand">True</property>
+ <property name="has_entry">True</property>
+ <child internal-child="entry">
+ <object class="GtkEntry" id="install-oscontainer-source-url-entry">
+ <property name="can_focus">True</property>
+ <property name="placeholder_text" translatable="yes">docker://srv:1234/myimg:tag</property>
+ </object>
+ </child>
</object>
<packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="install-oscontainer-bootstrap">
- <property name="label" translatable="yes">Create OS directory tree from container image</property>
+ <object class="GtkCheckButton" id="install-oscontainer-source-insecure">
+ <property name="label" translatable="yes">Do not verify TLS certificates of registry</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_install_container_source_toggle" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">3</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkBox" id="install-oscontainer-source">
+ <object class="GtkExpander" id="install-oscontainer-auth-options">
<property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">False</property>
- <property name="border_width">10</property>
- <property name="orientation">vertical</property>
- <property name="spacing">10</property>
+ <property name="can_focus">True</property>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
@@ -1760,7 +1835,8 @@ connections is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Source URI:</property>
+ <property name="margin_right">10</property>
+ <property name="label" translatable="yes">Username:</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1768,129 +1844,68 @@ connections is not yet supported.&lt;/small&gt;</property>
</packing>
</child>
<child>
- <object class="GtkComboBox" id="install-oscontainer-source-url-combo">
+ <object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="has_entry">True</property>
- <child internal-child="entry">
- <object class="GtkEntry" id="install-oscontainer-source-url-entry">
- <property name="can_focus">True</property>
- <property name="placeholder_text" translatable="yes">docker://srv:1234/myimg:tag</property>
- </object>
- </child>
+ <property name="margin_right">10</property>
+ <property name="label" translatable="yes">Password:</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
</packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="install-oscontainer-source-insecure">
- <property name="label" translatable="yes">Do not verify TLS certificates of registry</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkExpander" id="install-oscontainer-auth-options">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
<child>
- <object class="GtkGrid">
+ <object class="GtkEntry" id="install-oscontainer-source-user">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_right">10</property>
- <property name="label" translatable="yes">Username:</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_right">10</property>
- <property name="label" translatable="yes">Password:</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="install-oscontainer-source-user">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="install-oscontainer-source-passwd">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="visibility">False</property>
- <property name="invisible_char">*</property>
- <property name="input_purpose">password</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
- <child type="label">
- <object class="GtkLabel">
+ <child>
+ <object class="GtkEntry" id="install-oscontainer-source-passwd">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Credentials for accessing the source registry</property>
+ <property name="can_focus">True</property>
+ <property name="visibility">False</property>
+ <property name="invisible_char">*</property>
+ <property name="input_purpose">password</property>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Credentials for accessing the source registry</property>
+ </object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">4</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
--
2.15.1

View File

@ -0,0 +1,120 @@
From 7fb94b1bec19cb01243b6f50483a7ae4ba5b4b76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
Date: Thu, 14 Dec 2017 08:49:53 +0100
Subject: [PATCH 3/3] oscontainer: ask root password in the wizard
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.
---
ui/create.ui | 36 ++++++++++++++++++++++++++++++++++++
virtManager/create.py | 14 ++++++++++++--
2 files changed, 48 insertions(+), 2 deletions(-)
Index: virt-manager-1.4.3/ui/create.ui
===================================================================
--- virt-manager-1.4.3.orig/ui/create.ui
+++ virt-manager-1.4.3/ui/create.ui
@@ -1901,6 +1901,42 @@ connections is not yet supported.&lt;/sm
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox" id="install-oscontainer-rootpw-box">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Root password:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="install-oscontainer-rootpw">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="visibility">False</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">True</property>
Index: virt-manager-1.4.3/virtManager/create.py
===================================================================
--- virt-manager-1.4.3.orig/virtManager/create.py
+++ virt-manager-1.4.3/virtManager/create.py
@@ -465,6 +465,7 @@ class vmmCreate(vmmGObjectUI):
self.widget("install-oscontainer-source-insecure").set_active(False)
self.widget("install-oscontainer-bootstrap").set_active(False)
self.widget("install-oscontainer-auth-options").set_expanded(False)
+ self.widget("install-oscontainer-rootpw").set_text("")
src_model = (self.widget("install-oscontainer-source-url-combo")
.get_model())
_populate_media_model(src_model, self.config.get_container_urls())
@@ -701,7 +702,8 @@ class vmmCreate(vmmGObjectUI):
"install-oscontainer-notsupport-conn": not is_local,
"install-oscontainer-notsupport": not vb_installed,
"install-oscontainer-bootstrap": vb_enabled,
- "install-oscontainer-source": vb_enabled
+ "install-oscontainer-source": vb_enabled,
+ "install-oscontainer-rootpw-box": vb_enabled
}
for w in oscontainer_widget_conf:
self.widget(w).set_visible(oscontainer_widget_conf[w])
@@ -1329,6 +1331,10 @@ class vmmCreate(vmmGObjectUI):
return self.widget("install-oscontainer-source-insecure").get_active()
+ def _get_config_oscontainer_root_password(self):
+ return self.widget("install-oscontainer-rootpw").get_text()
+
+
def _should_skip_disk_page(self):
return self._get_config_install_page() in [INSTALL_PAGE_IMPORT,
INSTALL_PAGE_CONTAINER_APP,
@@ -1732,6 +1738,7 @@ class vmmCreate(vmmGObjectUI):
def _container_source_toggle(self, ignore):
enable_src = self.widget("install-oscontainer-bootstrap").get_active()
self.widget("install-oscontainer-source").set_sensitive(enable_src)
+ self.widget("install-oscontainer-rootpw-box").set_sensitive(enable_src)
# Auto-generate a path if not specified
if enable_src and not self.widget("install-oscontainer-fs").get_text():
@@ -2577,7 +2584,8 @@ class vmmCreate(vmmGObjectUI):
'dest': self.widget("install-oscontainer-fs").get_text,
'user': self._get_config_oscontainer_source_username,
'passwd': self._get_config_oscontainer_source_password,
- 'insecure': self._get_config_oscontainer_isecure
+ 'insecure': self._get_config_oscontainer_isecure,
+ 'root_password': self._get_config_oscontainer_root_password,
}
for key, getter in list(bootstrap_arg_keys.items()):
bootstrap_args[key] = getter()
@@ -2733,6 +2741,8 @@ class vmmCreate(vmmGObjectUI):
if bootstrap_args['user'] and bootstrap_args['passwd']:
kwargs['username'] = bootstrap_args['user']
kwargs['password'] = bootstrap_args['passwd']
+ if bootstrap_args['root_password']:
+ kwargs['root_password'] = bootstrap_args['root_password']
logging.debug('Start container bootstrap')
try:
virtBootstrap.bootstrap(**kwargs)

View File

@ -0,0 +1,73 @@
From 697b86a84a2bfd267a30c765b19ba550a55d85c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
Date: Thu, 14 Dec 2017 09:02:30 +0100
Subject: [PATCH] Harmonize invisible_char values
To be consistent across the UI, change the few remaining different
invisible_char values to match the most common one.
---
ui/addhardware.ui | 2 +-
ui/create.ui | 4 ++--
ui/migrate.ui | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/ui/addhardware.ui b/ui/addhardware.ui
index eb476dab..44b23068 100644
--- a/ui/addhardware.ui
+++ b/ui/addhardware.ui
@@ -1290,7 +1290,7 @@
<object class="GtkEntry" id="usbredir-host">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">•</property>
+ <property name="invisible_char">●</property>
</object>
<packing>
<property name="expand">True</property>
diff --git a/ui/create.ui b/ui/create.ui
index ea92756d..1749ff35 100644
--- a/ui/create.ui
+++ b/ui/create.ui
@@ -1039,7 +1039,7 @@ bar</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
- <property name="invisible_char">•</property>
+ <property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -1870,7 +1870,7 @@ connections is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
- <property name="invisible_char">*</property>
+ <property name="invisible_char">●</property>
<property name="input_purpose">password</property>
</object>
<packing>
diff --git a/ui/migrate.ui b/ui/migrate.ui
index 943ecb9e..4a98d509 100644
--- a/ui/migrate.ui
+++ b/ui/migrate.ui
@@ -266,7 +266,7 @@
<object class="GtkSpinButton" id="migrate-port">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">•</property>
+ <property name="invisible_char">●</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">adjustment1</property>
</object>
@@ -303,7 +303,7 @@
<object class="GtkEntry" id="migrate-address">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">•</property>
+ <property name="invisible_char">●</property>
</object>
<packing>
<property name="expand">False</property>
--
2.15.1

View File

@ -0,0 +1,45 @@
From e025b9c0fe78621f1c6f9f7655c142a8a3d516fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cedric.bosdonnat@free.fr>
Date: Wed, 13 Dec 2017 11:35:39 +0100
Subject: [PATCH] python3: fix bytes/string mess in serial console
Add a few encode() and decode() to convert between libvirt stream
functions expecting bytes arrays and Vte callbacks providing strings.
---
virtManager/serialcon.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/virtManager/serialcon.py b/virtManager/serialcon.py
index 7caf6db4..21ab8ae7 100644
--- a/virtManager/serialcon.py
+++ b/virtManager/serialcon.py
@@ -149,7 +149,7 @@ class LibvirtConsoleConnection(ConsoleConnection):
self.stream = None
- self.streamToTerminal = ""
+ self.streamToTerminal = b""
self.terminalToStream = ""
def _event_on_stream(self, stream, events, opaque):
@@ -187,7 +187,7 @@ class LibvirtConsoleConnection(ConsoleConnection):
self.terminalToStream):
try:
- done = self.stream.send(self.terminalToStream)
+ done = self.stream.send(self.terminalToStream.encode())
except Exception:
logging.exception("Error sending stream data")
self.close()
@@ -262,7 +262,7 @@ class LibvirtConsoleConnection(ConsoleConnection):
return
terminal.feed(self.streamToTerminal)
- self.streamToTerminal = ""
+ self.streamToTerminal = b""
class vmmSerialConsole(vmmGObject):
--
2.15.1

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Dec 13 10:50:04 UTC 2017 - cbosdonnat@suse.com
- Fix display and input of text in serial console (bsc#1070896)
python3-fix-bytes-string-mess-in-serial-console.patch
- Fix virt-bootstrap UI integration (bsc#1063367)
0001-Improve-container-image-url-example.patch
0002-create-wizard-fix-alignment-in-os-container-page.patch
0003-oscontainer-ask-root-password-in-the-wizard.patch
0004-Harmonize-invisible_char-values.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Dec 11 14:50:59 MST 2017 - carnold@suse.com Mon Dec 11 14:50:59 MST 2017 - carnold@suse.com

View File

@ -127,6 +127,12 @@ Patch207: 0002-virtinst-python3-avoid-comparison-of-None-and-int.patch
Patch208: 0003-virtinst-python3-avoid-using-long-type.patch Patch208: 0003-virtinst-python3-avoid-using-long-type.patch
Patch209: 0004-virtinst-python3-use-binary-mode-for-kernel.patch Patch209: 0004-virtinst-python3-use-binary-mode-for-kernel.patch
Patch210: virtman-register-delete-event-for-details-dialog.patch Patch210: virtman-register-delete-event-for-details-dialog.patch
Patch211: python3-fix-bytes-string-mess-in-serial-console.patch
# For upstream review
Patch500: 0001-Improve-container-image-url-example.patch
Patch501: 0002-create-wizard-fix-alignment-in-os-container-page.patch
Patch502: 0003-oscontainer-ask-root-password-in-the-wizard.patch
Patch503: 0004-Harmonize-invisible_char-values.patch
BuildArch: noarch BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -299,6 +305,11 @@ machine).
%patch208 -p1 %patch208 -p1
%patch209 -p1 %patch209 -p1
%patch210 -p1 %patch210 -p1
%patch211 -p1
%patch500 -p1
%patch501 -p1
%patch502 -p1
%patch503 -p1
%build %build
%if %{qemu_user} %if %{qemu_user}