mirror of
https://github.com/Pardus-LiderAhenk/ahenk
synced 2024-11-25 20:32:20 +03:00
missing plugin installation failure message created with related task/policy properties
This commit is contained in:
parent
acf65a2d5b
commit
1900d76618
1 changed files with 56 additions and 0 deletions
|
@ -9,8 +9,11 @@ from base.file.file_transfer_manager import FileTransferManager
|
||||||
from base.model.PluginBean import PluginBean
|
from base.model.PluginBean import PluginBean
|
||||||
from base.model.PolicyBean import PolicyBean
|
from base.model.PolicyBean import PolicyBean
|
||||||
from base.model.ProfileBean import ProfileBean
|
from base.model.ProfileBean import ProfileBean
|
||||||
|
from base.model.Response import Response
|
||||||
from base.model.TaskBean import TaskBean
|
from base.model.TaskBean import TaskBean
|
||||||
|
from base.model.enum.MessageCode import MessageCode
|
||||||
from base.model.enum.MessageType import MessageType
|
from base.model.enum.MessageType import MessageType
|
||||||
|
from base.model.enum.ContentType import ContentType
|
||||||
from base.system.system import System
|
from base.system.system import System
|
||||||
from base.util.util import Util
|
from base.util.util import Util
|
||||||
|
|
||||||
|
@ -81,6 +84,7 @@ class ExecutionManager(object):
|
||||||
self.logger.error(
|
self.logger.error(
|
||||||
'[ExecutionManager] Plugin package could not fetch. Error Message: {}.'.format(str(e)))
|
'[ExecutionManager] Plugin package could not fetch. Error Message: {}.'.format(str(e)))
|
||||||
self.logger.error('[ExecutionManager] Plugin Installation is cancelling')
|
self.logger.error('[ExecutionManager] Plugin Installation is cancelling')
|
||||||
|
self.plugin_installation_failure(plugin_name, plugin_version)
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -88,6 +92,7 @@ class ExecutionManager(object):
|
||||||
self.logger.debug('[ExecutionManager] Plugin installed.')
|
self.logger.debug('[ExecutionManager] Plugin installed.')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error('[ExecutionManager] Could not install plugin. Error Message: {}'.format(str(e)))
|
self.logger.error('[ExecutionManager] Could not install plugin. Error Message: {}'.format(str(e)))
|
||||||
|
self.plugin_installation_failure(plugin_name, plugin_version)
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -103,6 +108,57 @@ class ExecutionManager(object):
|
||||||
'[ExecutionManager] A problem occurred while installing new Ahenk plugin. Error Message:{}'.format(
|
'[ExecutionManager] A problem occurred while installing new Ahenk plugin. Error Message:{}'.format(
|
||||||
str(e)))
|
str(e)))
|
||||||
|
|
||||||
|
def plugin_installation_failure(self, plugin_name, plugin_version):
|
||||||
|
|
||||||
|
self.logger.warning('[ExecutionManager] {0} plugin installation failure '.format(plugin_name))
|
||||||
|
|
||||||
|
if plugin_name in self.plugin_manager.delayed_profiles.keys():
|
||||||
|
profile = self.plugin_manager.delayed_profiles[plugin_name]
|
||||||
|
self.logger.warning('[ExecutionManager] An error message sending with related profile properties...')
|
||||||
|
related_policy = self.db_service.select('policy', ['version', 'execution_id'],
|
||||||
|
'id={0}'.format(profile.get_id()))
|
||||||
|
data = dict()
|
||||||
|
data['message'] = "Profil işletilirken eklenti bulunamadı "
|
||||||
|
"ve eksik olan eklenti kurulmaya çalışırken hata ile karşılaşıldı. "
|
||||||
|
"İlgili eklenti Ahenk'e yüklendiğinde, başarısız olan bu profil "
|
||||||
|
"(Başka bir politika tarafından ezilmedikçe) "
|
||||||
|
"çalıştırılacaktır"
|
||||||
|
" Sorunu çözmek için Lider yapılandırma dosyasındaki eklenti dağıtım "
|
||||||
|
"bilgilerinin doğruluğundan ve belirtilen dizinde geçerli eklenti paketinin "
|
||||||
|
"bulunduğundan emin olun."
|
||||||
|
response = Response(type=MessageType.POLICY_STATUS.value, id=profile.get_id(),
|
||||||
|
code=MessageCode.POLICY_ERROR.value,
|
||||||
|
message="Profil işletilirken eklenti bulunamadı "
|
||||||
|
"ve eksik olan eklenti kurulurken hata oluştu",
|
||||||
|
execution_id=related_policy[0][1], policy_version=related_policy[0][0],
|
||||||
|
data=json.dumps(data), content_type=ContentType.APPLICATION_JSON.value)
|
||||||
|
messenger = Scope.getInstance().getMessenger()
|
||||||
|
messenger.send_direct_message(self.message_manager.policy_status_msg(response))
|
||||||
|
self.logger.warning(
|
||||||
|
'[ExecutionManager] Error message was sent about {0} plugin installation failure while trying to run a profile')
|
||||||
|
|
||||||
|
if plugin_name in self.plugin_manager.delayed_tasks.keys():
|
||||||
|
task = self.plugin_manager.delayed_tasks[plugin_name]
|
||||||
|
self.logger.warning('[ExecutionManager] An error message sending with related task properties...')
|
||||||
|
|
||||||
|
data = dict()
|
||||||
|
data['message'] = "Görev işletilirken eklenti bulunamadı "
|
||||||
|
"ve eksik olan eklenti kurulmaya çalışırken hata ile karşılaşıldı. "
|
||||||
|
"İlgili eklenti Ahenk'e yüklendiğinde, başarısız olan bu görev "
|
||||||
|
"çalıştırılacaktır"
|
||||||
|
" Sorunu çözmek için Lider yapılandırma dosyasındaki eklenti dağıtım "
|
||||||
|
"bilgilerinin doğruluğundan ve belirtilen dizinde geçerli eklenti paketinin "
|
||||||
|
"bulunduğundan emin olun."
|
||||||
|
response = Response(type=MessageType.TASK_STATUS.value, id=task.get_id(),
|
||||||
|
code=MessageCode.TASK_ERROR.value,
|
||||||
|
message="Görev işletilirken eklenti bulunamadı "
|
||||||
|
"ve eksik olan eklenti kurulmaya çalışırken oluştu.",
|
||||||
|
data=json.dumps(data), content_type=ContentType.APPLICATION_JSON.value)
|
||||||
|
messenger = Scope.getInstance().getMessenger()
|
||||||
|
messenger.send_direct_message(self.message_manager.task_status_msg(response))
|
||||||
|
self.logger.warning(
|
||||||
|
'[ExecutionManager] Error message was sent about {0} plugin installation failure while trying to run a task')
|
||||||
|
|
||||||
def is_policy_executed(self, username):
|
def is_policy_executed(self, username):
|
||||||
if username in self.policy_executed:
|
if username in self.policy_executed:
|
||||||
return self.policy_executed[username]
|
return self.policy_executed[username]
|
||||||
|
|
Loading…
Reference in a new issue