Message ID | 20190916093445.20507-2-bala24@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | Add acceptance test for migration | expand |
* 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
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')
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(-)