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>.
Tom Clegg [Fri, 13 Feb 2015 00:04:01 +0000 (19:04 -0500)]
5011: Fix unreliable test.
The collection writer was (sometimes) consuming the last 200 response
even though it could write 3 copies without it. This shouldn't fail
the test: the only reason we count the PUT calls is to verify all
three of the 200 responses were consumed (i.e., none of the 500
responses were counted toward the achieved replication level). To
verify this without being sensitive to extra requests, we simply
arrange for the three 200 responses to be the last ones available.
Checking is_alive() creates race conditions, because we might check
the actor's live state before it's had a chance to process a stop
message in its queue. We just had a build fail because of this:
<https://ci.curoverse.com/job/arvados-api-server/1299/>. Always check
that a monitor is alive by sending it a real message. No issue #.
Radhika Chippada [Wed, 11 Feb 2015 23:44:25 +0000 (18:44 -0500)]
5185: do not display description at all in Project -> Data collections tab because of concerns such as the description may be too big or has textile etc.
Peter Amstutz [Wed, 11 Feb 2015 20:48:00 +0000 (15:48 -0500)]
4904: Detach from Docker container to get cid from stdout instead of fiddling
with cid file. Poll "docker ps" to check if the container is still running. Fixed bugs.
Updated documentation.
Radhika Chippada [Wed, 11 Feb 2015 19:07:24 +0000 (14:07 -0500)]
4951: Incorporate review feedback. Always show the request button, along with the "sent" message if applicable. Include timestamp in sent message. Some text updates as well.
Brett Smith [Tue, 10 Feb 2015 16:33:59 +0000 (11:33 -0500)]
5160: Workbench hides anonymous sharing when browsing disabled.
This commit updates Workbench to filter out the anonymous group from
the group sharing modal when anonymous browsing is disabled. That
helps avoid situations where users think their work is publicly
sharable, but that's been disabled by the administrator.
Brett Smith [Tue, 10 Feb 2015 19:11:55 +0000 (14:11 -0500)]
5160: All users have API read permission to anonymous group.
Workbench makes public data available to everyone by including the
anonymous user API token as a reader token for every request.
However, model-level validations do not respect reader tokens. As a
consequence, users cannot make their project public by sharing it with
the anonymous group. They can't create the necessary link, because
the validation can't confirm that the creator can see the anonymous
group.
There are a few ways we could've tackled this, but granting all users
permission to see the anonymous group seems like the most reliable,
since it works within our existing permissions infrastructure as much
as possible.
Radhika Chippada [Tue, 10 Feb 2015 02:50:41 +0000 (21:50 -0500)]
5110: full text search seems to treat '_' characters as spaces. Thus, when searched for 'pipeline_1', objects matching 'pipeline'
are also fetched since '1' is a common word and ignored. Hence, update the test to use more specific search filters.
Brett Smith [Thu, 5 Feb 2015 16:58:43 +0000 (11:58 -0500)]
4464: API group contents no longer include manifests.
This change achieves symmetry with the collections list method, which
doesn't return manifests unless you expressly request them. We don't
have a good way to support the select parameter in group contents at
all right now, so this commit also makes that clear through the
discovery document, and documents the limitation. This change should
help avoid performance problems like witnessed in #4464.
Some refactoring/clean-up to help support this change:
* Extract out a method that generates the full hash response to list
@objects. Reuse that code in the groups contents method.
* The collections controller had code to generate a list of a model's
selectable attributes. Move that to ArvadosModel and reuse it in
the groups contents method.
* Make signatures consistent across all definitions of apply_filters
and apply_where_limit_order_params. The latter simply passes
arguments to the former, so it can have the same signature, and it
should respect the provided model_class argument the same way. Same
for the override in the users controller.
Brett Smith [Mon, 9 Feb 2015 22:02:01 +0000 (17:02 -0500)]
5176: Add more Ruby SDK tests for empty manifests.
I wrote these while trying to diagnose other issues in the branch.
They didn't reveal anything directly, but it seems like a waste to
write tests and not commit them, so here they are.
Brett Smith [Mon, 9 Feb 2015 21:01:35 +0000 (16:01 -0500)]
5175: Avoid egg_info name conflicts with pip.
pip does its own subclassing of egg_info. Installing with pip fails
if setup.py includes an egg_info class that is passed in as the
cmdclass for the egg_info command. Avoid using that name to avoid
conflicts with pip. Refs #5175.
Brett Smith [Mon, 9 Feb 2015 17:31:11 +0000 (12:31 -0500)]
5175: Do not add +sha1 tag to Python packages ever.
PEP 440 is clear that the local version tag is for distributors who
are patching an upstream release. That's not us; we are the upstream
release. "Local version identifiers SHOULD NOT be used for upstream
projects," so just don't do it.
This also lets us sidestep the issue of trying to parse sys.argv
behind setuptools' back.
Developers who want to keep their development builds distinct should
tag packages themselves with -b .devN.