qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] throttle: test that snapshots move the throttli


From: Alberto Garcia
Subject: Re: [Qemu-devel] [PATCH] throttle: test that snapshots move the throttling configuration
Date: Tue, 06 Oct 2015 16:16:00 +0200
User-agent: Notmuch/0.13.2 (http://notmuchmail.org) Emacs/23.2.1 (i486-pc-linux-gnu)

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 <address@hidden>
> ---
>  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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]