assert `query-migrate` in target doesn't give migration
status and test errors even if migration succeeds.
In target:
{'execute': 'query-migrate'}
{"return": {}}
Signed-off-by: Balamuruhan S <bala24@linux.ibm.com>
---
tests/acceptance/migration.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py
index a44c1ae58f..0f3553c8f0 100644
--- a/tests/acceptance/migration.py
+++ b/tests/acceptance/migration.py
@@ -44,7 +44,8 @@ class Migration(Test):
step=0.1,
args=(source_vm,)
)
- self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed')
- self.assertEqual(source_vm.command('query-migrate')['status'], 'completed')
+ self.assertEqual(source_vm.command('query-migrate')['status'],
+ 'completed')
self.assertEqual(dest_vm.command('query-status')['status'], 'running')
- self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate')
+ self.assertEqual(source_vm.command('query-status')['status'],
+ 'postmigrate')
--
2.14.5
* Balamuruhan S (bala24@linux.ibm.com) wrote:
> assert `query-migrate` in target doesn't give migration
> status and test errors even if migration succeeds.
>
> In target:
> {'execute': 'query-migrate'}
> {"return": {}}
On which version of qemu?
On the current version I see:
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 1, "major": 4}, "package": "v4.1.0-852-g1a0b66e787"}, "capabilities": ["oob"]}}
{ "execute": "qmp_capabilities" }
{"return": {}}
{'execute': 'query-migrate'}
{"return": {"status": "completed"}}
Dave
> Signed-off-by: Balamuruhan S <bala24@linux.ibm.com>
> ---
> tests/acceptance/migration.py | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py
> index a44c1ae58f..0f3553c8f0 100644
> --- a/tests/acceptance/migration.py
> +++ b/tests/acceptance/migration.py
> @@ -44,7 +44,8 @@ class Migration(Test):
> step=0.1,
> args=(source_vm,)
> )
> - self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed')
> - self.assertEqual(source_vm.command('query-migrate')['status'], 'completed')
> + self.assertEqual(source_vm.command('query-migrate')['status'],
> + 'completed')
> self.assertEqual(dest_vm.command('query-status')['status'], 'running')
> - self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate')
> + self.assertEqual(source_vm.command('query-status')['status'],
> + 'postmigrate')
> --
> 2.14.5
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On Mon, Sep 16, 2019 at 07:50:44PM +0100, Dr. David Alan Gilbert wrote:
> * Balamuruhan S (bala24@linux.ibm.com) wrote:
> > assert `query-migrate` in target doesn't give migration
> > status and test errors even if migration succeeds.
> >
> > In target:
> > {'execute': 'query-migrate'}
> > {"return": {}}
>
> On which version of qemu?
sorry I worked on this earlier and I haven't notice the version,
I re-tried the same in upstream Qemu and observed the one you have
posted. Thanks, I will remove this change in the next version.
But I am observing the error often while executing `query-migrate` from
test,
2019-09-17 03:15:34,797 qmp L0167 DEBUG| >>> {'execute': 'query-migrate'}
2019-09-17 03:15:34,798 qmp L0175 DEBUG| <<< {'return': {'expected-downtime': 300, 'status': 'active', 'setup-time': 1, 'total-time': 102, 'ram': {'total': 536870912, 'postcopy-requests': 0, 'dirty-sync-count': 1, 'multifd-bytes': 0, 'pages-per-second': 0, 'page-size': 4096, 'remaining': 4521984, 'mbps': 0, 'transferred': 3372844, 'duplicate': 129430, 'dirty-pages-rate': 0, 'skipped': 0, 'normal-bytes': 2203648, 'normal': 538}}}
2019-09-17 03:15:34,899 qmp L0167 DEBUG| >>> {'execute': 'query-migrate'}
2019-09-17 03:15:34,899 qmp L0087 DEBUG| <<< {'timestamp': {'seconds': 1568704534, 'microseconds': 802440}, 'event': 'STOP'}
2019-09-17 03:15:34,900 qmp L0175 DEBUG| <<< {'return': {'status': 'completed', 'setup-time': 1, 'downtime': 30, 'total-time': 137, 'ram': {'total': 536870912, 'postcopy-requests': 0, 'dirty-sync-count': 4, 'multifd-bytes': 0, 'pages-per-second': 1299680, 'page-size': 4096, 'remaining': 0, 'mbps': 474.753235, 'transferred': 4548090, 'duplicate': 133244, 'dirty-pages-rate': 0, 'skipped': 0, 'normal-bytes': 3342336, 'normal': 816}}}
2019-09-17 03:15:34,900 qmp L0167 DEBUG| >>> {'execute': 'query-migrate'}
2019-09-17 03:15:34,900 qmp L0087 DEBUG| <<< {'timestamp': {'seconds': 1568704534, 'microseconds': 832595}, 'event': 'RESUME'}
2019-09-17 03:15:35,545 stacktrace L0039 ERROR|
2019-09-17 03:15:35,545 stacktrace L0042 ERROR| Reproduced traceback from: /usr/local/lib/python3.6/site-packages/avocado/core/test.py:853
2019-09-17 03:15:35,547 stacktrace L0045 ERROR| Traceback (most recent call last):
2019-09-17 03:15:35,547 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/migration.py", line 47, in test_migration_with_tcp_localhost
2019-09-17 03:15:35,547 stacktrace L0045 ERROR| self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed')
2019-09-17 03:15:35,547 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/machine.py", line 378, in command
2019-09-17 03:15:35,547 stacktrace L0045 ERROR| reply = self.qmp(cmd, conv_keys, **args)
2019-09-17 03:15:35,547 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/machine.py", line 370, in qmp
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| return self._qmp.cmd(cmd, args=qmp_args)
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/qmp.py", line 191, in cmd
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| return self.cmd_obj(qmp_cmd)
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/qmp.py", line 174, in cmd_obj
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| resp = self.__json_read()
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/qmp.py", line 82, in __json_read
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| data = self.__sockfile.readline()
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/usr/lib64/python3.6/socket.py", line 586, in readinto
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| return self._sock.recv_into(b)
2019-09-17 03:15:35,548 stacktrace L0045 ERROR| ConnectionResetError: [Errno 104] Connection reset by peer
could you help me on what do I miss here ?
-- Bala
>
> On the current version I see:
>
> {"QMP": {"version": {"qemu": {"micro": 50, "minor": 1, "major": 4}, "package": "v4.1.0-852-g1a0b66e787"}, "capabilities": ["oob"]}}
> { "execute": "qmp_capabilities" }
> {"return": {}}
> {'execute': 'query-migrate'}
> {"return": {"status": "completed"}}
>
> Dave
> > Signed-off-by: Balamuruhan S <bala24@linux.ibm.com>
> > ---
> > tests/acceptance/migration.py | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py
> > index a44c1ae58f..0f3553c8f0 100644
> > --- a/tests/acceptance/migration.py
> > +++ b/tests/acceptance/migration.py
> > @@ -44,7 +44,8 @@ class Migration(Test):
> > step=0.1,
> > args=(source_vm,)
> > )
> > - self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed')
> > - self.assertEqual(source_vm.command('query-migrate')['status'], 'completed')
> > + self.assertEqual(source_vm.command('query-migrate')['status'],
> > + 'completed')
> > self.assertEqual(dest_vm.command('query-status')['status'], 'running')
> > - self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate')
> > + self.assertEqual(source_vm.command('query-status')['status'],
> > + 'postmigrate')
> > --
> > 2.14.5
> >
> >
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
* Balamuruhan S (bala24@linux.ibm.com) wrote:
> On Mon, Sep 16, 2019 at 07:50:44PM +0100, Dr. David Alan Gilbert wrote:
> > * Balamuruhan S (bala24@linux.ibm.com) wrote:
> > > assert `query-migrate` in target doesn't give migration
> > > status and test errors even if migration succeeds.
> > >
> > > In target:
> > > {'execute': 'query-migrate'}
> > > {"return": {}}
> >
> > On which version of qemu?
>
> sorry I worked on this earlier and I haven't notice the version,
> I re-tried the same in upstream Qemu and observed the one you have
> posted. Thanks, I will remove this change in the next version.
>
Great; I don't think it always returns a status; but it should in most
cases after a migration.
> But I am observing the error often while executing `query-migrate` from
> test,
>
> 2019-09-17 03:15:34,797 qmp L0167 DEBUG| >>> {'execute': 'query-migrate'}
> 2019-09-17 03:15:34,798 qmp L0175 DEBUG| <<< {'return': {'expected-downtime': 300, 'status': 'active', 'setup-time': 1, 'total-time': 102, 'ram': {'total': 536870912, 'postcopy-requests': 0, 'dirty-sync-count': 1, 'multifd-bytes': 0, 'pages-per-second': 0, 'page-size': 4096, 'remaining': 4521984, 'mbps': 0, 'transferred': 3372844, 'duplicate': 129430, 'dirty-pages-rate': 0, 'skipped': 0, 'normal-bytes': 2203648, 'normal': 538}}}
> 2019-09-17 03:15:34,899 qmp L0167 DEBUG| >>> {'execute': 'query-migrate'}
> 2019-09-17 03:15:34,899 qmp L0087 DEBUG| <<< {'timestamp': {'seconds': 1568704534, 'microseconds': 802440}, 'event': 'STOP'}
> 2019-09-17 03:15:34,900 qmp L0175 DEBUG| <<< {'return': {'status': 'completed', 'setup-time': 1, 'downtime': 30, 'total-time': 137, 'ram': {'total': 536870912, 'postcopy-requests': 0, 'dirty-sync-count': 4, 'multifd-bytes': 0, 'pages-per-second': 1299680, 'page-size': 4096, 'remaining': 0, 'mbps': 474.753235, 'transferred': 4548090, 'duplicate': 133244, 'dirty-pages-rate': 0, 'skipped': 0, 'normal-bytes': 3342336, 'normal': 816}}}
> 2019-09-17 03:15:34,900 qmp L0167 DEBUG| >>> {'execute': 'query-migrate'}
> 2019-09-17 03:15:34,900 qmp L0087 DEBUG| <<< {'timestamp': {'seconds': 1568704534, 'microseconds': 832595}, 'event': 'RESUME'}
> 2019-09-17 03:15:35,545 stacktrace L0039 ERROR|
> 2019-09-17 03:15:35,545 stacktrace L0042 ERROR| Reproduced traceback from: /usr/local/lib/python3.6/site-packages/avocado/core/test.py:853
> 2019-09-17 03:15:35,547 stacktrace L0045 ERROR| Traceback (most recent call last):
> 2019-09-17 03:15:35,547 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/migration.py", line 47, in test_migration_with_tcp_localhost
> 2019-09-17 03:15:35,547 stacktrace L0045 ERROR| self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed')
> 2019-09-17 03:15:35,547 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/machine.py", line 378, in command
> 2019-09-17 03:15:35,547 stacktrace L0045 ERROR| reply = self.qmp(cmd, conv_keys, **args)
> 2019-09-17 03:15:35,547 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/machine.py", line 370, in qmp
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| return self._qmp.cmd(cmd, args=qmp_args)
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/qmp.py", line 191, in cmd
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| return self.cmd_obj(qmp_cmd)
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/qmp.py", line 174, in cmd_obj
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| resp = self.__json_read()
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/home/bala/qemu/tests/acceptance/avocado_qemu/../../../python/qemu/qmp.py", line 82, in __json_read
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| data = self.__sockfile.readline()
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| File "/usr/lib64/python3.6/socket.py", line 586, in readinto
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| return self._sock.recv_into(b)
> 2019-09-17 03:15:35,548 stacktrace L0045 ERROR| ConnectionResetError: [Errno 104] Connection reset by peer
>
>
> could you help me on what do I miss here ?
I don't know avocado much; but that looks as though the qemu has exited
on you.
Dave
> -- Bala
>
> >
> > On the current version I see:
> >
> > {"QMP": {"version": {"qemu": {"micro": 50, "minor": 1, "major": 4}, "package": "v4.1.0-852-g1a0b66e787"}, "capabilities": ["oob"]}}
> > { "execute": "qmp_capabilities" }
> > {"return": {}}
> > {'execute': 'query-migrate'}
> > {"return": {"status": "completed"}}
> >
> > Dave
> > > Signed-off-by: Balamuruhan S <bala24@linux.ibm.com>
> > > ---
> > > tests/acceptance/migration.py | 7 ++++---
> > > 1 file changed, 4 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py
> > > index a44c1ae58f..0f3553c8f0 100644
> > > --- a/tests/acceptance/migration.py
> > > +++ b/tests/acceptance/migration.py
> > > @@ -44,7 +44,8 @@ class Migration(Test):
> > > step=0.1,
> > > args=(source_vm,)
> > > )
> > > - self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed')
> > > - self.assertEqual(source_vm.command('query-migrate')['status'], 'completed')
> > > + self.assertEqual(source_vm.command('query-migrate')['status'],
> > > + 'completed')
> > > self.assertEqual(dest_vm.command('query-status')['status'], 'running')
> > > - self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate')
> > > + self.assertEqual(source_vm.command('query-status')['status'],
> > > + 'postmigrate')
> > > --
> > > 2.14.5
> > >
> > >
> > --
> > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
© 2016 - 2025 Red Hat, Inc.