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.
Nancy Ouyang [Tue, 17 Feb 2015 20:53:04 +0000 (15:53 -0500)]
refs #5090 Merge branch '5090-doc-to-homepage'
Tom Clegg [Tue, 17 Feb 2015 18:46:32 +0000 (13:46 -0500)]
3408: Merge branch 'master' into 3408-production-datamanager
Nancy Ouyang [Tue, 17 Feb 2015 18:29:00 +0000 (13:29 -0500)]
refs #4926 Merge branch '4926-rename-share.png'
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
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
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: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 #
Tom Clegg [Sat, 14 Feb 2015 22:02:12 +0000 (17:02 -0500)]
Merge branch '5011-thread-safe-test' refs #5011
Ward Vandewege [Sat, 14 Feb 2015 13:39:46 +0000 (08:39 -0500)]
Merge branch '5200-anonymous-download'
Closes #5200
Ward Vandewege [Sat, 14 Feb 2015 13:39:15 +0000 (08:39 -0500)]
Merge branch 'master' into 5200-anonymous-download
Nancy Ouyang [Fri, 13 Feb 2015 22:19:21 +0000 (17:19 -0500)]
Minor fixes, see #5090
Tom Clegg [Fri, 13 Feb 2015 22:02:16 +0000 (17:02 -0500)]
Merge branch 'master' into 3408-production-datamanager
mishaz [Tue, 10 Feb 2015 02:39:39 +0000 (02:39 +0000)]
Added different event types for started, partially complete and final log entries.
mishaz [Tue, 10 Feb 2015 02:11:34 +0000 (02:11 +0000)]
Moved some logging code from datamananager to loggerutil.
mishaz [Tue, 10 Feb 2015 01:55:37 +0000 (01:55 +0000)]
Updated logger to do all work in a dedicated goroutine, so we don't need to worry about locking. Small changes to calling code.
mishaz [Fri, 30 Jan 2015 01:32:31 +0000 (01:32 +0000)]
Renamed timestamp fields to begin with "time_"
mishaz [Fri, 30 Jan 2015 01:25:11 +0000 (01:25 +0000)]
Now fetch Keep Server Status and record it to the log. Renamed some fields and added a comment for a potential improvement to decrease lock contention.
mishaz [Tue, 27 Jan 2015 01:27:37 +0000 (01:27 +0000)]
Improved erorr message to make it clear what's a size and what's a timestamp.
mishaz [Tue, 27 Jan 2015 01:06:21 +0000 (01:06 +0000)]
Renamed BlockDigest's ToString() to String() to implement fmt.Stringer() interface so that we get more readable error messages when structs contain BlockDigests.
mishaz [Sat, 24 Jan 2015 02:22:01 +0000 (02:22 +0000)]
A bunch of changes, most in response to Peter's review.
Logger:
Edit() and Record() have been replaced with the single Update() method which takes a function as input (suggested by Tom).
lastWrite replaced by nextWriteAllowed, for cleaner logic
Added writeScheduled to reduce the number of writes scheduled and attempted, thereby reducing lock contention
Added sanity-checking of params
A bunch of overdue cleanup
Update documentation to reflect the above changes
Manifest:
Renamed ManifestLine to ManifestStream
Util:
Deleted a lot of crap that proved less useful than I thought.
Moved collection.NumberCollectionsAvailable() to util.NumberItemsAvailable() and made it more generic.
collection:
Just cleanup in response to changes in above packages.
keep:
Switched Mtime from int to int64 to avoid y2038 problems.
Switched approach for avoiding keep proxy from using "accessible" to filtering on service_type = disk.
Cleanup in response to changes in above packages.
loggerutil:
Cleanup in response to changes in logger.
mishaz [Wed, 21 Jan 2015 01:34:29 +0000 (01:34 +0000)]
Added comment, ran gofmt.
mishaz [Wed, 21 Jan 2015 01:31:17 +0000 (01:31 +0000)]
Added Logger.MutateLog() on Tom's suggestion. Tried it out in one instance to make sure it works.
mishaz [Wed, 14 Jan 2015 01:40:50 +0000 (01:40 +0000)]
Finished adding logging to keep.GetServerContents but have not tested fully yet.
mishaz [Wed, 14 Jan 2015 00:50:21 +0000 (00:50 +0000)]
ran gofmt
mishaz [Wed, 14 Jan 2015 00:49:31 +0000 (00:49 +0000)]
Broke keep.GetServerContents() into smaller functions.
mishaz [Tue, 13 Jan 2015 23:56:05 +0000 (23:56 +0000)]
Removed channel awareness from keep.GetServerContents().
mishaz [Tue, 13 Jan 2015 23:27:05 +0000 (23:27 +0000)]
gofmt'd all my source code. No other changes.
mishaz [Tue, 13 Jan 2015 01:15:34 +0000 (01:15 +0000)]
Started logging in keep.go. More work to be done.
mishaz [Tue, 13 Jan 2015 00:49:53 +0000 (00:49 +0000)]
Created loggerutil to hold common datamanager logger code. Moved FatalWithMessage to it.
mishaz [Tue, 13 Jan 2015 00:23:17 +0000 (00:23 +0000)]
Moved some logic from datamanager.go to keep.go.
mishaz [Mon, 12 Jan 2015 23:20:50 +0000 (23:20 +0000)]
Started reading collections and keep data in parallel. Moved some logic from datamanager.go to collections.go. Added logging to end of run.
mishaz [Sun, 11 Jan 2015 18:29:13 +0000 (18:29 +0000)]
Merge branch 'master' of git.curoverse.com:arvados into 3408-production-datamanager
Conflicts resolved:
services/api/Gemfile
services/api/Gemfile.lock
mishaz [Fri, 9 Jan 2015 04:53:42 +0000 (04:53 +0000)]
Added recording of fatal errors to logger.
mishaz [Fri, 9 Jan 2015 04:11:29 +0000 (04:11 +0000)]
Added ForceRecord() method to enable writing remaining log changes before exiting.
mishaz [Fri, 9 Jan 2015 04:00:40 +0000 (04:00 +0000)]
Switched Logger edit hooks to write hooks so they'll trigger less often.
mishaz [Thu, 8 Jan 2015 23:22:09 +0000 (23:22 +0000)]
Switched batch size to 50. Added logging of batch size.
mishaz [Thu, 8 Jan 2015 23:17:52 +0000 (23:17 +0000)]
Added memory alloc in use to stats exported to log. Also added EditHooks to Logger, enabling users to add functions to get called on each Edit() call.
mishaz [Thu, 8 Jan 2015 22:35:37 +0000 (22:35 +0000)]
Added structure to data manager log entries, grouping similar fields.
mishaz [Thu, 8 Jan 2015 22:24:00 +0000 (22:24 +0000)]
Added ability to turn off logging by passing an empty string as the event type.
mishaz [Thu, 8 Jan 2015 22:16:49 +0000 (22:16 +0000)]
Started using Logger in data manager and collections.
mishaz [Thu, 8 Jan 2015 21:06:49 +0000 (21:06 +0000)]
Added support for MinimumWriteInterval.
mishaz [Thu, 8 Jan 2015 20:14:10 +0000 (20:14 +0000)]
Fixed bugs in logger, changed interface some, added documentation.
Still need to add support for MinimunWriteInterval.