Brett Smith [Mon, 5 May 2025 19:51:26 +0000 (15:51 -0400)]
21362: Streamline package test Dockerfiles
Basically a lot of the Gem/Bundler setup being done here should be
handled by the RailsAPI package instead. The test is more meaningful if
we let it happen there rather than preinstalling prerequisites in the
image.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 5 May 2025 19:49:16 +0000 (15:49 -0400)]
21362: Note what it means if Bundler removes "stale" gems
This is behavior I observed while trying to build Rocky 9 packages with
Ruby 3.3. RailsAPI is pinned to the last version of Nokogiri that
supports Ruby 2.7, which says that it requires Ruby <3.3.dev.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Mon, 5 May 2025 19:14:41 +0000 (15:14 -0400)]
21362: Add nginx compilation dependencies for rocky9 package
For reasons I don't understand, Passenger can't use a prebuilt nginx
binary on Rocky 9, it has to build it from source. Add package
dependencies for that to succeed.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 30 Apr 2025 18:29:13 +0000 (14:29 -0400)]
22822: Fix VIRTUAL_ENV path in Python packages
The code we have to update the `activate` script is failing on at least
some distributions, so activating the virtualenv appears to work but is
ineffective.
Trying to modify shell source on the fly is inherently a dicey
proposition. Instead of doing that, let's rely on the fact that builds
happen in an ephemeral Docker container, and just build the "source"
virtualenv in the same path where the package will install it,
eliminating the need for any rewriting.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Lisa Knox [Tue, 22 Apr 2025 14:12:05 +0000 (10:12 -0400)]
22564: adjusted tests:
* removed untrash collection test becuase it is covered elsewhere, and in this test it ends up being on page 2 of the data explorer
* changed user fullName values so as not to collide with those same values in other tests
Arvados-DCO-1.1-Signed-off-by: Lisa Knox <lisa.knox@curii.com>
Peter Amstutz [Fri, 18 Apr 2025 17:17:18 +0000 (13:17 -0400)]
21074: Only apply strict validation to linked workflow collections
If you have a collection of type: workflow, strict validation only
applies if it is actually linked. This accomodates legacy collections
which have type: workflow but don't have all the newly defined fields.
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>
Brett Smith [Thu, 17 Apr 2025 15:10:58 +0000 (11:10 -0400)]
22792: Update CUDA tasks for version 570 driver
Version 570 introduces a udev rule to load the driver when needed.
`/etc/modules-load.d/nvidia.conf` is gone, and we no longer need to
arrange to load it dynamically.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Peter Amstutz [Wed, 2 Apr 2025 18:19:05 +0000 (14:19 -0400)]
21074: Linking workflow record to collection
(I have squashed a bunch of commits because of an issue of
accidentally including and then subsequently removing some unrelated
database migrations.)
Tests filling in workflow record from collection
Test for synchronization of workflow record with collection
Hide workflows where the collection is trashed
Validate properties on collection
Test destroying workflow collection
Use dependent association instead of after_destroy hook
Added include=collection_uuid to group contents API
Add collection.properties.blah table join filters
Documentation for linking workflow to collection
Figuring out manifest_text in response
Fix behavior & add tests for include=collection_uuid
Specifically need special behavior for manifest_text so it is not
returned by default and can't be selected (because Controller won't
sign it) but unsigned_manifest_text is ok.
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>
Peter Amstutz [Mon, 7 Apr 2025 16:26:26 +0000 (12:26 -0400)]
null values fall back to zero when computing read_length
found refs #21074, original bugfix refs #22232
Null is not the same as zero, in SQL (null + a number) is null, not
the number. As a result a single null value would cause the entire
row to be considered null (and Ruby would assign it zero size)
regardless of the size of the other columns in the row. Use coalese()
to get the intended behavior.
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>
Peter Amstutz [Wed, 9 Apr 2025 21:29:29 +0000 (17:29 -0400)]
Filter the development- prefix before sorting, refs #22767
Unfortunately 'development' sorts before numbers, so the
development-3.0.0 tag was continuing to show up at the top (resulting
in it assigning 3.1.0~dev versions even after 3.1.0 had been released
and tagged) when it should have been picking up 3.1.0 as the most
recent version. Tweak the logic to get rid of the development prefix
before sorting. With this, it correctly generates the versions as
3.2.0~dev.
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>
Brett Smith [Tue, 15 Apr 2025 15:57:35 +0000 (11:57 -0400)]
22788: Fix getting dispatch public key from private key content
As commented, the way we tried to pass the private key to ssh-keygen via
stdin unfortunately doesn't work. ssh-keygen really wants to work with a
file, so write a tempfile to do that.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Thu, 10 Apr 2025 14:37:07 +0000 (10:37 -0400)]
22617: Remove partition encryption dependency on docker.socket
Otherwise:
systemd[1]: docker.socket: Found ordering cycle on arvados-ensure-encrypted-partitions.service/start
systemd[1]: docker.socket: Found dependency on basic.target/start
systemd[1]: docker.socket: Found dependency on sockets.target/start
systemd[1]: docker.socket: Found dependency on docker.socket/start
systemd[1]: docker.socket: Job arvados-ensure-encrypted-partitions.service/start deleted to break ordering cycle
As long as we start before the actual service, that's sufficient. Just
remove the relationship with the socket.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>