Bug 1450989
| Summary: | Vdsm client is not aware when connection is stale | ||
|---|---|---|---|
| Product: | [oVirt] vdsm | Reporter: | Piotr Kliczewski <pkliczew> |
| Component: | Bindings-API | Assignee: | Piotr Kliczewski <pkliczew> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Nikolai Sednev <nsednev> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 4.19.20 | CC: | bugs, mavital, mperina, pkliczew, stirabos |
| Target Milestone: | ovirt-4.1.3 | Keywords: | Triaged |
| Target Release: | 4.19.16 | Flags: | rule-engine:
ovirt-4.1+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-07-06 13:17:14 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | Infra | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Piotr Kliczewski
2017-05-15 14:04:57 UTC
Please provide reproduction steps for this bug. When using vdsm.client module we need to connect and call any verb (getCapabilities). When client code is still running restart vdsm and attempt to call a verb again. The client should raise Disconnected error. from vdsm import client
cli = client.connect(localhost, 54321, use_tls=True)
cli.Host.getCapabilities()
...
# systemctl restart vdsmd
cli.Host.getCapabilities()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/vdsm/client.py", line 247, in _call
responses = self._client.call(req, timeout=timeout)
File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 362, in call
call = self.call_async(*reqs)
File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 368, in call_async
self.call_cb(call.callback, *reqs)
File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 384, in call_cb
self._transport.send(ctx.encode())
File "/usr/lib/python2.7/site-packages/yajsonrpc/stompreactor.py", line 564, in send
headers,
File "/usr/lib/python2.7/site-packages/yajsonrpc/stompreactor.py", line 414, in send
raise stomp.Disconnected()
yajsonrpc.stomp.Disconnected
Works for me on these components on host:
ovirt-vmconsole-host-1.0.4-1.el7ev.noarch
mom-0.5.9-1.el7ev.noarch
ovirt-imageio-daemon-1.0.0-0.el7ev.noarch
libvirt-client-2.0.0-10.el7_3.9.x86_64
ovirt-vmconsole-1.0.4-1.el7ev.noarch
vdsm-4.19.17-1.el7ev.x86_64
ovirt-hosted-engine-ha-2.1.1-1.el7ev.noarch
ovirt-host-deploy-1.6.5-1.el7ev.noarch
ovirt-imageio-common-1.0.0-0.el7ev.noarch
qemu-kvm-rhev-2.6.0-28.el7_3.10.x86_64
ovirt-hosted-engine-setup-2.1.2-2.el7ev.noarch
sanlock-3.4.0-1.el7.x86_64
ovirt-setup-lib-1.1.1-1.el7ev.noarch
ovirt-engine-sdk-python-3.6.9.1-1.el7ev.noarch
Linux version 3.10.0-514.21.1.el7.x86_64 (mockbuild.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Sat Apr 22 02:41:35 EDT 2017
Linux 3.10.0-514.21.1.el7.x86_64 #1 SMP Sat Apr 22 02:41:35 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux Server release 7.3 (Maipo)
Engine:
rhev-guest-tools-iso-4.1-5.el7ev.noarch
rhevm-dependencies-4.1.1-1.el7ev.noarch
rhevm-4.1.3.1-0.1.el7.noarch
rhevm-setup-plugins-4.1.2-1.el7ev.noarch
rhevm-branding-rhev-4.1.0-1.el7ev.noarch
rhevm-doc-4.1.3-1.el7ev.noarch
Linux version 3.10.0-514.16.1.el7.x86_64 (mockbuild.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Fri Mar 10 13:12:32 EST 2017
Linux 3.10.0-514.16.1.el7.x86_64 #1 SMP Fri Mar 10 13:12:32 EST 2017 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux Server release 7.3 (Maipo)
|