diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 250375107..f64c55ce4 100644 Binary files a/apps/locale/zh/LC_MESSAGES/django.mo and b/apps/locale/zh/LC_MESSAGES/django.mo differ diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 3aa1ee7f2..acbb25f5f 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -2364,7 +2364,7 @@ msgstr "执行历史" #: ops/templates/ops/adhoc_detail.html:72 #: ops/templates/ops/adhoc_detail.html:77 ops/templates/ops/task_adhoc.html:61 msgid "Run as" -msgstr "用户" +msgstr "运行用户" #: ops/templates/ops/adhoc_detail.html:94 ops/templates/ops/task_list.html:36 msgid "Run times" diff --git a/apps/ops/ansible/callback.py b/apps/ops/ansible/callback.py index 96db5456c..8583b368e 100644 --- a/apps/ops/ansible/callback.py +++ b/apps/ops/ansible/callback.py @@ -159,7 +159,7 @@ class CommandResultCallback(AdHocResultCallback): def v2_playbook_on_play_start(self, play): now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - msg = '$ {} ({})'.format('echo', now) + msg = '$ {} ({})'.format(play.name, now) self._play = play self._display.banner(msg) diff --git a/apps/ops/ansible/runner.py b/apps/ops/ansible/runner.py index d13f05fa2..fe23b0d6d 100644 --- a/apps/ops/ansible/runner.py +++ b/apps/ops/ansible/runner.py @@ -250,7 +250,5 @@ class CommandRunner(AdHocRunner): tasks = [ {"action": {"module": module, "args": cmd}} ] - hosts = self.inventory.get_hosts(pattern=pattern) - name = "Run command {} on {}'s hosts".format(cmd, len(hosts)) - return self.run(tasks, pattern, play_name=name) + return self.run(tasks, pattern, play_name=cmd) diff --git a/apps/ops/models/command.py b/apps/ops/models/command.py index b2639c6ff..d2d132094 100644 --- a/apps/ops/models/command.py +++ b/apps/ops/models/command.py @@ -48,6 +48,9 @@ class CommandExecution(models.Model): return False return True + def get_hosts_names(self): + return ','.join(self.hosts.all().values_list('hostname', flat=True)) + def run(self): print('-'*10 + ' ' + ugettext('Task start') + ' ' + '-'*10) self.date_start = timezone.now() diff --git a/apps/ops/templates/ops/command_execution_list.html b/apps/ops/templates/ops/command_execution_list.html index 542847b73..10f3c0fe3 100644 --- a/apps/ops/templates/ops/command_execution_list.html +++ b/apps/ops/templates/ops/command_execution_list.html @@ -44,6 +44,7 @@ {% trans 'Hosts' %} {% trans 'User' %} {% trans 'Command' %} + {% trans 'Run as' %} {% trans 'Output' %} {% trans 'Finished' %} {% trans 'Success' %} @@ -55,9 +56,10 @@ {% for object in object_list %} - {{ object.hosts.count }} + {{ object.get_hosts_names }} {{ object.user }} {{ object.command| truncatechars:16 }} + {{ object.run_as }} 查看 {{ object.is_finished | state_show | safe }} {{ object.is_success | state_show | safe }} @@ -89,6 +91,17 @@ $(document).ready(function() { calendarWeeks: true, autoclose: true }); + $(".hosts").each(function (i) { + var data = $(this).text(); + var data_list = data.split(","); + if (data_list.length === 1 && data_list[0] === "") { + data_list.pop(); + } + var html = createPopover(data_list); + $(this).html(html); + }); + $('[data-toggle="popover"]').popover(); + }) {% endblock %}