Peter Amstutz [Tue, 3 Mar 2015 14:34:05 +0000 (09:34 -0500)]
4823: Docstring and comment fixes.
Peter Amstutz [Mon, 2 Mar 2015 20:51:55 +0000 (15:51 -0500)]
4823: More fixes and cleanups.
* Renamed SynchronizedCollectionBase to RichCollectionBase
* Renamed arvapi parameter of one_task_per_input_file to api_client
* KeepLocator.stripped() returns bare hash if self.size is None
* Permit closing an ArvadosFileWriter more than once
* Fix various docstrings
* Strive to follow PEP 8 spacing guidelines
Peter Amstutz [Thu, 26 Feb 2015 18:19:50 +0000 (13:19 -0500)]
4823: Add flush() to ArvadosFile. Fix tests to avoid using internal APIs. Fix
import in _normalize_stream. Make KeepRequestError more generic (now
represents a list of "request errors" instead of "service errors").
Peter Amstutz [Wed, 25 Feb 2015 16:00:05 +0000 (11:00 -0500)]
4823: Add arvapi parameter to one_task_per_input_file() to solve mocking
problems. Refactor Collection.copy() and add Collection.add(). Fix docstring
bugs.
Peter Amstutz [Wed, 25 Feb 2015 14:39:36 +0000 (09:39 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Tue, 24 Feb 2015 22:13:33 +0000 (17:13 -0500)]
4823: Remove sync_mode() from Collection in favor of writable() flag.
Collection constructor raises ArgumentError() on bad manifest. Fix
assertEquals() -> assertEqual().
Peter Amstutz [Tue, 24 Feb 2015 14:22:31 +0000 (09:22 -0500)]
Merge branch '3785-job-log-collection-owner' closes #3785
Peter Amstutz [Mon, 23 Feb 2015 21:49:23 +0000 (16:49 -0500)]
Merge branch '4520-arv-copy-project-uuid' closes #4520
Peter Amstutz [Mon, 23 Feb 2015 21:48:44 +0000 (16:48 -0500)]
4520: Tweak test that put(u'foo') does the right thing.
Peter Amstutz [Mon, 23 Feb 2015 21:36:09 +0000 (16:36 -0500)]
4520: Coerce unicode strings to ascii in put(). Use result.content (returns
literal result bytes) instead result.text (returns unicode) when processing
Keep responses.
Peter Amstutz [Mon, 23 Feb 2015 21:09:48 +0000 (16:09 -0500)]
3785: Log tab is no longer suppressed for anonymous users.
Peter Amstutz [Mon, 23 Feb 2015 20:17:19 +0000 (15:17 -0500)]
4520: manifest_text() is utf-8 encoded by default so it can be safely put() to
Keep. Add test that calling put() with a unicode string raises an error.
Fetching user uuid in arv-copy uses num_retries.
Peter Amstutz [Mon, 23 Feb 2015 19:17:12 +0000 (14:17 -0500)]
4520: Better checking to see if collection already exists at the destination.
Set args.project_uuid to default value (current user uuid) if not set on
command line to simplify code.
Peter Amstutz [Mon, 23 Feb 2015 18:55:41 +0000 (13:55 -0500)]
4520: Bonus fix because arv-copy was giving KeepClient.put() unicode strings
instead of byte strings. KeepClient will now reject that.
Peter Amstutz [Mon, 23 Feb 2015 18:54:47 +0000 (13:54 -0500)]
4520: Refactor code to create the collection record. Also refactored code
which creates Docker metadata links so that copying any collection which
represents a Docker image will also copy over the metadata.
Peter Amstutz [Mon, 23 Feb 2015 16:45:32 +0000 (11:45 -0500)]
3785: Upload job log to collection with --project-uuid same owner_uuid as job.
Peter Amstutz [Mon, 23 Feb 2015 15:48:04 +0000 (10:48 -0500)]
Merge branch '5277-fuse-mtime-fix' closes #5277
Peter Amstutz [Mon, 23 Feb 2015 15:16:38 +0000 (10:16 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Mon, 23 Feb 2015 15:16:08 +0000 (10:16 -0500)]
4823: Clean up imports in collection.py
Peter Amstutz [Mon, 23 Feb 2015 14:44:27 +0000 (09:44 -0500)]
4823: Handle edge cases of files named '.' so that the FUSE test passes. Added
tests for invalid manifests. Defer populating CollectionReader streams until
needed to avoid extra copy of the manifest.
Peter Amstutz [Fri, 20 Feb 2015 20:58:14 +0000 (15:58 -0500)]
4823: Fix tests broken by prior refactoring. Renamed 'api.py' to 'apisetup.py'
so it wouldn't be awkwardly shadowed by the 'api' method.
Peter Amstutz [Fri, 20 Feb 2015 18:29:10 +0000 (13:29 -0500)]
4823: Refactoring. ReadOnly Collection is now CollectionReader, replacing old
CollectionReader implementation (but maintains the same public API).
Ward Vandewege [Thu, 19 Feb 2015 19:46:58 +0000 (14:46 -0500)]
Fix typo on doc homepage.
No issue #
Peter Amstutz [Thu, 19 Feb 2015 15:20:34 +0000 (10:20 -0500)]
5277: Add test for mtime. Use ciso8601 module to parse arvados timestamps.
Peter Amstutz [Thu, 19 Feb 2015 14:38:53 +0000 (09:38 -0500)]
4823: Revert FUSE changes unrelated to ThreadSafeApiCache
Peter Amstutz [Thu, 19 Feb 2015 14:32:57 +0000 (09:32 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Thu, 19 Feb 2015 14:32:17 +0000 (09:32 -0500)]
4823: Fix fuse tests for SafeApi -> ThreadSafeApiCache changes. Add a couple
of mtime assertions.
Radhika Chippada [Wed, 18 Feb 2015 16:52:48 +0000 (11:52 -0500)]
closes #5197
Merge branch '5197-collection-name-owner-unique'
Brett Smith [Wed, 18 Feb 2015 15:31:00 +0000 (10:31 -0500)]
4759: Update Node Manager to parse new Arvados API timestamps.
Refs #4759.
Nancy Ouyang [Tue, 17 Feb 2015 23:16:24 +0000 (18:16 -0500)]
closes #5243, #5194 Merge branch '5194-quickfix-disambiguate-gettingstarted-sections'
mishaz [Tue, 17 Feb 2015 23:07:14 +0000 (23:07 +0000)]
Merge branch '3408-production-datamanager' refs #3408
Nancy Ouyang [Tue, 17 Feb 2015 23:06:45 +0000 (18:06 -0500)]
5194: minor fixes
mishaz [Tue, 17 Feb 2015 23:06:32 +0000 (23:06 +0000)]
Merge branch 'master' into 3408-production-datamanager refs #3408
mishaz [Tue, 17 Feb 2015 23:02:36 +0000 (23:02 +0000)]
Changes to allow datamanager to run indefinitely:
Logger's worker goroutine returns after final write.
minutes-between-runs flag specifies how many minutes to wait between runs (0 means don't loop)
Brett Smith [Tue, 17 Feb 2015 22:54:59 +0000 (17:54 -0500)]
Merge branch '4138-node-manager-gce-wip'
Closes #4138, #5222.
Thanks, Tim.
Brett Smith [Mon, 16 Feb 2015 16:06:41 +0000 (11:06 -0500)]
4138: Prepare Node Manager GCE driver for production.
* Set node metadata in more appropriate places.
* Bridge more differences between GCE and EC2, like the fact that
sizes are listed for each location they're available, and GCE
doesn't provide node boot times.
* Use more infrastructure from BaseComputeNodeDriver to reduce code
duplication.
* Load as many objects as possible at initialization time, to reduce
API overhead of creating nodes.
Brett Smith [Fri, 13 Feb 2015 20:24:04 +0000 (15:24 -0500)]
4138: Revamp Node Manager driver proxying in BaseComputeNodeDriver.
Accessing attributes through a super() proxy does not invoke
__getattr__ on base classes, so the old implementation made it
impossible for subclasses to be agnostic about whether a method was
implemented in BaseComputeNodeDriver or the real libcloud driver.
This version makes that possible. It's also a little nicer because
now the class will report these method names to dir(), hasattr(), etc.
Brett Smith [Thu, 12 Feb 2015 22:22:12 +0000 (17:22 -0500)]
4138: Refactor out Node Manager DriverTestMixin.
Brett Smith [Thu, 12 Feb 2015 20:53:16 +0000 (15:53 -0500)]
4138: Fix noop Node Manager EC2 driver tests.
The previous tests simply instantiated the driver, then checked that a
mock method was truthy (which it will always be). This makes the test
work as intended.
Brett Smith [Fri, 13 Feb 2015 21:00:30 +0000 (16:00 -0500)]
4138: Refactor common Node Manager driver initialization to base driver.
Brett Smith [Wed, 11 Feb 2015 20:12:37 +0000 (15:12 -0500)]
4138: Simplify Node Manager GCE credential handling.
Because libcloud's GCE driver accepts a key path as a constructor
argument, it's relatively straightforward to put all the constructor
arguments directly in the Node Manager configuration. No need to
parse out JSON.
Tim Pierce [Fri, 23 Jan 2015 22:44:41 +0000 (17:44 -0500)]
4138: updated unit test
Corrected test_create_includes_ping_secret to account for delivering the
ping secret via metadata in GCE.
Tim Pierce [Fri, 23 Jan 2015 22:24:54 +0000 (17:24 -0500)]
4138: GCE fixes
The 'network_id' parameter needs to be delivered as 'location' in GCE.
The ping_url parameter is now delivered in the node metadata as
'pingUrl'.
When creating a new GCE instance, 'name' is a required parameter and
must begin with a letter. The default name is the UUID of the
corresponding Arvados node, prepended with 'arv-'.
Tim Pierce [Wed, 21 Jan 2015 18:06:35 +0000 (13:06 -0500)]
4138: general GCE fixes
* JSON credential file
** GCE credentials are delivered as a JSON string (and the key is formatted as a multi-line RSA private key). Let the GCE config file specify a path to the JSON credential file for simplicity.
* Accept NodeSizes addressed by id or name
** In EC2, NodeSizes are identified by the 'id' field. In GCE they are identified by the 'name' field. Allow the Node Manager config module to accept either.
Tim Pierce [Mon, 24 Nov 2014 22:12:07 +0000 (17:12 -0500)]
4138: code review feedback
Tim Pierce [Tue, 18 Nov 2014 18:49:10 +0000 (13:49 -0500)]
4138: support for Google Cloud Engine.
* Added:
** nodemanager/arvnodeman/computenode/drivers/gce.py
** nodemanager/doc/gce.example.cfg
** nodemanager/tests/test_computenode_driver_gce.py
Updated comment in nodemanager/arvnodeman/computenode/drivers/ec2.py.
Nancy Ouyang [Tue, 17 Feb 2015 22:19:37 +0000 (17:19 -0500)]
5194: Quickfix, disambiguated getting started and user guide sections, added 'next steps' to getting started guide
mishaz [Tue, 17 Feb 2015 21:37:07 +0000 (21:37 +0000)]
Merge branch '3408-production-datamanager' refs #3408
mishaz [Tue, 17 Feb 2015 19:06:29 +0000 (19:06 +0000)]
More changes in response to Peter's review.
Started referencing keep servers by uuid.
Moved more logger init code into constructor call.
Switched logged timestamp label from time_* to *_at.
Peter Amstutz [Tue, 17 Feb 2015 21:04:38 +0000 (21:04 +0000)]
4520: tested copying, fixed bad 'properties' field
Nancy Ouyang [Tue, 17 Feb 2015 20:53:04 +0000 (15:53 -0500)]
refs #5090 Merge branch '5090-doc-to-homepage'
Peter Amstutz [Tue, 17 Feb 2015 20:16:25 +0000 (15:16 -0500)]
4520: --project-uuid now used for owner_uuid on all create() calls.
Tom Clegg [Tue, 17 Feb 2015 18:46:32 +0000 (13:46 -0500)]
3408: Merge branch 'master' into 3408-production-datamanager
Peter Amstutz [Tue, 17 Feb 2015 18:36:05 +0000 (13:36 -0500)]
4823: Record manifest_text response from API server. Give better names to
some tests.
Nancy Ouyang [Tue, 17 Feb 2015 18:29:00 +0000 (13:29 -0500)]
refs #4926 Merge branch '4926-rename-share.png'
Peter Amstutz [Tue, 17 Feb 2015 17:16:14 +0000 (12:16 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Tue, 17 Feb 2015 17:15:30 +0000 (12:15 -0500)]
4823: More tests and fixes for updating and merging from remote api record.
Tests pass.
Tom Clegg [Tue, 17 Feb 2015 17:07:50 +0000 (12:07 -0500)]
Merge branch '4759-timestamp-precision-TC' closes #4759
Radhika Chippada [Tue, 17 Feb 2015 15:25:24 +0000 (10:25 -0500)]
closes #5220
Merge branch '5220-no-sharing-box-for-anon-user'
Nancy Ouyang [Tue, 17 Feb 2015 15:19:51 +0000 (10:19 -0500)]
4926: renamed share.png to sharing.png due to adblock on firefox
Ward Vandewege [Tue, 17 Feb 2015 15:13:16 +0000 (10:13 -0500)]
5220: whitespace cleanup.
Tom Clegg [Tue, 17 Feb 2015 06:35:41 +0000 (01:35 -0500)]
4759: Add functional tests for timestamp precision.
Tom Clegg [Tue, 17 Feb 2015 03:36:03 +0000 (22:36 -0500)]
4759: Add test for inequality filters.
Tom Clegg [Tue, 17 Feb 2015 03:35:20 +0000 (22:35 -0500)]
4759: Ignore args to as_json.
Radhika Chippada [Mon, 16 Feb 2015 23:30:03 +0000 (18:30 -0500)]
5220: do not show "Sharing and permissions" box when an anonymous user is viewing a shared collection.
Radhika Chippada [Mon, 16 Feb 2015 22:46:05 +0000 (17:46 -0500)]
closes #5189
Merge branch '5189-manage-acct-shows-own-repos'
Radhika Chippada [Mon, 16 Feb 2015 22:45:01 +0000 (17:45 -0500)]
5189: a little cleanup
Radhika Chippada [Mon, 16 Feb 2015 22:28:40 +0000 (17:28 -0500)]
Merge branch 'master' into 5189-manage-acct-shows-own-repos
Peter Amstutz [Mon, 16 Feb 2015 21:49:18 +0000 (16:49 -0500)]
4823: Add new tests for BufferBlock, BlockManager, saving, updating. Stylistic
changes on variable naming. Remove splitting code from splitfastq.
Radhika Chippada [Mon, 16 Feb 2015 20:58:28 +0000 (15:58 -0500)]
5197: needed one more udpate
Tom Clegg [Mon, 16 Feb 2015 20:53:51 +0000 (15:53 -0500)]
Merge branch '3410-replication-attrs' closes #3410 refs #5011
Radhika Chippada [Mon, 16 Feb 2015 20:49:24 +0000 (15:49 -0500)]
Merge branch 'master' into 5197-collection-name-owner-unique
Conflicts:
services/api/db/structure.sql
Radhika Chippada [Mon, 16 Feb 2015 20:41:05 +0000 (15:41 -0500)]
5197: down migration working
Radhika Chippada [Mon, 16 Feb 2015 20:31:55 +0000 (15:31 -0500)]
Merge branch 'master' into 5197-collection-name-owner-unique
Radhika Chippada [Mon, 16 Feb 2015 20:31:30 +0000 (15:31 -0500)]
5197: updated migration script
Ward Vandewege [Mon, 16 Feb 2015 20:02:48 +0000 (15:02 -0500)]
Fix typo in COPYING.
No issue #
Radhika Chippada [Mon, 16 Feb 2015 19:49:27 +0000 (14:49 -0500)]
5197: update the collection_owner_uuid_name_unique index to use expires_at is null where clause.
Tom Clegg [Mon, 16 Feb 2015 19:13:00 +0000 (14:13 -0500)]
3410: Merge branch 'master' into 3410-replication-attrs
Conflicts:
services/api/test/fixtures/collections.yml
services/api/test/unit/collection_test.rb
Radhika Chippada [Mon, 16 Feb 2015 19:07:58 +0000 (14:07 -0500)]
5197: write a failing test
Tom Clegg [Mon, 16 Feb 2015 19:00:09 +0000 (14:00 -0500)]
4759: Use ISO 8601 timestamps with fractional seconds in API responses.
Radhika Chippada [Mon, 16 Feb 2015 17:50:21 +0000 (12:50 -0500)]
refs #5096
Merge branch '5096-wb-collection-name-or-desc-update'
Radhika Chippada [Mon, 16 Feb 2015 17:46:00 +0000 (12:46 -0500)]
Merge branch 'master' into 5096-wb-collection-name-or-desc-update
Conflicts:
apps/workbench/test/controllers/collections_controller_test.rb
Radhika Chippada [Mon, 16 Feb 2015 17:42:17 +0000 (12:42 -0500)]
5096: more efficient update method override.
Radhika Chippada [Mon, 16 Feb 2015 16:33:55 +0000 (11:33 -0500)]
Merge branch 'master' into 5189-manage-acct-shows-own-repos
Peter Amstutz [Mon, 16 Feb 2015 16:33:34 +0000 (11:33 -0500)]
Merge branch '5095-fuse-ls-takes-forever' closes #5095
Peter Amstutz [Mon, 16 Feb 2015 16:32:47 +0000 (11:32 -0500)]
4823: Notes on how the mocking works with requests.Session
Radhika Chippada [Mon, 16 Feb 2015 16:29:54 +0000 (11:29 -0500)]
5189: include owned repositories in the list of repositories returned in manage_account.
Peter Amstutz [Mon, 16 Feb 2015 16:01:58 +0000 (11:01 -0500)]
5095: _mtime on collection defaults to 0 instead of time.time().
Peter Amstutz [Mon, 16 Feb 2015 15:59:23 +0000 (10:59 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api
Conflicts:
sdk/python/tests/arvados_testutil.py
services/fuse/arvados_fuse/__init__.py
Peter Amstutz [Mon, 16 Feb 2015 15:11:42 +0000 (10:11 -0500)]
5095: Set _mtime when the collection object is updated.
Radhika Chippada [Mon, 16 Feb 2015 13:56:02 +0000 (08:56 -0500)]
closes #5186
Merge branch '5186-collection-with-empty-properties'
Radhika Chippada [Mon, 16 Feb 2015 13:54:43 +0000 (08:54 -0500)]
5186: a few more test assertions.
Tom Clegg [Mon, 16 Feb 2015 08:12:43 +0000 (03:12 -0500)]
3410: Update comments.
Tom Clegg [Mon, 16 Feb 2015 08:12:32 +0000 (03:12 -0500)]
3410: Fix search index so [old versions of] tests pass after down-migration.
Tom Clegg [Mon, 16 Feb 2015 08:11:23 +0000 (03:11 -0500)]
3410: Fix overly sensitive test.
Radhika Chippada [Sun, 15 Feb 2015 20:48:46 +0000 (15:48 -0500)]
5186: collection properties attribute is a hash
Tom Clegg [Sun, 15 Feb 2015 01:20:37 +0000 (20:20 -0500)]
3410: Update comments.
Tom Clegg [Sun, 15 Feb 2015 00:56:19 +0000 (19:56 -0500)]
3410: Rename maybe_clear_redundancy_confirmed to maybe_clear_replication_confirmed.
Radhika Chippada [Sat, 14 Feb 2015 23:46:14 +0000 (18:46 -0500)]
5096: if only collection name or description is being updated, do not include manifest_text in the request.
Tom Clegg [Sat, 14 Feb 2015 21:54:00 +0000 (16:54 -0500)]
Ensure result order is predictable, even if client-provided orders do not specify a complete ordering.
Fixes intermittent test failures. Example (from
https://ci.curoverse.com/job/arvados-api-server/1305/console):
GroupsTest#test_get_all_pages_of_group-owned_objects [/data/1/jenkins/workspace/arvados-api-server/services/api/test/integration/groups_test.rb:31]:
Received 'zzzzz-4zz18-fy296fx3hot09f7' again on page 3.
<nil> expected but was
<true>.
No issue #