Tom Clegg [Thu, 23 Feb 2023 15:45:14 +0000 (10:45 -0500)]
19963: Enable login flow without anonymous token configured.
Response is now 401 (was 404) when the requested collection is not
even loaded because the token is either invalid or passed in an
unsupported way (e.g., in an Authorization header with a
public-data-only URL path).
This revealed some testing issues, e.g., Test404 was attempting to
check that authenticated requests for nonexistent
files/dirs/collections returned 404, but it was in fact exercising a
code path that returned 404 because the token was not accepted.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>
Brett Smith [Tue, 21 Feb 2023 21:24:17 +0000 (16:24 -0500)]
19980: System properties only require arv: prefix
The decision to require a following alphabetic character was
well-intentioned but misplaced: it doesn't stop these properties from
existing, just changes the layer they would be defined at.
It might make sense to add some name rules to properties, but that would
be better done across the board as a separate story, not as a specific
corner case of system properties.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 20 Feb 2023 20:30:57 +0000 (15:30 -0500)]
20137: Fix incorrect keyword in Workbench1 config reload loop
This has the same rationale as e03ebe77c. I don't know if this code
is being exercised anywhere, but I don't want to find out the hard way
that the answer is yes.
Refs #20137.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 20 Feb 2023 16:55:32 +0000 (11:55 -0500)]
19980: Expand documentation of reserved properties
* Note they will be prefixed with `arv:` from now on.
* Explain why and how these are set.
* Explain these can be set even with a strict vocabulary.
* Add the arvados-cwl-runner Git properties.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 20 Feb 2023 19:46:41 +0000 (14:46 -0500)]
20137: Fix incorrect keyword in RailsAPI config reload loop
The reason rails_restart_test.go has been racey is because the code
under test is actually buggy. If the configuration reload loop ever
encounters a condition where it wants to restart (probably
`hash == hash_lastload`), it tries to call a nonexistent method
`continue`, the thread crashes, the configuration never gets reloaded,
and the test fails.
Use the intended Ruby keyword `next` instead.
Closes #20137.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Lucas Di Pentima [Fri, 10 Feb 2023 18:16:31 +0000 (15:16 -0300)]
20035: Improves the connector script in various ways.
* Passes /dev/null to AWS CLI as credential file instead of an non-existent
path.
* Single-quotes every Jinja variable to avoid side shell related effects.
* Passes AWS region name as a pillar.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>
Brett Smith [Thu, 2 Feb 2023 15:33:32 +0000 (10:33 -0500)]
19926: Flatten structure of PySDK install instructions
The way there were "two tracks" of install and test instructions on the
page was confusing to readers. (Especially since we did not number those
options consistently.) Incorporate the test instructions into the
install instructions, so the reader only has to follow and care about
one specific method, and then they're done.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 1 Feb 2023 14:10:33 +0000 (09:10 -0500)]
19792: Use binary mode in cookbook download+upload examples
This incorporates a suggestion from review to use a binary mode in a way
that makes the recipes more robust. It's very likely that readers will
want to work with binary files at least as much as text files, and these
recipes still work for text files too for verbatim copies.
Refs #19792.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 30 Jan 2023 23:38:02 +0000 (18:38 -0500)]
19792: Add 'wb' as an example Collection.open mode argument
Give readers a hint that we fully support the mode argument, not just
the basic r/w/a options. Ideally they can look up the reference for full
details.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 30 Jan 2023 23:29:47 +0000 (18:29 -0500)]
19897: Add tests for writing immutable mount objects
I originally wrote these expecting to get them to return ENOTSUP as
well. However, that doesn't happen now because of how the Operations
class calls Directory.writable() and turns False into EPERM. I'm
committing the tests since they're useful as-is, with a note that I'd
like to convert them to ENOTSUP in the future.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 30 Jan 2023 23:24:12 +0000 (18:24 -0500)]
19897: Return ENOTSUP when the user tries to make a file in a project
Before this commit, the NotImplementedError is propagating up to
catch_exceptions, which turns it into EIO. "I/O error" sounds like a
problem with the underlying systems and stresses out users. "Operation
not supported" should better communicate to the user that they're doing
something unexpected and should double-check their work.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Sun, 29 Jan 2023 18:28:51 +0000 (13:28 -0500)]
19792: Add PySDK cookbook recipe to walk a collection
After working on the container request recipes, I realized this was a
gap in the cookbook: how do you work on a collection if you don't know
its structure? This starts to document that.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>