Added save_ssh_key_error_handler
This commit is contained in:
		
					parent
					
						
							
								a72287be5c
							
						
					
				
			
			
				commit
				
					
						1bc78ceb5d
					
				
			
		
					 2 changed files with 22 additions and 3 deletions
				
			
		| 
						 | 
					@ -8,7 +8,7 @@ from oca.pool import WrongNameError, WrongIdError
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from hosting.models import HostingOrder
 | 
					from hosting.models import HostingOrder
 | 
				
			||||||
from utils.models import CustomUser
 | 
					from utils.models import CustomUser
 | 
				
			||||||
from utils.tasks import save_ssh_key
 | 
					from utils.tasks import save_ssh_key, save_ssh_key_error_handler
 | 
				
			||||||
from .exceptions import KeyExistsError, UserExistsError, UserCredentialError
 | 
					from .exceptions import KeyExistsError, UserExistsError, UserCredentialError
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logger = logging.getLogger(__name__)
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
| 
						 | 
					@ -553,7 +553,8 @@ class OpenNebulaManager():
 | 
				
			||||||
            hosts = self.get_all_hosts()
 | 
					            hosts = self.get_all_hosts()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if len(hosts) > 0 and len(keys) > 0:
 | 
					        if len(hosts) > 0 and len(keys) > 0:
 | 
				
			||||||
            save_ssh_key.apply_async((hosts, keys), countdown=countdown)
 | 
					            save_ssh_key.apply_async((hosts, keys), countdown=countdown,
 | 
				
			||||||
 | 
					                                     link_error=save_ssh_key_error_handler.s())
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            logger.debug("Keys and hosts are empty, so not managing any keys")
 | 
					            logger.debug("Keys and hosts are empty, so not managing any keys")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
import cdist
 | 
					 | 
				
			||||||
import tempfile
 | 
					import tempfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cdist
 | 
				
			||||||
from cdist.integration import configure_hosts_simple
 | 
					from cdist.integration import configure_hosts_simple
 | 
				
			||||||
 | 
					from celery.result import AsyncResult
 | 
				
			||||||
from celery.utils.log import get_task_logger
 | 
					from celery.utils.log import get_task_logger
 | 
				
			||||||
from django.conf import settings
 | 
					from django.conf import settings
 | 
				
			||||||
from django.core.mail import EmailMessage
 | 
					from django.core.mail import EmailMessage
 | 
				
			||||||
| 
						 | 
					@ -66,3 +68,19 @@ def save_ssh_key(self, hosts, keys):
 | 
				
			||||||
            logger.error(cdist_exception)
 | 
					            logger.error(cdist_exception)
 | 
				
			||||||
            return_value = False
 | 
					            return_value = False
 | 
				
			||||||
    return return_value
 | 
					    return return_value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@app.task
 | 
				
			||||||
 | 
					def save_ssh_key_error_handler(uuid):
 | 
				
			||||||
 | 
					    result = AsyncResult(uuid)
 | 
				
			||||||
 | 
					    exc = result.get(propagate=False)
 | 
				
			||||||
 | 
					    logger.error('Task {0} raised exception: {1!r}\n{2!r}'.format(
 | 
				
			||||||
 | 
					        uuid, exc, result.traceback))
 | 
				
			||||||
 | 
					    email_data = {
 | 
				
			||||||
 | 
					        'subject': "[celery error] Save SSH key error {0}".format(uuid),
 | 
				
			||||||
 | 
					        'from_email': settings.DCL_SUPPORT_FROM_ADDRESS,
 | 
				
			||||||
 | 
					        'to': ['info@ungleich.ch'],
 | 
				
			||||||
 | 
					        'body': "Task Id: {0}\nResult: {1}\nTraceback: {2}".format(
 | 
				
			||||||
 | 
					            uuid, exc, result.traceback),
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    send_plain_email_task(email_data)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue