arvados.git
9 years agoMerge branch '4956-limit-request-size' refs #4956
Peter Amstutz [Wed, 4 Mar 2015 19:13:40 +0000 (14:13 -0500)]
Merge branch '4956-limit-request-size' refs #4956

9 years ago4956: Mark monkey patching methods as internal
Peter Amstutz [Wed, 4 Mar 2015 19:13:07 +0000 (14:13 -0500)]
4956: Mark monkey patching methods as internal

9 years ago4956: Refactor http request patching used in Python SDK.
Peter Amstutz [Wed, 4 Mar 2015 19:05:10 +0000 (14:05 -0500)]
4956: Refactor http request patching used in Python SDK.
Test_request_too_large uses published size instead of hardcoded size.  Make
note that user must configure upstream web server to set request size limits.

9 years agoMerge branch '5246-urllib3-workaround' closes #5246
Peter Amstutz [Wed, 4 Mar 2015 17:03:04 +0000 (12:03 -0500)]
Merge branch '5246-urllib3-workaround' closes #5246

9 years ago5246: Use pkg_resources.parse_version to test urllib3 version string. Identify
Peter Amstutz [Wed, 4 Mar 2015 16:59:57 +0000 (11:59 -0500)]
5246: Use pkg_resources.parse_version to test urllib3 version string.  Identify
Debian 8 specifically in comment.

9 years agoMerge branch '5043-crunchstat-long-lines' closes #5043
Tom Clegg [Wed, 4 Mar 2015 16:36:38 +0000 (11:36 -0500)]
Merge branch '5043-crunchstat-long-lines' closes #5043

9 years ago5246: Add urllib3 workaround, along with a note why it is necessary.
Peter Amstutz [Tue, 3 Mar 2015 22:03:49 +0000 (17:03 -0500)]
5246: Add urllib3 workaround, along with a note why it is necessary.

9 years ago4956: Add maximum request size checking to http_request patch in api.py.
Peter Amstutz [Tue, 3 Mar 2015 21:24:21 +0000 (16:24 -0500)]
4956: Add maximum request size checking to http_request patch in api.py.
Raises MediaUploadSizeError if the request is too big.

9 years ago5043: Remove errant +1 from error message.
Tom Clegg [Tue, 3 Mar 2015 21:06:52 +0000 (16:06 -0500)]
5043: Remove errant +1 from error message.

9 years agocloses #5349
Radhika Chippada [Tue, 3 Mar 2015 20:33:19 +0000 (15:33 -0500)]
closes #5349
Merge branch '5349-timestamp-error-for-running-pipeline'

9 years ago5349: update test to use a new fixture.
Radhika Chippada [Tue, 3 Mar 2015 19:56:19 +0000 (14:56 -0500)]
5349: update test to use a new fixture.

9 years ago5349: Add test to protect bugfix in a1d70a2116673ac46f4946115bdb5048137689a2. Fix...
Tom Clegg [Tue, 3 Mar 2015 18:19:14 +0000 (13:19 -0500)]
5349: Add test to protect bugfix in a1d70a2116673ac46f4946115bdb5048137689a2. Fix regression.

9 years agoMerge branch 'master' into 5349-timestamp-error-for-running-pipeline
Radhika Chippada [Tue, 3 Mar 2015 17:59:56 +0000 (12:59 -0500)]
Merge branch 'master' into 5349-timestamp-error-for-running-pipeline

9 years agoMerge branch '5322-sso-manual-account-doc' closes #5322
Peter Amstutz [Tue, 3 Mar 2015 17:16:55 +0000 (12:16 -0500)]
Merge branch '5322-sso-manual-account-doc' closes #5322

9 years agoMerge branch '5305-arv-copy-fixes' closes #5305
Peter Amstutz [Tue, 3 Mar 2015 17:13:35 +0000 (12:13 -0500)]
Merge branch '5305-arv-copy-fixes' closes #5305

9 years agoFixed SafeApi -> ThreadSafeApiCache refs #4823
Peter Amstutz [Tue, 3 Mar 2015 17:10:09 +0000 (12:10 -0500)]
Fixed SafeApi -> ThreadSafeApiCache refs #4823

9 years agoFix arv-mount use arvados.config.settings() to initialize ThreadSafeApiCache
Peter Amstutz [Tue, 3 Mar 2015 17:06:28 +0000 (12:06 -0500)]
Fix arv-mount use arvados.config.settings() to initialize ThreadSafeApiCache
refs #4823

