Re: Funcweb Async and layout Changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



makkalot@xxxxxxxxx wrote:
Hi ML , i realized that didnt send anything here about Funcweb for long time :) The changelog is as follow :

1) Changed the layout, it is now vertical and we have more space to play
Screen : http://makkalot.fedorapeople.org/screens/main.png

2) Added glob textbox so you can enter glob you want and send commands.Same as the command line.
Screen : http://makkalot.fedorapeople.org/screens/glob.png

3) Added multicommand we can send now the commands to multi minions
Screen : http://makkalot.fedorapeople.org/screens/module.png
http://makkalot.fedorapeople.org/screens/method.png

4) Added async module that kadamski worked on so we are able to send lots of commands one after another and we dont have to wait for them to finish. When we have some change in command status (for example from RUNNING --> PARTIAL or PARTIAL --> FINISHED ) user is notified about that :

Screen : http://makkalot.fedorapeople.org/screens/result-notify.png
http://makkalot.fedorapeople.org/screens/notify.png

5) User can follow the status of the running,finished,partial commands on another page. Additionally can get older jobs as far as they stay into func db. Screen : http://makkalot.fedorapeople.org/screens/table.png
http://makkalot.fedorapeople.org/screens/result-table.png

6) The user dont have to wait for all commands to be notified, the short commands have chance to be displayed immediately if they finish in a given time (3 sec :)).

Screen :
http://makkalot.fedorapeople.org/screens/immediate.png



I updated also the rpms but to be able to test them you should have my tree on overrlod and on the minion also because the current funcweb is based on new job_ids or should wait tobe merged to mainstream :)

The rpms can be found here : http://makkalot.fedorapeople.org/
My tree is here for those who dont know :) -->
git://github.com/makkalot/func.git

_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list

I just pulled down the latest "makkalot_newlayout" branch and tried this out. It's very very nice, good work!

I noticed that when I did not have funcd running and click on a minion, instead of detecting the error, it tries to show each part of the error message as a seperate method. You can test this by stopping funcd and trying to click on that minion. This should be pretty easy to fix.

Some of the things I would change are very simple string related things:
-- "Methods" at the top should be "Minions"
--  "localhost.localdoman.echo.run_float" could just be "run_float"

I think after this we should proably try to figure out how to make the result formatting look a bit less like Python for users, and we also still need to instrument the other modules so they show up in the web user interface.

One question I had is when I log in and click on a method, it's always going to target all of the minions in the glob, right? Do you think there might be some way we could also put checks by each minion we want to reach using a checkbox, or possibly interface with the "groups" support in Func? It might be nice to have a tab in FuncWeb that would allow adding systems to groups, possibly.

I saw the new "async results" tab, but when I click on it, I get a rather long traceback. Is everything using async with polling now or is it non-async? I have included the traceback below. Let me know what you think and how to specify in the WebUI that something should be async. I think it is probably reasonable for all things to be async, really, and just poll for them -- though wasn't sure what you were doing. This also ought to be rather easy to fix.

So, other than the traceback below and the error I get when clicking on a minion that is not running, things look pretty good. I think I'm interested in seeing what the async results would look like, as well as getting the output formatting printed in a way that would make non-Python developers have an easier time reading it, but looks good.

Comments?  Thoughts?

Everyone else on this list, I would definitely appreciate your feedback also as this is a tool intended for you too :)

Thanks!

--Michael

Here is the traceback I got when clicking on async_results, probably because I didn't have any async tasks (as I didn't know how to launch one in the GUI):

Page handler: <bound method Funcweb.display_async_results of <funcweb.controllers.Funcweb object at 0x9d8324c>>
Traceback (most recent call last):
 File "/usr/lib/python2.5/site-packages/CherryPy-2.3.0-py2.5.egg/cherrypy/_cphttptools.py", line 121, in _run
   self.main()
 File "/usr/lib/python2.5/site-packages/CherryPy-2.3.0-py2.5.egg/cherrypy/_cphttptools.py", line 264, in main
   body = page_handler(*virtual_path, **self.params)
 File "<string>", line 3, in display_async_results
 File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 365, in expose
   *args, **kw)
 File "<string>", line 5, in run_with_transaction
 File "/usr/lib/python2.5/site-packages/turbogears/database.py", line 356, in so_rwt
   retval = func(*args, **kw)
 File "<string>", line 5, in _expose
 File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 380, in <lambda>
   mapping, fragment, args, kw)))
 File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 421, in _execute_func
   return _process_output(output, template, format, content_type, mapping, fragment)
 File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 87, in _process_output
   fragment=fragment)
 File "/usr/lib/python2.5/site-packages/turbogears/view/base.py", line 129, in render
   return engine.render(**kw)
 File "/usr/lib/python2.5/site-packages/genshi/template/plugin.py", line 104, in render
   return self.transform(info, template).render(**kwargs)
 File "/usr/lib/python2.5/site-packages/genshi/core.py", line 154, in render
   return encode(generator, method=method, encoding=encoding)
 File "/usr/lib/python2.5/site-packages/genshi/output.py", line 45, in encode
   output = u''.join(list(iterator))
 File "/usr/lib/python2.5/site-packages/genshi/output.py", line 369, in __call__
   for kind, data, pos in stream:
 File "/usr/lib/python2.5/site-packages/genshi/output.py", line 618, in __call__
   for kind, data, pos in stream:
 File "/usr/lib/python2.5/site-packages/genshi/output.py", line 679, in __call__
   for kind, data, pos in chain(stream, [(None, None, None)]):
 File "/usr/lib/python2.5/site-packages/genshi/output.py", line 459, in __call__
   for ev in stream:
 File "/usr/lib/python2.5/site-packages/genshi/core.py", line 212, in _ensure
   for event in stream:
 File "/usr/lib/python2.5/site-packages/genshi/template/markup.py", line 252, in _include
   for event in stream:
 File "/usr/lib/python2.5/site-packages/genshi/template/markup.py", line 322, in _match
   content = list(self._include(content, ctxt))
 File "/usr/lib/python2.5/site-packages/genshi/template/markup.py", line 252, in _include
   for event in stream:
 File "/usr/lib/python2.5/site-packages/genshi/template/markup.py", line 297, in _match
   for event in stream:
 File "/usr/lib/python2.5/site-packages/genshi/template/markup.py", line 286, in _strip
   event = stream.next()
 File "/usr/lib/python2.5/site-packages/genshi/template/markup.py", line 242, in _exec
   for event in stream:
 File "/usr/lib/python2.5/site-packages/genshi/template/base.py", line 421, in _eval
   result = data.evaluate(ctxt)
 File "/usr/lib/python2.5/site-packages/genshi/template/eval.py", line 136, in evaluate
   return eval(self.code, _globals, {'data': data})
 File "/home/mdehaan/cg/func/funcweb/funcweb/templates/async_table.html", line 26, in <Expression u'job_pack[4]'>
   <td class="tableboxes"><p class="intabletext">${job_pack[4]}</p></td>
 File "/usr/lib/python2.5/site-packages/genshi/template/eval.py", line 281, in lookup_item
   return obj[key]
IndexError: list index out of range



_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list

[Index of Archives]     [Fedora Users]     [Linux Networking]     [Fedora Legacy List]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux