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.
Tim Pierce [Mon, 20 Oct 2014 20:24:07 +0000 (16:24 -0400)]
3699: bug fixes
* abort() should not crash the program because it's calling logging.info
wrong
* if the pipeline description is None, correctly substitute an empty
string in the destination pipeline.
* finish writing collection progress at 100%
Tim Pierce [Mon, 20 Oct 2014 18:13:37 +0000 (14:13 -0400)]
3699: collection copying bug fixes
From code review #3699-35:
* Updated help text
* Find collection UUIDs and hashes throughout script_parameters even if
buried in command arguments
* Use logger consistently in preference to "print >>sys.stderr"
* isinstance(obj, basestr)
* Fix ensure_unique_name handling
* copy_collection now correctly handles manifests without a trailing
newline
Peter Amstutz [Mon, 20 Oct 2014 14:45:10 +0000 (10:45 -0400)]
4058: If a portable data hash correpsonds to a single collection, automatically
redirect to the collection page. If not, show a special "menu" page listing
the matching collections.
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.
Tim Pierce [Fri, 17 Oct 2014 19:15:29 +0000 (15:15 -0400)]
3699: allow script_version to be a branch
Fix copy_git_repo to behave properly when the source script_version
refers to a branch on the source repository:
* clone the source repo with git clone --bare (ensuring that local
branch refs are created for all remote branch refs)
* name the destination branch for "repository_script_version" to prevent
merge conflicts, if we copy different branches on the source
repository to the same destination repository
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.