9 years ago5305: Remove erroneous comment
Peter Amstutz [Tue, 3 Mar 2015 16:42:10 +0000 (11:42 -0500)]
5305: Remove erroneous comment

9 years ago4956: Add 'maxRequestSize' to discovery document
Peter Amstutz [Tue, 3 Mar 2015 16:39:03 +0000 (11:39 -0500)]
4956: Add 'maxRequestSize' to discovery document

9 years ago5305: Added num_retries to all execute() calls. Refactored
Peter Amstutz [Tue, 3 Mar 2015 16:22:47 +0000 (11:22 -0500)]
5305: Added num_retries to all execute() calls.  Refactored
collection-name-choosing logic to be easier to follow.

9 years ago5043: Split long stderr lines rather than consume unlimited memory.
Tom Clegg [Tue, 3 Mar 2015 15:56:52 +0000 (10:56 -0500)]
5043: Split long stderr lines rather than consume unlimited memory.

9 years agoFollow the naming conventions for hostnames; add SSO server as a
Ward Vandewege [Tue, 3 Mar 2015 15:16:23 +0000 (10:16 -0500)]
Follow the naming conventions for hostnames; add SSO server as a
public-facing service that requires an SSL certificate.

refs #5322

9 years agoMerge branch '5313-node-manager-gce-fixups2-wip'
Brett Smith [Tue, 3 Mar 2015 15:10:10 +0000 (10:10 -0500)]
Merge branch '5313-node-manager-gce-fixups2-wip'

Refs #5313.

9 years ago5313: Rely more on datacenter constructor in Node Manager GCE driver.
Brett Smith [Tue, 3 Mar 2015 15:08:17 +0000 (10:08 -0500)]
5313: Rely more on datacenter constructor in Node Manager GCE driver.

When initialized with a datacenter argument, the GCE libcloud driver
acts a lot more like the EC2 one.  Many listings are implicitly
limited to that zone, saving us the need of limiting searches
ourselves.  Let's rely on libcloud instead of our own code.

9 years ago5313: Revert Node Manager's GCE boot disk destroy code.
Brett Smith [Tue, 3 Mar 2015 15:06:24 +0000 (10:06 -0500)]
5313: Revert Node Manager's GCE boot disk destroy code.

After upgrading to libcloud>=0.16, it's redundant to create a node
with ex_disk_auto_delete=True, then destroy the node with
destory_boot_disk=True.  During the destroy process, libcloud will
fail to destroy the boot disk, because Google has already deleted it.
ex_disk_auto_delete is closer to what we want, so just rely on that.

9 years agoUpdate arvados-fuse dependency on python sdk refs #4823
Peter Amstutz [Tue, 3 Mar 2015 14:57:08 +0000 (09:57 -0500)]
Update arvados-fuse dependency on python sdk refs #4823

9 years agoMerge branch '4823-python-sdk-writable-collection-api' closes #4823
Peter Amstutz [Tue, 3 Mar 2015 14:34:50 +0000 (09:34 -0500)]
Merge branch '4823-python-sdk-writable-collection-api' closes #4823

9 years ago4823: Docstring and comment fixes.
Peter Amstutz [Tue, 3 Mar 2015 14:34:05 +0000 (09:34 -0500)]
4823: Docstring and comment fixes.

9 years ago5043: Use Go's log package to serialize writes. Lose logChan.
Tom Clegg [Tue, 3 Mar 2015 02:35:35 +0000 (21:35 -0500)]
5043: Use Go's log package to serialize writes. Lose logChan.

9 years ago5349: Reverted "Time.iso8601(current_job[:created_at]" back to "current_job[:created_...
Radhika Chippada [Mon, 2 Mar 2015 21:04:17 +0000 (16:04 -0500)]
5349: Reverted "Time.iso8601(current_job[:created_at]" back to "current_job[:created_at]". All tests and manual testing passed and no negative side effects are observed.

9 years ago4823: More fixes and cleanups.
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

9 years agoMerge branch 'origin-5309-keepproxy-panic' closes #5309
Peter Amstutz [Mon, 2 Mar 2015 20:31:18 +0000 (15:31 -0500)]
Merge branch 'origin-5309-keepproxy-panic' closes #5309

9 years ago5309: Add comment about testing for content-length error bug.
Peter Amstutz [Mon, 2 Mar 2015 20:22:39 +0000 (15:22 -0500)]
5309: Add comment about testing for content-length error bug.

9 years ago5043: Accept long stderr lines from crunch tasks.
Tom Clegg [Mon, 2 Mar 2015 19:42:35 +0000 (14:42 -0500)]
5043: Accept long stderr lines from crunch tasks.

9 years agoMerge branch '4751-node-manager-stricter-node-pairing-wip'
Brett Smith [Mon, 2 Mar 2015 19:08:02 +0000 (14:08 -0500)]
Merge branch '4751-node-manager-stricter-node-pairing-wip'

Closes #4751, #5351.

9 years ago4751: Node Manager considers ping times for stricter node pairing.
Brett Smith [Mon, 2 Mar 2015 16:27:59 +0000 (11:27 -0500)]
4751: Node Manager considers ping times for stricter node pairing.

Because the pairing decision is currently based on IP address alone,
Node Manager will occasionally pair a cloud node with the wrong
Arvados node after an IP address is reused.  Fix that by bringing the
node's first_ping_at into consideration: if it's older than the cloud
node, refuse to pair.

9 years agoMerge branch '5313-node-manager-gce-fixes-wip'
Brett Smith [Mon, 2 Mar 2015 19:07:29 +0000 (14:07 -0500)]
Merge branch '5313-node-manager-gce-fixes-wip'

Closes #5313, #5350.

9 years ago5313: Node Manager's GCE driver destroys boot disks reliably.
Brett Smith [Mon, 2 Mar 2015 15:37:42 +0000 (10:37 -0500)]
5313: Node Manager's GCE driver destroys boot disks reliably.

This more closely matches the behavior of the EC2 driver, which we
want.

* Upgrade to libcloud 0.16, which adds an ex_disk_auto_delete argument
  to GCE's create_node method, with True as the default.
* Set destroy_boot_disk=True when calling destroy_node().

9 years ago5313: Rename Node Manager's `user-data` GCE tag to `arv-ping-url`.
Brett Smith [Mon, 2 Mar 2015 15:29:14 +0000 (10:29 -0500)]
5313: Rename Node Manager's `user-data` GCE tag to `arv-ping-url`.

`user-data` is an EC2-specific name.  `arv-ping-url` more clearly
describes what's in it.

9 years ago5305: Add heuristics to choose name when collection is referenced by PDH instead...
Peter Amstutz [Fri, 27 Feb 2015 20:14:35 +0000 (20:14 +0000)]
5305: Add heuristics to choose name when collection is referenced by PDH instead of uuid

9 years agoMerge branch '5283-crunch-collation-safety-wip'
Brett Smith [Fri, 27 Feb 2015 19:23:02 +0000 (14:23 -0500)]
Merge branch '5283-crunch-collation-safety-wip'

Closes #5283, #5306.

9 years ago5283: Log more crunch-job output handling.
Brett Smith [Fri, 27 Feb 2015 19:22:18 +0000 (14:22 -0500)]
5283: Log more crunch-job output handling.

Requested during code review.

9 years ago5283: crunch-job doesn't use freeze logic after a job fails.
Brett Smith [Wed, 25 Feb 2015 16:37:26 +0000 (11:37 -0500)]
5283: crunch-job doesn't use freeze logic after a job fails.

If the job has failed permanently, we want to go through all the
end-of-job logic.  Previously, we were getting sidetracked into
freeze_if_want_freeze, which skips some steps like setting the
permanent job output record.  Refs #4472.

9 years ago5283: Improve reliability of crunch-job output collation.
Brett Smith [Fri, 27 Feb 2015 19:20:12 +0000 (14:20 -0500)]
5283: Improve reliability of crunch-job output collation.

* Check the results of all pipe opens, exit statuses, and writes.
  Log any problems.
* Have fetch_block return undef when it encounters trouble, rather
  than dying.  create_output_collection already checks for this, so it
  effectively bubbles up the error.
* Retry all of the associated API calls.
* Kill the manifest creation pipe if we give up on it, per the TODO.

This probably won't resolve #5283, but hopefully these changes will
give us additional information to help diagnose the problem.

9 years ago5305: Handle collection pdh for docker image
Peter Amstutz [Fri, 27 Feb 2015 19:03:03 +0000 (19:03 +0000)]
5305: Handle collection pdh for docker image

