Bug #15516
arvados-api-server and arvados-workbench packages dependent on arvados-server
100%
Description
arvados-api-server and arvados-workbench both have a hard dependency on arvados-server, which they use to read the new arvados config file. When installing or upgrading, arvados-server must be installed or upgraded before arvados-api-server post-install or service startup scripts are run. Base on the pattern of breakage on the dev clusters, this doesn't seem to be happening.
Subtasks
Associated revisions
History
#1
Updated by Ward Vandewege over 1 year ago
- Project changed from OPS to Arvados
- Status changed from New to In Progress
- Assigned To set to Ward Vandewege
Ready for review @ 2522f92cc25e55e57a31af7a59ebdbb066743445 on branch 15516-fix-arvados-server-dependencies
#2
Updated by Ward Vandewege over 1 year ago
- Target version set to 2019-08-14 Sprint
#3
Updated by Ward Vandewege over 1 year ago
Removed unnecessary --force-test call in build/run-build-test-packages-one-target.sh, pushed updated d823e6afbd6a2287469da909f95976da79692e72
#4
Updated by Nico César over 1 year ago
currently running https://ci.curoverse.com/job/build-packages-ubuntu1604/1357/console
#5
Updated by Nico César over 1 year ago
I see:
00:10:31.428 Error: /tmp/tmp.MuRDh1DKom/bin/arvados-client=/usr/bin/arvados-client: Unable to figure out package name from fpm results:
00:10:31.428
00:10:31.429 {:timestamp=>"2019-08-12T17:54:53.807627+0000", :message=>"Invalid package configuration: Cannot package the path '/tmp/tmp.MuRDh1DKom/bin/arvados-client', does it exist?", :level=>:error}
#6
Updated by Ward Vandewege over 1 year ago
Nico César wrote:
I see:
00:10:31.428 Error: /tmp/tmp.MuRDh1DKom/bin/arvados-client=/usr/bin/arvados-client: Unable to figure out package name from fpm results:
00:10:31.428
00:10:31.429 {:timestamp=>"2019-08-12T17:54:53.807627+0000", :message=>"Invalid package configuration: Cannot package the path '/tmp/tmp.MuRDh1DKom/bin/arvados-client', does it exist?", :level=>:error}
That was caused by a genuine bug in the new code. The govendor call in calculate_go_package_version() generates STDOUT when it is downloading data (but not when it doesn't have to do anything), and that output was returned with the result of calculate_go_package_version(). Meh, bash, yuck, functions returning data via stdout...
I've switched calculate_go_package_version() to take a variable name as part of its command line, and then set that variable to the output from the function. This uses a bash 4.3+ feature called namerefs. This way, any stdout generated in calculate_go_package_version() won't corrupt the value it returns anymore, which avoids future problems of this type. I've given the get_complete_package_name() function the same treatment.
Fix pushed in 366a2efdd0ac4630f4381f3b47d70ef155ed2df4
#7
Updated by Ward Vandewege over 1 year ago
I pushed another bugfix in 2774e45aba64557259fc35155c62988449a8dc72 and ran a successful test on jenkins (but I removed --upload and replaced it with --debug before doing so, and then reverted that): https://ci.curoverse.com/job/build-packages-ubuntu1604/1360/console
#8
Updated by Ward Vandewege over 1 year ago
use of nameref documented in 26c7b3c97876a05ec7427bc2e5270108dcf00b17
#9
Updated by Nico César over 1 year ago
LGTM, we should merge and watch closely a merge. I will also check the expected output with dpkg on subsequent packages.
#10
Updated by Ward Vandewege over 1 year ago
- Status changed from In Progress to Resolved
#11
Updated by Peter Amstutz about 1 year ago
- Release set to 22
Merge branch '15516-fix-arvados-server-dependencies'
closes #15516
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <wvandewege@veritasgenetics.com>