Brett Smith [Wed, 22 Oct 2014 14:34:23 +0000 (10:34 -0400)]
4139: Node Manager more closely tracks nodes it boots.
When using Node Manager on EC2, we saw a race condition where a node
would finish setting up, but would not be returned in node listings
right away. This adds a "booted" node state to the daemon, where a
node booted by Node Manager is assumed to be up and running unless it
disappears from the listing *after* being listed. It's escalated to
the normal workflow after it appears in a listing.
Brett Smith [Tue, 21 Oct 2014 18:31:44 +0000 (14:31 -0400)]
4139: Improve scheduling of Node Manager polls.
* Catch all exceptions, so that we keep polling no matter what
happens. Use CLIENT_ERRORS as a hint about how much logging we
need.
* Make the next poll time calculation a little less stateful and
easier to follow.
* Add tests for poll scheduling.
Ward Vandewege [Fri, 17 Oct 2014 19:47:11 +0000 (15:47 -0400)]
Make sure to use httpclient 2.5.0 or higher for Workbench. Older
versions force the use of SSLv3, which is no longer advisable now that
Poodle is a thing.
Brett Smith [Fri, 17 Oct 2014 14:22:01 +0000 (10:22 -0400)]
4239: Update Python SDK for google-api-python-client 1.3.
This package renames the module from apiclient to googleapiclient. It
provides a shim apiclient module for compatibility, but it only
exports the appropriate names, not real submodules. Using it requires
changing imports like
import apiclient.errors
to
from apiclient import errors
This approach works (has been tested) with both versions 1.2 and 1.3.
Closes #4239.
radhika [Fri, 17 Oct 2014 03:19:57 +0000 (23:19 -0400)]
4062: Do not include offset in the next_page_href when objects of multiple kinds are being fetched; instead, we will rely on created_at filter alone.
Updated the tests and fixtures to expect all 200+ objects in the pipelines and jobs tab.
The test however is still not working as the created_at filter based fetch is not working.
Brett Smith [Wed, 15 Oct 2014 18:04:12 +0000 (14:04 -0400)]
4189: Workbench lets users with write permission rename objects in projects.
The key part of this commit are the changes to ApplicationHelper.
There's also some refactoring to more consistently answer questions
about whether or not an attribute is editable.
There are also some tests in here that I wrote while I was tracking
down the problem. They seem like a useful addition.
Peter Amstutz [Thu, 16 Oct 2014 18:59:18 +0000 (14:59 -0400)]
3609: Back out setting api_version, api_host, and api_insecure on api client
and instead document that caller to arvados.events.subscribe() should pass in a
freshly created api client. Add event variable to indicate when subscription
is a success instead of sleeping. Removed unused "import time". Fixed "web
sockets" -> "websockets".
Brett Smith [Thu, 16 Oct 2014 16:47:09 +0000 (12:47 -0400)]
Python SDK is not compatible with apiclient 1.3.
Figuring out why this is needs more investigation. It's something I'd
like to do, but it seems urgent to push this fix so builds can pass
again. No issue #, but see
<https://ci.curoverse.com/job/arvados-api-server/980/>.
Peter Amstutz [Thu, 16 Oct 2014 16:23:41 +0000 (12:23 -0400)]
3609: Add additional api_ fields to api client object so that subscribe() can
create a new api client. Change test to use event variable instead of
sleeping. Fix "Web sockets" -> "Websockets". Make some command line options
mutually exclusive.
radhika [Thu, 16 Oct 2014 14:45:24 +0000 (10:45 -0400)]
4062: fix greedy infinite scrolling in tabs displaying more than one kind (Jobs and pipelines tab and Other objects tab).
Not only did scrolling never stopped, it never reloaded the next page and reloaded the same first page again and again.
Added test fixtures with many objects to test scrolling.
Added tests to use vertical scrollbar. The test itself is not able to test infinite scrolling by reloading the next page.
This may be because in integration testing new content is displayed only due to a click action.
Tom Clegg [Thu, 16 Oct 2014 14:36:34 +0000 (10:36 -0400)]
3826: Change FindStat to OpenStatFile to eliminate redundant Stat()
calls and races. Log every time we change our mind about where to read
a given statistic.