From 31356e825f8814be76b3aeed3f3dcf6c96ec9aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=B9=BF?= Date: Tue, 11 Dec 2018 11:09:46 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E5=90=8D=E7=A7=B0=20(#2140)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 60006 -> 60012 bytes apps/locale/zh/LC_MESSAGES/django.po | 2 +- apps/ops/ansible/callback.py | 2 +- apps/ops/ansible/runner.py | 4 +--- apps/ops/models/command.py | 3 +++ .../templates/ops/command_execution_list.html | 15 ++++++++++++++- 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 250375107f5741ce064735d7c885afe6591c0366..f64c55ce422599610a7526afb8c6a8973c91aa8b 100644 GIT binary patch delta 2251 zcmXZde`u9e9LMof*VNl$TNmecn>pu?Wtiq#iY>Dh1yN{Gt4U>HWC%jVilX)7p+fSH zD@nBc6~zP_mV`MPlEjKyB;B^Dn{Bx{H{F`G8i_=#F?xUYeExc!@AsVNd(L^zdF~zV zOpJCW4&AjRx+;WF*cO6ZXv^&yOp(9O@e_C@@fQ1%ebZ(zkN%yQ#76stJ!)HVI{oc! zAqv;hI7LDWxMVMDkKVGjweuslO6Gc`M8<*ddKhC&rm!59yPuVwV^IMXvge?O-9G#fwS!bRH5alLY2`;`G+ykEC(ha-)PPA`iS<1pEX6Dq;5aV9{9i+O0as%&9>OBb zq82`cdZYj1Y@B(Tdx9l+H*P-7``2y%oP=KC5!4D>@Hxz4E3WS4obmELz6{)pcd8$? zv%E7Q%)(80HP+b-s_sXqy8G>6+j55YuK`&S`n*n}K9e3)z7O@eop(Hj+SxytgUSB* zb1guPFL7Lk+WB%@g<8M^sOL90em?Sm*HL$1y9a!VbBVu3z4Bfx#*3&zxo2aG?PAo~ zuW-EHZnCvDLM zo<{xIy^NZtUU}vZ`)Fu_FWu3Kdhi4$u-EZf)T{m-Rp4(s>3q&m+@G>(I}cxB{B@}L z8c=mhhlw@OA{r`uBQC;~sPFr6T#wuEFC0L9za78vNn&~=gk|^$>T+&Hy|D(z?Wmpq zfm-mS&AAZ58sef0p)6F>s3D<+97H|PjJxod^G`MPRMbB+ZB=D?c~kA4{T0(kT6T;y LWSR=w?w|8Ni+-(& delta 2244 zcmXZde`u9e9LMov*Tr1J>29m(e&~$KoJ+wq^%ngRiV|U3+6*HhFeKLRRg8W-Xmr&U5d0 ze`2gZ(YCHSx;lh#eRl|jSZS;68Z0Ki-tl%UAl_x4vM<^+7SX>S=U}V-$eyyDsCCbF zhbUCgI7dPon6UrY{GNCNC8++Tj&F0k5sS!gLlxZRe1mPWX?p-m8TY>9j-Du9AmhXk z7BOJV@f50X;#@qj0CyAL;P?%D40Yl!QRBZwZMesd*qoiRiRj08;5=J_Dzpq$sMh)0 zF^_m7>J@Cl<@lic)2NdjaC`zazr%io3F2=Ye`lj!H-_v*)XuM92~Of{Ea;8%MW{Pb zZdafdzRT`F&2O}?VlnZXwiUIpPvSTVpVQEUZd9RR$CL4ZFsmz0o!9I^d&IWcFKidi<^F}inFjA1_3r;h?J)1B*h16>lXkJKu_@H}4URY29au$v zxBFkmrNsMj34Vs9tRF7WD90%!FgXw}xEyujwWx{r;5>W|7hxJJ@wofXpbAeoo_IkiktR(&v^~eXX498K0@-N1g*d?fUzryi- zcBgHyO{fi|QLid`hlUECM0Iqc-c>IupR-e_6D59$Pn@(BsFUA}_v5XoI(wXNwue#m zj<~-KsTYOQH1g@_L*0cD)Te}_|mU&p;Pv2)W&)+g;~@F7V_hudNrv2 z)pi5wiPq1=Q3#LI(7=~bJKSsEM&0^WoLK;?h_mjWbt%rzMHQ@cTx-{%>TX4C=wZ~K z-P5Rb_9@T$;V=y?@Uc5OQ4_z%1P(Ypk9yRXPzC<5)6VBzj{6I3(k{d%##f=%JA|rR zHb$(47ST}QTku9)iTb`D!0osPCvX_`{dQdm;SNmx&ilsAsLL6lp4cJBXHh4=jN0(D z&C7*wCvkBu+!VIb*g`@ZIgXmphAnv7`G?wvRy995dv&UIZTmCt9$VF3(S2|E|F0*d A(*OVf 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 %}