From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Peer information after kimchid exit,
fix this by deregister from slpd when cherrypy engine exit.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
src/kimchi/model/peers.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/kimchi/model/peers.py b/src/kimchi/model/peers.py
index a9f5fcd..611ac82 100644
--- a/src/kimchi/model/peers.py
+++ b/src/kimchi/model/peers.py
@@ -17,6 +17,7 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+import cherrypy
import re
import socket
@@ -41,6 +42,17 @@ class PeersModel(object):
if out and len(out) != 0:
kimchi_log.error("Unable to register server on openSLP."
" Details: %s" % out)
+ cherrypy.engine.subscribe('exit', self._peer_deregister)
+
+
+ def _peer_deregister(self):
+ cmd = ["slptool", "deregister",
+ "service:kimchid://%s" % self.url]
+ out, error, ret = run_command(cmd)
+ if out and len(out) != 0:
+ kimchi_log.error("Unable to deregister server on openSLP."
+ " Details: %s" % out)
+
def get_list(self):
# check federation feature is enabled on Kimchi server
--
1.9.1