summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2011-05-25 15:42:24 -0700
committertermie <github@anarkystic.com>2011-05-25 15:42:24 -0700
commit8f2557dcd3e3d88c0eabb63bcce90ced79347ae4 (patch)
tree7b9b55344a839dd0c82e7397f31a3bfc05f3841b
parent90e30806a2e0c235612eb09792656cd861997f84 (diff)
downloadnova-8f2557dcd3e3d88c0eabb63bcce90ced79347ae4.tar.gz
nova-8f2557dcd3e3d88c0eabb63bcce90ced79347ae4.tar.xz
nova-8f2557dcd3e3d88c0eabb63bcce90ced79347ae4.zip
catch greenlet.GreenletExit when shutting service down
-rw-r--r--nova/rpc.py2
-rw-r--r--nova/service.py6
2 files changed, 6 insertions, 2 deletions
diff --git a/nova/rpc.py b/nova/rpc.py
index e2e962fcc..02052ecf5 100644
--- a/nova/rpc.py
+++ b/nova/rpc.py
@@ -24,13 +24,13 @@ No fan-out support yet.
"""
+import greenlet
import json
import sys
import time
import traceback
import uuid
-import greenlet
from carrot import connection as carrot_connection
from carrot import messaging
import eventlet
diff --git a/nova/service.py b/nova/service.py
index a0ff7c9f3..c7e48544c 100644
--- a/nova/service.py
+++ b/nova/service.py
@@ -19,6 +19,7 @@
"""Generic Node baseclass for all workers that run on hosts."""
+import greenlet
import inspect
import os
@@ -166,7 +167,10 @@ class Service(object):
def kill(self):
"""Destroy the service object in the datastore."""
self.csetthread.kill()
- self.csetthread.wait()
+ try:
+ self.csetthread.wait()
+ except greenlet.GreenletExit:
+ pass
self.stop()
try:
db.service_destroy(context.get_admin_context(), self.service_id)