mirror of https://github.com/jumpserver/jumpserver
feat: 修改 inventory 名字生成规则
parent
e969a01689
commit
bc47afb329
|
@ -10,7 +10,7 @@ __all__ = ['JMSInventory']
|
||||||
|
|
||||||
class JMSInventory:
|
class JMSInventory:
|
||||||
def __init__(self, assets, account_policy='privileged_first',
|
def __init__(self, assets, account_policy='privileged_first',
|
||||||
account_prefer='root,Administrator', host_callback=None, unique_host_name=False):
|
account_prefer='root,Administrator', host_callback=None):
|
||||||
"""
|
"""
|
||||||
:param assets:
|
:param assets:
|
||||||
:param account_prefer: account username name if not set use account_policy
|
:param account_prefer: account username name if not set use account_policy
|
||||||
|
@ -21,7 +21,6 @@ class JMSInventory:
|
||||||
self.account_policy = account_policy
|
self.account_policy = account_policy
|
||||||
self.host_callback = host_callback
|
self.host_callback = host_callback
|
||||||
self.exclude_hosts = {}
|
self.exclude_hosts = {}
|
||||||
self.unique_host_name = unique_host_name
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def clean_assets(assets):
|
def clean_assets(assets):
|
||||||
|
@ -114,8 +113,6 @@ class JMSInventory:
|
||||||
'secret': account.secret, 'secret_type': account.secret_type
|
'secret': account.secret, 'secret_type': account.secret_type
|
||||||
} if account else None
|
} if account else None
|
||||||
}
|
}
|
||||||
if self.unique_host_name:
|
|
||||||
host['name'] += '({})'.format(asset.id)
|
|
||||||
|
|
||||||
if host['jms_account'] and asset.platform.type == 'oracle':
|
if host['jms_account'] and asset.platform.type == 'oracle':
|
||||||
host['jms_account']['mode'] = 'sysdba' if account.privileged else None
|
host['jms_account']['mode'] = 'sysdba' if account.privileged else None
|
||||||
|
|
|
@ -88,7 +88,7 @@ class Job(JMSOrgBaseModel, PeriodTaskModelMixin):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def inventory(self):
|
def inventory(self):
|
||||||
return JMSInventory(self.assets.all(), self.runas_policy, self.runas, unique_host_name=True)
|
return JMSInventory(self.assets.all(), self.runas_policy, self.runas)
|
||||||
|
|
||||||
def create_execution(self):
|
def create_execution(self):
|
||||||
return self.executions.create()
|
return self.executions.create()
|
||||||
|
@ -133,26 +133,25 @@ class JobExecution(JMSOrgBaseModel):
|
||||||
"status": "ok",
|
"status": "ok",
|
||||||
"tasks": [],
|
"tasks": [],
|
||||||
}
|
}
|
||||||
host_name = "{}({})".format(asset.name, asset.id)
|
if self.summary["excludes"].get(asset.name, None):
|
||||||
if self.summary["excludes"].get(host_name, None):
|
|
||||||
asset_detail.update({"status": "excludes"})
|
asset_detail.update({"status": "excludes"})
|
||||||
result["detail"].append(asset_detail)
|
result["detail"].append(asset_detail)
|
||||||
break
|
break
|
||||||
if self.result["dark"].get(host_name, None):
|
if self.result["dark"].get(asset.name, None):
|
||||||
asset_detail.update({"status": "failed"})
|
asset_detail.update({"status": "failed"})
|
||||||
for key, task in self.result["dark"][host_name].items():
|
for key, task in self.result["dark"][asset.name].items():
|
||||||
task_detail = {"name": key,
|
task_detail = {"name": key,
|
||||||
"output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))}
|
"output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))}
|
||||||
asset_detail["tasks"].append(task_detail)
|
asset_detail["tasks"].append(task_detail)
|
||||||
if self.result["failures"].get(host_name, None):
|
if self.result["failures"].get(asset.name, None):
|
||||||
asset_detail.update({"status": "failed"})
|
asset_detail.update({"status": "failed"})
|
||||||
for key, task in self.result["failures"][host_name].items():
|
for key, task in self.result["failures"][asset.name].items():
|
||||||
task_detail = {"name": key,
|
task_detail = {"name": key,
|
||||||
"output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))}
|
"output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))}
|
||||||
asset_detail["tasks"].append(task_detail)
|
asset_detail["tasks"].append(task_detail)
|
||||||
|
|
||||||
if self.result["ok"].get(host_name, None):
|
if self.result["ok"].get(asset.name, None):
|
||||||
for key, task in self.result["ok"][host_name].items():
|
for key, task in self.result["ok"][asset.name].items():
|
||||||
task_detail = {"name": key,
|
task_detail = {"name": key,
|
||||||
"output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))}
|
"output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))}
|
||||||
asset_detail["tasks"].append(task_detail)
|
asset_detail["tasks"].append(task_detail)
|
||||||
|
|
Loading…
Reference in New Issue