Brett Smith [Wed, 18 Mar 2015 20:00:01 +0000 (16:00 -0400)]
4253: Use new username to set up repository and VM logins.
The usernames added in 4253 have stricter limits than past usernames
generated to set up a repository and VM login. Use the new generated
username to avoid a weird disconnect between that and these related
objects. Do a little cleanup in the tests, including removing some
test parameters that now seem redundant under the new rules.
Brett Smith [Tue, 17 Mar 2015 22:10:14 +0000 (18:10 -0400)]
4253: Add a username attribute to users.
* Add the column, and propagate it based on available VM logins or
e-mail address, if possible.
* Add format validation and tests.
* Set new usernames based on e-mail address, with tests.
Brett Smith [Fri, 20 Mar 2015 21:16:43 +0000 (17:16 -0400)]
5319: Bound search in collection PDH fix migration.
Only search collections that exist when the migration begins. This
helps avoid an infinite loop where we yield a bad collection, it gets
fixed a new replacement is created, and then we find and yield the
replacement… Refs #5319.
Radhika Chippada [Fri, 20 Mar 2015 18:30:35 +0000 (14:30 -0400)]
5375: improved mime_types initializer. enhance collections_helper to use mime_type sub_type instead of relying on suffix.
update config param name, value, and comment. add .seq, which is another supported extension of fasta to test.
Brett Smith [Wed, 18 Mar 2015 14:44:18 +0000 (10:44 -0400)]
5319: Improve collection PDH fix performance with LIKE searches.
PostgreSQL regexp searches use a lot of RAM, and these queries run out
of RAM on qr1hi. Prefer LIKE queries, which use less RAM and are more
portable. We have to do multiple searches, but that's life.
Tom Clegg [Thu, 19 Mar 2015 22:12:21 +0000 (18:12 -0400)]
5276: Reveal and update the log graph as soon as the first data point
arrives, rather than waiting for the redraw timer.
Return an empty hover tooltip for the placeholder data point. (The
placeholder series is only added when the graph is empty and hideHover
is true, but it doesn't get deleted later when hideHover goes false.)
Render the graph in a show() callback to ensure the div is visible
when Morris creates its SVG element: otherwise the SVG can end up
being created with height=1px. This addresses bugs like "graph doesn't
show up sometimes" and "data point hover tooltips show up, but there's
no graph".
Peter Amstutz [Wed, 18 Mar 2015 16:23:21 +0000 (12:23 -0400)]
5500: Add SLURM "Communication connection failure" to pattern of temporary node
failures. "pip install" failure returns temporary error status (111) so the
task can be retried.
Radhika Chippada [Wed, 18 Mar 2015 14:04:29 +0000 (10:04 -0400)]
5375: after much hair pulling, found the syntax to replace MIME::Types.add(MIME::Type.from_array... since from_array is deprecated; now using MIME::Types.add(MIME::Type.new...
Radhika Chippada [Wed, 18 Mar 2015 13:38:26 +0000 (09:38 -0400)]
5383: Add back Time.parse(). Without it the value returned would be of the format 2015-03-18 13:37:11 UTC,
and with Time.parse it would be 2015-03-18 09:37:11 -0400, which is the same as Time.now.
Brett Smith [Fri, 13 Mar 2015 15:11:35 +0000 (11:11 -0400)]
5313: Node Manager has cloud-specific logic to get node FQDNs.
On AWS, we put compute nodes' FQDN in the name field. On GCE, we
can't do that: it can't contain dots. Add a node_fqdn classmethod to
cloud drivers to get a node's FQDN from the right place, and use that
method when deciding whether or not to sync a node.
Syncing a node will occasionally raise an "Invalid fingerprint"
exception on GCE. This is nonfatal. Add a comment explaining why.
Peter Amstutz [Tue, 17 Mar 2015 17:35:42 +0000 (13:35 -0400)]
When copying a collection that already exists on the destination, fetch
manifest text from the destination in order to create a new collection with the
correct signing tokens. closes #5475
Radhika Chippada [Tue, 17 Mar 2015 14:27:35 +0000 (10:27 -0400)]
5383: postgres current_timestamp is the start of transaction and clock_timestamp is the current time at the statement execution. updated db_current_time to use clock_timestamp and reverted back all updates to log_test.rb
Radhika Chippada [Mon, 16 Mar 2015 22:35:58 +0000 (18:35 -0400)]
5383: update db_current_time to return date with more precision. Update log_test to use db_current_time instead of Time.now to ensure if there is a slight difference in time between db time and server time, the test does not fail.
Brett Smith [Mon, 16 Mar 2015 14:09:57 +0000 (10:09 -0400)]
5319: Improve performance of Collection PDH fix migration.
* Use PostgreSQL's native regular expression search to limit the
number of records we pull through ActiveRecord.
* Use a smaller batch size to avoid pulling pathological batches of
records that cause swapping.
Peter Amstutz [Mon, 16 Mar 2015 13:40:32 +0000 (09:40 -0400)]
5448: Don't create new tasks if $main::success is defined. Add failure count
to cidfile and delete cidfile in reapchildren() to fix Docker cidfile collision.
Brett Smith [Fri, 13 Mar 2015 21:31:10 +0000 (17:31 -0400)]
5034: Update Workbench integration tests.
A lot of tests started failing because
* they were looking for the string "content hash" to assert they were
on a collection page, or
* they expect the portable data hash to be real text on the page (as
opposed to the value of an <input>).
Fixes:
* Have the upload test check that the collection is empty by looking
for the relevant size information, which was specified by the story.
* Make sure we're on a specific collection page by looking for the
collection's name or UUID (depending on what's available).
* Refute we're on a specific collection page by matching against the
URL. This seems much safer in the long run.
* Remove the "Content hash" assertion from projects test altogether.
The prior text assertion should be sufficient to ensure we're on the
right page.
Brett Smith [Thu, 12 Mar 2015 14:15:39 +0000 (10:15 -0400)]
5034: Improve Workbench collection display.
* Display the UUID, and make it auto-select for easy copying.
* Do the same for the portable data hash, and call it the content
address to emphasize that.
* Display information about the collection's size on the show page and
preview pane. This relies on an updated Ruby SDK.
* Clean up code that checks for a portable data hash in the UUID.
That can't happen anymore thanks to the redirect/list display logic
in the controller.