Brett Smith [Fri, 18 Jul 2014 15:06:02 +0000 (11:06 -0400)]
3252: Include README in Python source manifest.
The real issue with our Python package builds is that this file isn't
being included, which causes setup.py to fail when it's run from a
source tarfile. It *is* being included on my box, but that seems to
be because of extra information from git, or lingering information in
my .egg-info directory. This change should make sure README is
included when a clean sdist is prepared.
Brett Smith [Thu, 17 Jul 2014 20:41:29 +0000 (16:41 -0400)]
3252: Make Python tests runnable from setup.py.
This does a couple of things for us:
* It makes the tests more discoverable and easier to run, which makes
for cleaner documentation. The new command to run tests is
`python setup.py test` (the old command still works too).
* Because the test dependencies are expressed in setup.py, we can get
rid of duplication from keeping around requirements.txt.
Brett Smith [Tue, 15 Jul 2014 17:02:03 +0000 (13:02 -0400)]
3195: Add job reuse test.
I wrote this while debugging a user-reported issue. Ultimately the
issue ended up being a bug in the database, but no point letting a
good test go to waste.
Brett Smith [Mon, 7 Jul 2014 15:01:30 +0000 (11:01 -0400)]
2044: Non-admins get all users' basic info from index API.
This will support a Workbench feature to let users at the same site
share projects with each other. Adding kind to index requests with
select parameters is necessary to help Workbench understand the
result.
There was extensive discussion on IRC about whether or not e-mail
addresses should be included in this information. We toyed with ideas
like providing an e-mail address checksum, so that you could find
exact but not partial matches. Ultimately I decided that none of
those measures were worth the hassle, because the domain of addresses
at any given site would be small enough that they would easily be
discoverable through brute force.
Brett Smith [Wed, 9 Jul 2014 19:04:21 +0000 (15:04 -0400)]
3113: API server assigns task qsequence from a PostgreSQL sequence.
We always wanted monotonically increasing qsequence values. This
implements that.
Because sequences are specific to PostgreSQL, it can't be expressed in
schema.rb. This commit switches our Rails configuration to dump the
database schema in SQL to capture that.
PostgreSQL supports assigning a column's default value from a
sequence, but this doesn't play well with ActiveRecord. Without more
information, it always tries to assign NULL as the column value,
rather than leaving it unassigned to get the default. We have to get
the value from inside the model.
Tom Clegg [Thu, 10 Jul 2014 17:34:44 +0000 (13:34 -0400)]
3220: Adjust disk corruption behavior: If both corrupt and intact
copies exist, log the corruption when noticed, but return the intact
copy to the client instead of an error.
Be consistent about the version of ruby that is installed by rvm and
used by the various containers. Be consistent about using rvm-exec and
bundle exec in every command that uses ruby.
Add documentation and warning about --realclean option to build.sh
Brett Smith [Wed, 9 Jul 2014 01:32:40 +0000 (21:32 -0400)]
3201: Simplify logic to decide "My Projects" is selectable.
Thinking about it on the commute home, I decided that my previous
implementation that inspected action_href (e007ef71) was too clever by
half. Following the adage that explicit is better than implicit, this
version provides a knob you can turn to just say whether or not "My
Projects" is selectable.
Brett Smith [Tue, 8 Jul 2014 22:06:45 +0000 (18:06 -0400)]
3201: Only Projects can be moved to "My Projects."
Before this commit, it was possible to move any object that goes in
folders to "My Projects." If you did, it would be removed from any
project, and owned by the user directly. This is non-obvious. Data
should be removed from projects by using the trash icon on the project
page instead.
This is the same principle that we already take with POST parameters,
applied to the body of the Job itself. It immediately prevents
sending nil runtime_constraints, which the API server doesn't accept.
It should also mean that any error messages passed on from the API
server are more likely to be helpful.
Brett Smith [Tue, 8 Jul 2014 19:59:39 +0000 (15:59 -0400)]
3209: arv-run-pipeline-instance sends instance body as JSON.
If we don't encode the body as JSON ourselves, the API client library
will omit empty attributes. This can cause required component
attributes like script_parameters to be lost, so we need to circumvent
that behavior. It also seems safe, since we already do the same
encoding in the update method. Closes #3209.
Brett Smith [Mon, 7 Jul 2014 21:52:31 +0000 (17:52 -0400)]
3176: Fix arv-put's resume cache writing.
Refactoring directory creation into _util accidentally broke this:
arv-put was trying to save the cache to a relatively directory that
almost never existed, and then silently ignored the error.
refs #3140
Revert back the UI to display only one tab instead of 5 content tabs since it is not working when accessing a project with large amounts of data.
Merge branch '3140-undo-project-content-tabs'
Peter Amstutz [Mon, 7 Jul 2014 20:54:17 +0000 (16:54 -0400)]
Don't use "arv" command wrapper, call arv-get/arv-put directly. Avoids
dependency on arvados-cli gem being properly configured on compute node.
no issue #