Change in vdsm[master]: rpc: keep listening on socket

2016-10-24 Thread automation
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

2016-10-24 Thread piotr . kliczewski
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

2016-10-24 Thread piotr . kliczewski
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

2016-10-24 Thread automation
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

2016-10-24 Thread piotr . kliczewski
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