Merge ~paelzer/ubuntu/+source/virt-manager:bionic-lp-1763609 into ubuntu/+source/virt-manager:ubuntu/devel

Proposed by Christian Ehrhardt 
Status: Merged
Merge reported by: Christian Ehrhardt 
Merged at revision: 48cae6191b7d82aa6d89a8b361ef8544a8dd3756
Proposed branch: ~paelzer/ubuntu/+source/virt-manager:bionic-lp-1763609
Merge into: ubuntu/+source/virt-manager:ubuntu/devel
Diff against target: 173 lines (+31/-17)
10 files modified
NEWS.md (+5/-0)
PKG-INFO (+1/-1)
debian/changelog (+10/-0)
debian/control (+1/-0)
virt-manager.spec (+1/-1)
virtManager/domain.py (+1/-1)
virtManager/manager.py (+2/-2)
virtcli/cliconfig.py (+1/-1)
virtinst/util.py (+0/-5)
virtinst/xmlbuilder.py (+9/-6)
Reviewer Review Type Date Requested Status
Robie Basak Approve
Canonical Server Pending
Canonical Server packageset reviewers Pending
Review via email: mp+343168@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
41f2b97... by Christian Ehrhardt 

stable release 1.5.1 changes (LP: #1763618)

Signed-off-by: Christian Ehrhardt <email address hidden>

38418ab... by Christian Ehrhardt 

changelog: stable release 1.5.1 changes (LP: #1763618)

Signed-off-by: Christian Ehrhardt <email address hidden>

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Extended by upstream stable fixes to avoid crashes in what we release in Bionic.

Revision history for this message
Robie Basak (racb) wrote :

Why doesn't this pull in a new upstream tarball instead of patching up to the equivalent against 1.5.0? Or have I misunderstood?

review: Needs Information
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Minor updates on the virt stack where in the past taken as patches OR tarballs by Debian.
Due to that we evaluate on a given change if we want to do it as a patch (when ahead) to avoid getting in conflict with orig tarballs down the road.

Given how small the changes to 1.5.1 were I decided this is the least-pain approach for this case.

Revision history for this message
Robie Basak (racb) wrote :

OK, thanks.

I'm not sure about this pattern. I've not seen it before. I'm on the fence. I appreciate it might save future pain, but it also feels a little misleading to users, who might only glance at the version string and not the changelog.

I'm interested to know what other core devs think.

1e89f2d... by Christian Ehrhardt 

remove 1.5.1 as patch

Signed-off-by: Christian Ehrhardt <email address hidden>

48cae61... by Christian Ehrhardt 

changelog: use upstream tarball for 1.5.1 stable update

Signed-off-by: Christian Ehrhardt <email address hidden>

a48abc8... by Christian Ehrhardt 

New upstream release 1.5.1

Signed-off-by: Christian Ehrhardt <email address hidden>

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

As discussed on IRC, lets decouple the "lets gather opinions" from this case.
Here is had no strong reason so we can go either way.
I repackaged it the classic way with the new orig tarball.

Tarball is from: https://virt-manager.org/download/sources/virt-manager/virt-manager-1.5.1.tar.gz
MP is updated to match all that (removing the patch based approach and adapting changelog).

An new test build is uploaded to https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3238

Revision history for this message
Robie Basak (racb) :
review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thanks for the review - Tag pushed and source uploaded.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/NEWS.md b/NEWS.md
index 46bf056..1eef998 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,10 @@
1# Virtual Machine Manager News1# Virtual Machine Manager News
22
3## Release 1.5.1 (February 28, 2018)
4- Bug fix release
5- Fix potential crash with libxml2 error callbacks
6- Fix disk/net/mem VM graphs
7
3## Release 1.5.0 (February 06, 2018)8## Release 1.5.0 (February 06, 2018)
4- python3 prep work (Radostin Stoyanov, Cole Robinson, Cédric Bosdonnat)9- python3 prep work (Radostin Stoyanov, Cole Robinson, Cédric Bosdonnat)
5- Switch --location ISO to use isoinfo (Andrew Wong)10- Switch --location ISO to use isoinfo (Andrew Wong)
diff --git a/PKG-INFO b/PKG-INFO
index c3ecce2..8741bde 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
1Metadata-Version: 1.01Metadata-Version: 1.0
2Name: virt-manager2Name: virt-manager
3Version: 1.5.03Version: 1.5.1
4Summary: UNKNOWN4Summary: UNKNOWN
5Home-page: http://virt-manager.org5Home-page: http://virt-manager.org
6Author: Cole Robinson6Author: Cole Robinson
diff --git a/debian/changelog b/debian/changelog
index 4b4928e..313de10 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
1virt-manager (1:1.5.1-0ubuntu1) bionic; urgency=medium
2
3 * d/control: virtinst needs isoinfo to introspect images. To fix that
4 add a dependency to genisoimage to virtinst (LP: #1763609)
5 * Merge with latest upstream stable release (LP: #1763618):
6 - Fixes potential crash with libxml2 error callbacks
7 - Fixes disk/net/mem VM graphs
8
9 -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Fri, 13 Apr 2018 09:36:46 +0200
10
1virt-manager (1:1.5.0-0ubuntu1) bionic; urgency=medium11virt-manager (1:1.5.0-0ubuntu1) bionic; urgency=medium
212
3 * Merge with Debian unstable 1:1.4.3-1 (LP: #1747907 LP: #1741861)13 * Merge with Debian unstable 1:1.4.3-1 (LP: #1747907 LP: #1741861)
diff --git a/debian/control b/debian/control
index 28fe1f0..6297811 100644
--- a/debian/control
+++ b/debian/control
@@ -66,6 +66,7 @@ Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}, python-libvirt (
66 python-ipaddr,66 python-ipaddr,
67 python-libxml2, python-requests,67 python-libxml2, python-requests,
68 gir1.2-libosinfo-1.0,68 gir1.2-libosinfo-1.0,
69 genisoimage,
69Recommends: virt-viewer, qemu-utils70Recommends: virt-viewer, qemu-utils
70Description: Programs to create and clone virtual machines71Description: Programs to create and clone virtual machines
71 Virtinst is a set of commandline tools to create virtual machines using72 Virtinst is a set of commandline tools to create virtual machines using
diff --git a/virt-manager.spec b/virt-manager.spec
index 60f6d5d..aa1a8f3 100644
--- a/virt-manager.spec
+++ b/virt-manager.spec
@@ -19,7 +19,7 @@
19# End local config19# End local config
2020
21Name: virt-manager21Name: virt-manager
22Version: 1.5.022Version: 1.5.1
23Release: 1%{?dist}23Release: 1%{?dist}
24%global verrel %{version}-%{release}24%global verrel %{version}-%{release}
2525
diff --git a/virtManager/domain.py b/virtManager/domain.py
index ed94cf1..6d3dac2 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -1984,7 +1984,7 @@ class vmmDomain(vmmLibvirtObject):
1984 except libvirt.libvirtError as err:1984 except libvirt.libvirtError as err:
1985 logging.error("Error reading mem stats: %s", err)1985 logging.error("Error reading mem stats: %s", err)
19861986
1987 pcentCurrMem = (curmem // float(totalmem)) * 1001987 pcentCurrMem = (curmem / float(totalmem)) * 100
1988 pcentCurrMem = max(0.0, min(pcentCurrMem, 100.0))1988 pcentCurrMem = max(0.0, min(pcentCurrMem, 100.0))
19891989
1990 return pcentCurrMem, curmem1990 return pcentCurrMem, curmem
diff --git a/virtManager/manager.py b/virtManager/manager.py
index d6640fb..d38fc4e 100644
--- a/virtManager/manager.py
+++ b/virtManager/manager.py
@@ -1068,7 +1068,7 @@ class vmmManager(vmmGObjectUI):
1068 return1068 return
10691069
1070 d1, d2 = obj.disk_io_vectors(GRAPH_LEN, self.max_disk_rate)1070 d1, d2 = obj.disk_io_vectors(GRAPH_LEN, self.max_disk_rate)
1071 data = [(x + y) // 2 for x, y in zip(d1, d2)]1071 data = [(x + y) / 2 for x, y in zip(d1, d2)]
1072 cell.set_property('data_array', data)1072 cell.set_property('data_array', data)
10731073
1074 def network_traffic_img(self, column_ignore, cell, model, _iter, data):1074 def network_traffic_img(self, column_ignore, cell, model, _iter, data):
@@ -1077,5 +1077,5 @@ class vmmManager(vmmGObjectUI):
1077 return1077 return
10781078
1079 d1, d2 = obj.network_traffic_vectors(GRAPH_LEN, self.max_net_rate)1079 d1, d2 = obj.network_traffic_vectors(GRAPH_LEN, self.max_net_rate)
1080 data = [(x + y) // 2 for x, y in zip(d1, d2)]1080 data = [(x + y) / 2 for x, y in zip(d1, d2)]
1081 cell.set_property('data_array', data)1081 cell.set_property('data_array', data)
diff --git a/virtcli/cliconfig.py b/virtcli/cliconfig.py
index b2446b2..b58b116 100644
--- a/virtcli/cliconfig.py
+++ b/virtcli/cliconfig.py
@@ -68,7 +68,7 @@ def _setup_gsettings_path(schemadir):
68 raise RuntimeError("Failed to compile local gsettings schemas")68 raise RuntimeError("Failed to compile local gsettings schemas")
6969
7070
71__version__ = "1.5.0"71__version__ = "1.5.1"
7272
7373
74class _CLIConfig(object):74class _CLIConfig(object):
diff --git a/virtinst/util.py b/virtinst/util.py
index 2a7bc4d..73c7f78 100644
--- a/virtinst/util.py
+++ b/virtinst/util.py
@@ -298,12 +298,7 @@ def register_libvirt_error_handler():
298 def libvirt_callback(userdata, err):298 def libvirt_callback(userdata, err):
299 ignore = userdata299 ignore = userdata
300 ignore = err300 ignore = err
301 def libxml2_callback(userdata, err):
302 ignore = userdata
303 logging.debug("libxml2 callback error: %s", err)
304 libvirt.registerErrorHandler(f=libvirt_callback, ctx=None)301 libvirt.registerErrorHandler(f=libvirt_callback, ctx=None)
305 import libxml2
306 libxml2.registerErrorHandler(f=libxml2_callback, ctx=None)
307302
308303
309def ensure_meter(meter):304def ensure_meter(meter):
diff --git a/virtinst/xmlbuilder.py b/virtinst/xmlbuilder.py
index 550fea8..521a14f 100644
--- a/virtinst/xmlbuilder.py
+++ b/virtinst/xmlbuilder.py
@@ -688,6 +688,10 @@ class _XMLState(object):
688 relative_object_xpath):688 relative_object_xpath):
689 self._root_name = root_name689 self._root_name = root_name
690 self._stub_path = "/%s" % self._root_name690 self._stub_path = "/%s" % self._root_name
691 self._namespace = ""
692 if ":" in self._root_name:
693 ns = self._root_name.split(":")[0]
694 self._namespace = " xmlns:%s='%s'" % (ns, _namespaces[ns])
691695
692 # xpath of this object relative to its parent. So for a standalone696 # xpath of this object relative to its parent. So for a standalone
693 # <disk> this is empty, but if the disk is the forth one in a <domain>697 # <disk> this is empty, but if the disk is the forth one in a <domain>
@@ -718,6 +722,10 @@ class _XMLState(object):
718722
719 if not parsexml:723 if not parsexml:
720 parsexml = self.make_xml_stub()724 parsexml = self.make_xml_stub()
725 elif self._namespace and "xmlns" not in parsexml:
726 # Make sure passed in XML has required xmlns inserted
727 parsexml = parsexml.replace("<" + self._root_name,
728 "<" + self._root_name + self._namespace)
721729
722 try:730 try:
723 doc = libxml2.parseDoc(parsexml)731 doc = libxml2.parseDoc(parsexml)
@@ -738,12 +746,7 @@ class _XMLState(object):
738746
739747
740 def make_xml_stub(self):748 def make_xml_stub(self):
741 ret = "<%s" % self._root_name749 return "<%s%s/>" % (self._root_name, self._namespace)
742 if ":" in self._root_name:
743 ns = self._root_name.split(":")[0]
744 ret += " xmlns:%s='%s'" % (ns, _namespaces[ns])
745 ret += "/>"
746 return ret
747750
748 def set_relative_object_xpath(self, xpath):751 def set_relative_object_xpath(self, xpath):
749 self._relative_object_xpath = xpath or ""752 self._relative_object_xpath = xpath or ""

Subscribers

People subscribed via source and target branches