9 years ago5322: Add documentation to "install SSO" section. (Possibly this should go
Peter Amstutz [Fri, 27 Feb 2015 16:43:53 +0000 (11:43 -0500)]
5322: Add documentation to "install SSO" section.  (Possibly this should go
into the admin guide, the admin guide is kind of useless right now.)

9 years agoMove the licensing info out of the second column and towards the footer of the page... origin/5305-arv-copy-fixes
Ward Vandewege [Thu, 26 Feb 2015 18:59:58 +0000 (13:59 -0500)]
Move the licensing info out of the second column and towards the footer of the page on the doc site.

No issue #

9 years agoMerge branch '5310-arv-copy-by-pdh'
Ward Vandewege [Thu, 26 Feb 2015 18:29:44 +0000 (13:29 -0500)]
Merge branch '5310-arv-copy-by-pdh'

refs #5310

9 years agoMerge branch 'master' into 5310-arv-copy-by-pdh
Ward Vandewege [Thu, 26 Feb 2015 18:27:26 +0000 (13:27 -0500)]
Merge branch 'master' into 5310-arv-copy-by-pdh

9 years ago4823: Add flush() to ArvadosFile. Fix tests to avoid using internal APIs. Fix
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").

9 years agoMerge branch '4232-slow-pipes-n-jobs' closes #4232
Phil Hodgson [Thu, 26 Feb 2015 08:01:04 +0000 (09:01 +0100)]
Merge branch '4232-slow-pipes-n-jobs' closes #4232

9 years ago5309: Fix keepclient and keepproxy bugs related to error handling:
Peter Amstutz [Wed, 25 Feb 2015 21:42:10 +0000 (16:42 -0500)]
5309: Fix keepclient and keepproxy bugs related to error handling:
* KeepClient: Handle nil response and nil response Body from Client.Do(GET)
* KeepProxy: Only defer reader.Close() if reader is not nil
* KeepProxy tests: Add test for GET failure to read (404)

9 years ago5310: Use c.get('name') instead of c['name']
Peter Amstutz [Wed, 25 Feb 2015 19:09:09 +0000 (14:09 -0500)]
5310: Use c.get('name') instead of c['name']

* 'name' isn't necessarily present when obj_uuid is a PDH,
  src.collections().get(uuid=obj_uuid).execute() may return a synthetic record
  without a name field.

9 years ago4823: Add arvapi parameter to one_task_per_input_file() to solve mocking
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.

9 years agoMerge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Wed, 25 Feb 2015 14:39:36 +0000 (09:39 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api

9 years agoMerge branch 'master' into 4232-slow-pipes-n-jobs
Phil Hodgson [Wed, 25 Feb 2015 08:12:50 +0000 (09:12 +0100)]
Merge branch 'master' into 4232-slow-pipes-n-jobs

9 years ago4232: remove traces of no-longer-needed "dependency" code for pipeline_instances
Phil Hodgson [Wed, 25 Feb 2015 08:10:41 +0000 (09:10 +0100)]
4232: remove traces of no-longer-needed "dependency" code for pipeline_instances

9 years ago4823: Remove sync_mode() from Collection in favor of writable() flag.
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().

9 years agoMerge branch '3785-job-log-collection-owner' closes #3785
Peter Amstutz [Tue, 24 Feb 2015 14:22:31 +0000 (09:22 -0500)]
Merge branch '3785-job-log-collection-owner' closes #3785

9 years agoMerge branch '4520-arv-copy-project-uuid' closes #4520
Peter Amstutz [Mon, 23 Feb 2015 21:49:23 +0000 (16:49 -0500)]
Merge branch '4520-arv-copy-project-uuid' closes #4520

9 years ago4520: Tweak test that put(u'foo') does the right thing.
Peter Amstutz [Mon, 23 Feb 2015 21:48:44 +0000 (16:48 -0500)]
4520: Tweak test that put(u'foo') does the right thing.

9 years ago4520: Coerce unicode strings to ascii in put(). Use result.content (returns
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.

9 years ago3785: Log tab is no longer suppressed for anonymous users.
Peter Amstutz [Mon, 23 Feb 2015 21:09:48 +0000 (16:09 -0500)]
3785: Log tab is no longer suppressed for anonymous users.

9 years ago4520: manifest_text() is utf-8 encoded by default so it can be safely put() to
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.

9 years ago4520: Better checking to see if collection already exists at the destination.
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.

9 years ago4520: Bonus fix because arv-copy was giving KeepClient.put() unicode strings
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.

9 years ago4520: Refactor code to create the collection record. Also refactored code
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.

9 years ago3785: Upload job log to collection with --project-uuid same owner_uuid as job.
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.

9 years agoMerge branch '5277-fuse-mtime-fix' closes #5277
Peter Amstutz [Mon, 23 Feb 2015 15:48:04 +0000 (10:48 -0500)]
Merge branch '5277-fuse-mtime-fix' closes #5277

9 years agoMerge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Mon, 23 Feb 2015 15:16:38 +0000 (10:16 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api

9 years ago4823: Clean up imports in collection.py
Peter Amstutz [Mon, 23 Feb 2015 15:16:08 +0000 (10:16 -0500)]
4823: Clean up imports in collection.py

9 years ago4823: Handle edge cases of files named '.' so that the FUSE test passes. Added
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.

9 years ago4232: revert experimental change to using find? for each of the jobs in a pipeline...
Phil Hodgson [Sat, 21 Feb 2015 09:16:31 +0000 (10:16 +0100)]
4232: revert experimental change to using find? for each of the jobs in a pipeline, rather than simply a where clause: there is no evidence that this switch to find? was helping to speed up anything overall

9 years agoMerge branch 'master' into 4232-slow-pipes-n-jobs
Phil Hodgson [Sat, 21 Feb 2015 09:11:43 +0000 (10:11 +0100)]
Merge branch 'master' into 4232-slow-pipes-n-jobs

9 years ago4823: Fix tests broken by prior refactoring. Renamed 'api.py' to 'apisetup.py'
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.

9 years ago4823: Refactoring. ReadOnly Collection is now CollectionReader, replacing old
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).

9 years agoFix typo on doc homepage.
Ward Vandewege [Thu, 19 Feb 2015 19:46:58 +0000 (14:46 -0500)]
Fix typo on doc homepage.

No issue #

9 years ago5277: Add test for mtime. Use ciso8601 module to parse arvados timestamps.
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.

9 years ago4823: Revert FUSE changes unrelated to ThreadSafeApiCache
Peter Amstutz [Thu, 19 Feb 2015 14:38:53 +0000 (09:38 -0500)]
4823: Revert FUSE changes unrelated to ThreadSafeApiCache

9 years agoMerge branch 'master' into 4823-python-sdk-writable-collection-api
Peter Amstutz [Thu, 19 Feb 2015 14:32:57 +0000 (09:32 -0500)]
Merge branch 'master' into 4823-python-sdk-writable-collection-api

9 years ago4823: Fix fuse tests for SafeApi -> ThreadSafeApiCache changes. Add a couple
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.

9 years agocloses #5197
Radhika Chippada [Wed, 18 Feb 2015 16:52:48 +0000 (11:52 -0500)]
closes #5197
Merge branch '5197-collection-name-owner-unique'

9 years ago4759: Update Node Manager to parse new Arvados API timestamps.
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.

9 years agocloses #5243, #5194 Merge branch '5194-quickfix-disambiguate-gettingstarted-sections'
Nancy Ouyang [Tue, 17 Feb 2015 23:16:24 +0000 (18:16 -0500)]
closes #5243, #5194 Merge branch '5194-quickfix-disambiguate-gettingstarted-sections'

9 years agoMerge branch '3408-production-datamanager' refs #3408
mishaz [Tue, 17 Feb 2015 23:07:14 +0000 (23:07 +0000)]
Merge branch '3408-production-datamanager' refs #3408

9 years ago5194: minor fixes
Nancy Ouyang [Tue, 17 Feb 2015 23:06:45 +0000 (18:06 -0500)]
5194: minor fixes

9 years agoMerge branch 'master' into 3408-production-datamanager refs #3408
mishaz [Tue, 17 Feb 2015 23:06:32 +0000 (23:06 +0000)]
Merge branch 'master' into 3408-production-datamanager refs #3408

9 years agoChanges to allow datamanager to run indefinitely:
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)

9 years agoMerge branch '4138-node-manager-gce-wip'
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.

9 years ago4138: Prepare Node Manager GCE driver for production.
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.

9 years ago4138: Revamp Node Manager driver proxying in BaseComputeNodeDriver.
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.

9 years ago4138: Refactor out Node Manager DriverTestMixin.
Brett Smith [Thu, 12 Feb 2015 22:22:12 +0000 (17:22 -0500)]
4138: Refactor out Node Manager DriverTestMixin.

9 years ago4138: Fix noop Node Manager EC2 driver tests.
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.

9 years ago4138: Refactor common Node Manager driver initialization to base driver.
Brett Smith [Fri, 13 Feb 2015 21:00:30 +0000 (16:00 -0500)]
4138: Refactor common Node Manager driver initialization to base driver.

9 years ago4138: Simplify Node Manager GCE credential handling.
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.

9 years ago4138: updated unit test
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.

9 years ago4138: GCE fixes
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-'.

9 years ago4138: general GCE fixes
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.

9 years ago4138: code review feedback
Tim Pierce [Mon, 24 Nov 2014 22:12:07 +0000 (17:12 -0500)]
4138: code review feedback

9 years ago4138: support for Google Cloud Engine.
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.