mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-01-29 21:51:31 +00:00
[Change] 修改一些view
This commit is contained in:
@@ -21,16 +21,16 @@ class JMSHost(Host):
|
||||
# 添加密码和秘钥
|
||||
if asset.get('password'):
|
||||
self.set_variable('ansible_ssh_pass', asset['password'])
|
||||
if asset.get('key'):
|
||||
if asset.get('private_key'):
|
||||
self.set_variable('ansible_ssh_private_key_file', asset['private_key'])
|
||||
|
||||
# 添加become支持
|
||||
become = asset.get("become", None)
|
||||
if become is not None:
|
||||
become = asset.get("become", False)
|
||||
if become:
|
||||
self.set_variable("ansible_become", True)
|
||||
self.set_variable("ansible_become_method", become.get('method'))
|
||||
self.set_variable("ansible_become_user", become.get('user'))
|
||||
self.set_variable("ansible_become_pass", become.get('pass'))
|
||||
self.set_variable("ansible_become_method", become.get('method', 'sudo'))
|
||||
self.set_variable("ansible_become_user", become.get('user', 'root'))
|
||||
self.set_variable("ansible_become_pass", become.get('pass', ''))
|
||||
else:
|
||||
self.set_variable("ansible_become", False)
|
||||
|
||||
|
||||
@@ -265,8 +265,10 @@ class AdHocRunner(object):
|
||||
result['success'].append(host)
|
||||
|
||||
for host, msgs in self.results_callback.result_q['dark'].items():
|
||||
msg = '\n'.join(['{}: {}'.format(msg.get('invocation', {}).get('module_name'),
|
||||
msg.get('msg', '')) for msg in msgs])
|
||||
msg = '\n'.join(['{} {}: {}'.format(
|
||||
msg.get('module_stdout', ''),
|
||||
msg.get('invocation', {}).get('module_name'),
|
||||
msg.get('msg', '')) for msg in msgs])
|
||||
result['failed'].append((host, msg))
|
||||
return result
|
||||
|
||||
|
||||
@@ -68,7 +68,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Is success ' %}:</td>
|
||||
{% if object.is_finished %}
|
||||
<td><b>{{ object.is_success|yesno:"Yes,No,Unkown" }}</b></td>
|
||||
{% else %}
|
||||
<td>
|
||||
<div class="progress progress-striped active">
|
||||
<div style="width: 50%" aria-valuemax="100" aria-valuemin="0" aria-valuenow="75" role="progressbar" class="progress-bar progress-bar-danger">
|
||||
<span class="sr-only">40% Complete (success)</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Assets ' %}:</td>
|
||||
@@ -84,6 +94,31 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ibox float-e-margins">
|
||||
<div class="ibox-title">
|
||||
<span><b>Result</b></span>
|
||||
<div class="ibox-tools">
|
||||
<a class="collapse-link">
|
||||
<i class="fa fa-chevron-up"></i>
|
||||
</a>
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<i class="fa fa-wrench"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-user">
|
||||
</ul>
|
||||
<a class="close-link">
|
||||
<i class="fa fa-times"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ibox-content">
|
||||
<pre>
|
||||
{{ object.result }}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5" style="padding-left: 0;padding-right: 0">
|
||||
<div class="panel panel-danger">
|
||||
|
||||
@@ -18,7 +18,7 @@ logger = get_logger(__file__)
|
||||
def run_AdHoc(task_tuple, assets,
|
||||
task_name='Ansible AdHoc runner',
|
||||
task_id=None, pattern='all',
|
||||
record=True, verbose=False):
|
||||
record=True, verbose=True):
|
||||
"""
|
||||
:param task_tuple: (('module_name', 'module_args'), ('module_name', 'module_args'))
|
||||
:param assets: [asset1, asset2]
|
||||
@@ -51,6 +51,11 @@ def run_AdHoc(task_tuple, assets,
|
||||
else:
|
||||
record = Task.objects.get(uuid=task_id)
|
||||
record.date_start = timezone.now()
|
||||
record.date_finished = None
|
||||
record.timedelta = None
|
||||
record.is_finished = False
|
||||
record.is_success = False
|
||||
record.save()
|
||||
ts_start = time.time()
|
||||
if verbose:
|
||||
logger.debug('Start runner {}'.format(task_name))
|
||||
@@ -61,7 +66,7 @@ def run_AdHoc(task_tuple, assets,
|
||||
record.date_finished = timezone.now()
|
||||
record.is_finished = True
|
||||
if verbose:
|
||||
record.result = json.dumps(result)
|
||||
record.result = json.dumps(result, indent=4, sort_keys=True)
|
||||
record.summary = json.dumps(summary)
|
||||
record.timedelta = timedelta
|
||||
if len(summary['failed']) == 0:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# ~*~ coding: utf-8 ~*~
|
||||
from __future__ import unicode_literals
|
||||
import time
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
@@ -81,4 +82,5 @@ class TaskRunView(View):
|
||||
def get(self, request, *args, **kwargs):
|
||||
pk = kwargs.get(self.pk_url_kwarg)
|
||||
rerun_task.delay(pk)
|
||||
time.sleep(0.5)
|
||||
return redirect(reverse('ops:task-detail', kwargs={'pk': pk}))
|
||||
|
||||
Reference in New Issue
Block a user