Change in vdsm[master]: rpc: keep listening on socket
gerrit-hooks has posted comments on this change. Change subject: rpc: keep listening on socket .. Patch Set 2: * Update Tracker::#1326940::IGNORE, not relevant for Red Hat classification * Check Bug-Url::IGNORE, not relevant for branch: master * Check Public Bug::#1326940::OK, public bug * Check Product::IGNORE, not relevant for branch: master * Check TM::IGNORE, not relevant for branch: master * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.6', 'ovirt-4.0']) -- To view, visit https://gerrit.ovirt.org/65686 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I811786795ca15548da19de0f6a31cd9df6fc8c4e Gerrit-PatchSet: 2 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Piotr Kliczewski Gerrit-Reviewer: Irit Goihman Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: Piotr Kliczewski Gerrit-Reviewer: Yaniv Bronhaim Gerrit-Reviewer: gerrit-hooks Gerrit-HasComments: No ___ vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org
Change in vdsm[master]: rpc: keep listening on socket
Piotr Kliczewski has posted comments on this change. Change subject: rpc: keep listening on socket .. Patch Set 2: Verified+1 -- To view, visit https://gerrit.ovirt.org/65686 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I811786795ca15548da19de0f6a31cd9df6fc8c4e Gerrit-PatchSet: 2 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Piotr Kliczewski Gerrit-Reviewer: Irit Goihman Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: Piotr Kliczewski Gerrit-Reviewer: Yaniv Bronhaim Gerrit-Reviewer: gerrit-hooks Gerrit-HasComments: No ___ vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org
Change in vdsm[master]: rpc: keep listening on socket
Piotr Kliczewski has posted comments on this change. Change subject: rpc: keep listening on socket .. Patch Set 1: Verified+1 -- To view, visit https://gerrit.ovirt.org/65686 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I811786795ca15548da19de0f6a31cd9df6fc8c4e Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Piotr Kliczewski Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: Piotr Kliczewski Gerrit-Reviewer: gerrit-hooks Gerrit-HasComments: No ___ vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org
Change in vdsm[master]: rpc: keep listening on socket
gerrit-hooks has posted comments on this change. Change subject: rpc: keep listening on socket .. Patch Set 1: * Update Tracker::#1326940::IGNORE, not relevant for Red Hat classification * Check Bug-Url::IGNORE, not relevant for branch: master * Check Public Bug::#1326940::OK, public bug * Check Product::IGNORE, not relevant for branch: master * Check TM::IGNORE, not relevant for branch: master * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.6', 'ovirt-4.0']) -- To view, visit https://gerrit.ovirt.org/65686 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I811786795ca15548da19de0f6a31cd9df6fc8c4e Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Piotr Kliczewski Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: gerrit-hooks Gerrit-HasComments: No ___ vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org
Change in vdsm[master]: rpc: keep listening on socket
Piotr Kliczewski has uploaded a new change for review. Change subject: rpc: keep listening on socket .. rpc: keep listening on socket Some users are using Nessus scanner which seems to close vdsm socket. Users are not willing to configure it not to break vdsm. Due to this issue vdsm needs to be restarted to make it fully operational again. We can intercept socket closure and to reopen it. This fix was tested by using gdb to close the socket and observing that the socket is still open. Bug-Url: https://bugzilla.redhat.com/1326940 Change-Id: I811786795ca15548da19de0f6a31cd9df6fc8c4e Signed-off-by: Piotr Kliczewski --- M lib/vdsm/protocoldetector.py 1 file changed, 22 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/86/65686/1 diff --git a/lib/vdsm/protocoldetector.py b/lib/vdsm/protocoldetector.py index 196a2ab..f1450d7 100644 --- a/lib/vdsm/protocoldetector.py +++ b/lib/vdsm/protocoldetector.py @@ -51,8 +51,10 @@ class _AcceptorImpl(object): log = logging.getLogger("ProtocolDetector.AcceptorImpl") -def __init__(self, dispatcher_factory): +def __init__(self, dispatcher_factory, listener): self._dispatcher_factory = dispatcher_factory +self.listener = listener +self._keep_open = True def readable(self, dispatcher): return True @@ -73,6 +75,11 @@ def handle_close(self, dispatcher): dispatcher.close() +if self._keep_open: +self.listener.listen() + +def prepare_for_shutdown(self): +self._keep_open = False class _ProtocolDetector(object): @@ -172,15 +179,20 @@ ): self._sslctx = sslctx self._reactor = reactor -sock = _create_socket(host, port) -# TODO: Clean _host & _port, use sockaddr instead. -self._host, self._port = sock.getsockname()[0:2] -self.log.info("Listening at %s:%d", self._host, self._port) -self._acceptor = self._reactor.create_dispatcher( -sock, _AcceptorImpl(self.handle_accept)) -self._acceptor.listen(5) +self.port = port +self.host = host +self.listen() self._handlers = [] self.TIMEOUT = ssl_hanshake_timeout + +def listen(self): +sock = _create_socket(self.host, self.port) +# TODO: Clean _host & _port, use sockaddr instead. +self._host, self._port = sock.getsockname()[0:2] +self._acceptor = self._reactor.create_dispatcher( +sock, _AcceptorImpl(self.handle_accept, self)) +self._acceptor.listen(5) +self.log.info("Listening at %s:%d", self._host, self._port) def handle_accept(self, client): if self._sslctx is None: @@ -208,6 +220,8 @@ def stop(self): self.log.debug("Stopping Acceptor") self._reactor.stop() + +self._acceptor.prepare_for_shutdown() self._acceptor.close() -- To view, visit https://gerrit.ovirt.org/65686 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I811786795ca15548da19de0f6a31cd9df6fc8c4e Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Piotr Kliczewski ___ vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org