* [Qemu-devel] [PATCH] throttle: test that snapshots move the throttling configuration
@ 2015-09-17 14:33 Alberto Garcia
2015-09-18 15:54 ` [Qemu-devel] [Qemu-block] " Max Reitz
2015-10-06 14:16 ` [Qemu-devel] " Alberto Garcia
0 siblings, 2 replies; 5+ messages in thread
From: Alberto Garcia @ 2015-09-17 14:33 UTC (permalink / raw)
To: qemu-devel; +Cc: Kevin Wolf, Alberto Garcia, qemu-block
If a snapshot is performed on a device that has I/O limits they should
be moved to the target image (the new active layer).
Signed-off-by: Alberto Garcia <berto@igalia.com>
---
tests/qemu-iotests/096 | 69 ++++++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/096.out | 5 ++++
tests/qemu-iotests/group | 1 +
3 files changed, 75 insertions(+)
create mode 100644 tests/qemu-iotests/096
create mode 100644 tests/qemu-iotests/096.out
diff --git a/tests/qemu-iotests/096 b/tests/qemu-iotests/096
new file mode 100644
index 0000000..e34204b
--- /dev/null
+++ b/tests/qemu-iotests/096
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+#
+# Test that snapshots move the throttling configuration to the active
+# layer
+#
+# Copyright (C) 2015 Igalia, S.L.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import iotests
+import os
+
+class TestLiveSnapshot(iotests.QMPTestCase):
+ base_img = os.path.join(iotests.test_dir, 'base.img')
+ target_img = os.path.join(iotests.test_dir, 'target.img')
+ group = 'mygroup'
+ iops = 6000
+ iops_size = 1024
+
+ def setUp(self):
+ opts = []
+ opts.append('node-name=base')
+ opts.append('throttling.group=%s' % self.group)
+ opts.append('throttling.iops-total=%d' % self.iops)
+ opts.append('throttling.iops-size=%d' % self.iops_size)
+ iotests.qemu_img('create', '-f', iotests.imgfmt, self.base_img, '100M')
+ self.vm = iotests.VM().add_drive(self.base_img, ','.join(opts))
+ self.vm.launch()
+
+ def tearDown(self):
+ self.vm.shutdown()
+ os.remove(self.base_img)
+ os.remove(self.target_img)
+
+ def checkConfig(self, active_layer):
+ result = self.vm.qmp('query-named-block-nodes')
+ for r in result['return']:
+ if r['node-name'] == active_layer:
+ self.assertEqual(r['group'], self.group)
+ self.assertEqual(r['iops'], self.iops)
+ self.assertEqual(r['iops_size'], self.iops_size)
+ else:
+ self.assertFalse(r.has_key('group'))
+ self.assertEqual(r['iops'], 0)
+ self.assertFalse(r.has_key('iops_size'))
+
+ def testSnapshot(self):
+ self.checkConfig('base')
+ self.vm.qmp('blockdev-snapshot-sync',
+ node_name = 'base',
+ snapshot_node_name = 'target',
+ snapshot_file = self.target_img,
+ format = iotests.imgfmt)
+ self.checkConfig('target')
+
+if __name__ == '__main__':
+ iotests.main(supported_fmts=['qcow2'])
diff --git a/tests/qemu-iotests/096.out b/tests/qemu-iotests/096.out
new file mode 100644
index 0000000..ae1213e
--- /dev/null
+++ b/tests/qemu-iotests/096.out
@@ -0,0 +1,5 @@
+.
+----------------------------------------------------------------------
+Ran 1 tests
+
+OK
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index 439b1d2..30c784e 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -102,6 +102,7 @@
093 auto
094 rw auto quick
095 rw auto quick
+096 rw auto quick
097 rw auto backing
098 rw auto backing quick
099 rw auto quick
--
2.5.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] throttle: test that snapshots move the throttling configuration
2015-09-17 14:33 [Qemu-devel] [PATCH] throttle: test that snapshots move the throttling configuration Alberto Garcia
@ 2015-09-18 15:54 ` Max Reitz
2015-09-21 7:02 ` Alberto Garcia
2015-10-06 15:09 ` Kevin Wolf
2015-10-06 14:16 ` [Qemu-devel] " Alberto Garcia
1 sibling, 2 replies; 5+ messages in thread
From: Max Reitz @ 2015-09-18 15:54 UTC (permalink / raw)
To: Alberto Garcia, qemu-devel; +Cc: Kevin Wolf, qemu-block
[-- Attachment #1: Type: text/plain, Size: 1061 bytes --]
On 17.09.2015 16:33, Alberto Garcia wrote:
> If a snapshot is performed on a device that has I/O limits they should
> be moved to the target image (the new active layer).
>
> Signed-off-by: Alberto Garcia <berto@igalia.com>
> ---
> tests/qemu-iotests/096 | 69 ++++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/096.out | 5 ++++
> tests/qemu-iotests/group | 1 +
> 3 files changed, 75 insertions(+)
> create mode 100644 tests/qemu-iotests/096
> create mode 100644 tests/qemu-iotests/096.out
Looks good, I'd just like to throw in that 096 is in use by my
looks-dead-but-actually-is-not and
only-waiting-for-the-blockbackend-and-media-series-to-get-merged series
"block: Rework bdrv_close_all()":
http://lists.nongnu.org/archive/html/qemu-block/2015-03/msg00048.html
But then again, once the prerequisites are met, I'll have to send a new
version of that series anyway...
So, since 096 is not a magic number I'm extremely keen on keeping in my
greedy claws:
Reviewed-by: Max Reitz <mreitz@redhat.com>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] throttle: test that snapshots move the throttling configuration
2015-09-18 15:54 ` [Qemu-devel] [Qemu-block] " Max Reitz
@ 2015-09-21 7:02 ` Alberto Garcia
2015-10-06 15:09 ` Kevin Wolf
1 sibling, 0 replies; 5+ messages in thread
From: Alberto Garcia @ 2015-09-21 7:02 UTC (permalink / raw)
To: Max Reitz, qemu-devel; +Cc: Kevin Wolf, qemu-block
On Fri 18 Sep 2015 05:54:36 PM CEST, Max Reitz <mreitz@redhat.com> wrote:
>> create mode 100644 tests/qemu-iotests/096
>> create mode 100644 tests/qemu-iotests/096.out
>
> Looks good, I'd just like to throw in that 096 is in use by my
> looks-dead-but-actually-is-not and
> only-waiting-for-the-blockbackend-and-media-series-to-get-merged series
> "block: Rework bdrv_close_all()":
> http://lists.nongnu.org/archive/html/qemu-block/2015-03/msg00048.html
Ah, I don't care about the number, if someone wants to change it when
applying my patch I have no problem with that.
Berto
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] throttle: test that snapshots move the throttling configuration
2015-09-17 14:33 [Qemu-devel] [PATCH] throttle: test that snapshots move the throttling configuration Alberto Garcia
2015-09-18 15:54 ` [Qemu-devel] [Qemu-block] " Max Reitz
@ 2015-10-06 14:16 ` Alberto Garcia
1 sibling, 0 replies; 5+ messages in thread
From: Alberto Garcia @ 2015-10-06 14:16 UTC (permalink / raw)
To: qemu-devel; +Cc: Kevin Wolf, qemu-block
Ping
On Thu 17 Sep 2015 04:33:06 PM CEST, Alberto Garcia wrote:
> If a snapshot is performed on a device that has I/O limits they should
> be moved to the target image (the new active layer).
>
> Signed-off-by: Alberto Garcia <berto@igalia.com>
> ---
> tests/qemu-iotests/096 | 69 ++++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/096.out | 5 ++++
> tests/qemu-iotests/group | 1 +
> 3 files changed, 75 insertions(+)
> create mode 100644 tests/qemu-iotests/096
> create mode 100644 tests/qemu-iotests/096.out
>
> diff --git a/tests/qemu-iotests/096 b/tests/qemu-iotests/096
> new file mode 100644
> index 0000000..e34204b
> --- /dev/null
> +++ b/tests/qemu-iotests/096
> @@ -0,0 +1,69 @@
> +#!/usr/bin/env python
> +#
> +# Test that snapshots move the throttling configuration to the active
> +# layer
> +#
> +# Copyright (C) 2015 Igalia, S.L.
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program. If not, see <http://www.gnu.org/licenses/>.
> +#
> +
> +import iotests
> +import os
> +
> +class TestLiveSnapshot(iotests.QMPTestCase):
> + base_img = os.path.join(iotests.test_dir, 'base.img')
> + target_img = os.path.join(iotests.test_dir, 'target.img')
> + group = 'mygroup'
> + iops = 6000
> + iops_size = 1024
> +
> + def setUp(self):
> + opts = []
> + opts.append('node-name=base')
> + opts.append('throttling.group=%s' % self.group)
> + opts.append('throttling.iops-total=%d' % self.iops)
> + opts.append('throttling.iops-size=%d' % self.iops_size)
> + iotests.qemu_img('create', '-f', iotests.imgfmt, self.base_img, '100M')
> + self.vm = iotests.VM().add_drive(self.base_img, ','.join(opts))
> + self.vm.launch()
> +
> + def tearDown(self):
> + self.vm.shutdown()
> + os.remove(self.base_img)
> + os.remove(self.target_img)
> +
> + def checkConfig(self, active_layer):
> + result = self.vm.qmp('query-named-block-nodes')
> + for r in result['return']:
> + if r['node-name'] == active_layer:
> + self.assertEqual(r['group'], self.group)
> + self.assertEqual(r['iops'], self.iops)
> + self.assertEqual(r['iops_size'], self.iops_size)
> + else:
> + self.assertFalse(r.has_key('group'))
> + self.assertEqual(r['iops'], 0)
> + self.assertFalse(r.has_key('iops_size'))
> +
> + def testSnapshot(self):
> + self.checkConfig('base')
> + self.vm.qmp('blockdev-snapshot-sync',
> + node_name = 'base',
> + snapshot_node_name = 'target',
> + snapshot_file = self.target_img,
> + format = iotests.imgfmt)
> + self.checkConfig('target')
> +
> +if __name__ == '__main__':
> + iotests.main(supported_fmts=['qcow2'])
> diff --git a/tests/qemu-iotests/096.out b/tests/qemu-iotests/096.out
> new file mode 100644
> index 0000000..ae1213e
> --- /dev/null
> +++ b/tests/qemu-iotests/096.out
> @@ -0,0 +1,5 @@
> +.
> +----------------------------------------------------------------------
> +Ran 1 tests
> +
> +OK
> diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
> index 439b1d2..30c784e 100644
> --- a/tests/qemu-iotests/group
> +++ b/tests/qemu-iotests/group
> @@ -102,6 +102,7 @@
> 093 auto
> 094 rw auto quick
> 095 rw auto quick
> +096 rw auto quick
> 097 rw auto backing
> 098 rw auto backing quick
> 099 rw auto quick
> --
> 2.5.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] throttle: test that snapshots move the throttling configuration
2015-09-18 15:54 ` [Qemu-devel] [Qemu-block] " Max Reitz
2015-09-21 7:02 ` Alberto Garcia
@ 2015-10-06 15:09 ` Kevin Wolf
1 sibling, 0 replies; 5+ messages in thread
From: Kevin Wolf @ 2015-10-06 15:09 UTC (permalink / raw)
To: Max Reitz; +Cc: Alberto Garcia, qemu-devel, qemu-block
[-- Attachment #1: Type: text/plain, Size: 1457 bytes --]
Am 18.09.2015 um 17:54 hat Max Reitz geschrieben:
> On 17.09.2015 16:33, Alberto Garcia wrote:
> > If a snapshot is performed on a device that has I/O limits they should
> > be moved to the target image (the new active layer).
> >
> > Signed-off-by: Alberto Garcia <berto@igalia.com>
> > ---
> > tests/qemu-iotests/096 | 69 ++++++++++++++++++++++++++++++++++++++++++++++
> > tests/qemu-iotests/096.out | 5 ++++
> > tests/qemu-iotests/group | 1 +
> > 3 files changed, 75 insertions(+)
> > create mode 100644 tests/qemu-iotests/096
> > create mode 100644 tests/qemu-iotests/096.out
>
> Looks good, I'd just like to throw in that 096 is in use by my
> looks-dead-but-actually-is-not and
> only-waiting-for-the-blockbackend-and-media-series-to-get-merged series
> "block: Rework bdrv_close_all()":
> http://lists.nongnu.org/archive/html/qemu-block/2015-03/msg00048.html
>
> But then again, once the prerequisites are met, I'll have to send a new
> version of that series anyway...
It's generally a good idea to check the mailing list for test numbers
taken by posted, but not yet merged patches. If there are any gaps in
groups, chances are high that some patch is using it, so don't fill gaps
without checking that first.
> So, since 096 is not a magic number I'm extremely keen on keeping in my
> greedy claws:
>
> Reviewed-by: Max Reitz <mreitz@redhat.com>
Thanks, applied to the block branch.
Kevin
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-06 15:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-17 14:33 [Qemu-devel] [PATCH] throttle: test that snapshots move the throttling configuration Alberto Garcia
2015-09-18 15:54 ` [Qemu-devel] [Qemu-block] " Max Reitz
2015-09-21 7:02 ` Alberto Garcia
2015-10-06 15:09 ` Kevin Wolf
2015-10-06 14:16 ` [Qemu-devel] " Alberto Garcia
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).