Reverting attempt to use _.throttle and _.defer. They assume we actually want to process every event. We need to stop all processing if the job has finished.
Making sure we never call the endless scroll queries when programmatically scrolling to the bottom of a list. Eliminate repeated calls to lookup credential names.
Improved handling of scrollbar refresh. Handling on via scope.$emit rather than inside the http response. Fixed pie chart drawing at job completion so that totaling of stats on playbook_on_stats event matches the way we're counting hosts during event processing.
This commit turns off local execution of the timing test for a large
inventory.
This test is pointless on local development, where (1) memory varies
widely and (2) we're using an entirely different database (SQLite) for
testing.
Pulling it out makes local testing considerably quicker and avoids
specious failures.
Started applying new styles starting with removal of tabs. Brought in new breadcrumb format and blended with inventory edit group breadcrumbs. Rather than attempting to override bootstrap styles after the fact, copied boostrap less file and started modifying those to create ansible-boostrap.css, as described in the boostrap documentation.
Added custom scrollbar to task list and made it do the endless scroll thing. Switched tasks and plays from objects back to arrays, in support of endless scroll. Still need to apply scrollbar to play list and enable endless scroll. Modified calls to job_tasks endpoint to use the 'paginated' structure. Will need to do the same to plays. None of this is tested yet.
Removed need to sort hostResults and hosts arrays. Drawing graph on start of a new task, rather than start of new play. Now listening for job status events. If a status event indicates the job is completed, stop processing event and reload the job from the API.
Safari's DOMParser object does not support parsing HTML. When the app initializes we now detect the browser type and define $rootScope.browser accordingly. If the browser is Safari, then we do some ugly looping and regex'ing to separate out the html and style sheet from the stdout API response.
This commit adds playbooks and files necessary to do local development
from within Vagrant.
These playbooks start with a fresh Ubuntu 12.04 machine and:
- Install Ansible
- Install the Tower nightly
- Install all components to exactly mirror production, except Apache
- Install uwsgi and nginx for local development (since Apache lacks a
working auto-reload)
This isn't entirely perfect -- in particular, developing on task code
is probably challenging until I figure out how to get celery not to
read from the install, but it is a very easy way to get 90% of the way
there very, very quickly.
Since we're not refreshing the list of projects after submission of an update request, the UI does not have the most recent update ID in memory. Before launching the log viewer dialog it now requests the latest project record from the API and initializes with the correct ID.