Bug #18112

[ubuntu 18.04] bundler 1.16.1 incompatible with latest arvados-api-server and arvados-workbench packages

Added by Ward Vandewege about 2 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
09/07/2021
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
-

Description

This only applies when NOT using rvm.

The system ruby-bundler package for Ubuntu 18.04 is version 1.16.1, and it is apparently incompatible with our latest arvados-api-server and arvados-workbench packages.

E.g. when upgrading arvados-api-server on a system with ruby-bundler 1.16.1 installed:

# dpkg -l |grep bundl
ii  bundler                                1.16.1-1                                    all          Manage Ruby application dependencies
ii  ruby-bundler                           1.16.1-1                                    all          Manage Ruby application dependencies (runtime)

# gem list |grep bundler
bundler (2.2.19, 1.17.3, 1.16.1)

# apt install arvados-workbench --reinstall
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 35.3 MB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://apt.arvados.org/bionic bionic-dev/main amd64 arvados-workbench amd64 2.3.0~dev20210902200728-1 [35.3 MB]
Fetched 35.3 MB in 2s (18.0 MB/s)             
(Reading database ... 168841 files and directories currently installed.)
Preparing to unpack .../arvados-workbench_2.3.0~dev20210902200728-1_amd64.deb ...
Unpacking arvados-workbench (2.3.0~dev20210902200728-1) over (2.3.0~dev20210902200728-1) ...
Setting up arvados-workbench (2.3.0~dev20210902200728-1) ...

Assumption: nginx is configured to serve Rails from
            /var/www/arvados-workbench/current
Assumption: nginx and passenger run as www-data

Creating symlinks to configuration in /etc/arvados/workbench ...... done.
Running bundle config set --local path /var/www/arvados-workbench/shared/vendor_bundle... done.
Running bundle install... done.
Ensuring directory and file permissions ...... done.
Checking configuration for completeness...You must use Bundler 2 or greater with this lockfile.
 failed.

PLEASE NOTE:

The arvados-workbench package was not configured completely because
/etc/arvados/config.yml needs some tweaking.
Please refer to the documentation at
<http://doc.arvados.org/install/install-workbench-app.html#configure> for more details.

When config.yml has been modified,
reconfigure or reinstall this package.

Or on a clean system, with ruby-bundler preinstalled:

# dpkg -l |grep bundler
ii  ruby-bundler               1.16.1-1                            all          Manage Ruby application dependencies (runtime)
# gem list|grep bund
bundler (1.16.1)

# apt install arvados-api-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
...

Setting up arvados-api-server (2.3.0~dev20210902200728-1) ...

WARNING: Web service (Nginx or Apache) not found.

To override, set the WEB_SERVICE environment variable to the name of the service
hosting the Rails server.

For Debian-based systems, then reconfigure this package with dpkg-reconfigure.

For RPM-based systems, then reinstall this package.

Assumption:  is configured to serve Rails from
            /var/www/arvados-api/current
Assumption:  and passenger run as www-data

Creating symlinks to configuration in /etc/arvados/api ...... done.
Running bundle config set --local path /var/www/arvados-api/shared/vendor_bundle...Traceback (most recent call last):
    2: from bin/bundle:8:in `<main>'
    1: from /usr/lib/ruby/2.5.0/rubygems.rb:263:in `bin_path'
/usr/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': Could not find 'bundler' (2.2.19) required by your /var/www/arvados-api/current/Gemfile.lock. (Gem::GemNotFoundException)
To update to the lastest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.2.19`
 failed.
dpkg: error processing package arvados-api-server (--configure):
 installed arvados-api-server package post-installation script subprocess returned error exit status 1
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Errors were encountered while processing:
 arvados-api-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Interestingly, this is not a problem on Debian 10, which ships with ruby-bundler 1.17.3.

Presumably we could just add a conflict with ruby-bundler on our arvados-api-server and arvados-workbench packages for Ubuntu 18.04, as a workaround for this problem.


Subtasks

Task #18115: review 18112-ubuntu1804-bundler-fixResolvedWard Vandewege

History

#1 Updated by Ward Vandewege about 2 months ago

  • Status changed from New to In Progress

#2 Updated by Ward Vandewege about 2 months ago

  • Description updated (diff)

#3 Updated by Ward Vandewege about 2 months ago

I've verified that this problem only manifests itself on Ubuntu 18.04. Debian 10 and Ubuntu 20.04 have no problem.

Ready for review at 33765b48e350abcd844ea9db4c718f006a6a3d7b on branch 18112-ubuntu1804-bundler-fix.

#4 Updated by Lucas Di Pentima about 2 months ago

Just one question: do you think it's convenient to warn the admins about this new requirement on the upgrading notes?

Apart from that, it LGTM.

#5 Updated by Ward Vandewege about 2 months ago

Lucas Di Pentima wrote:

Just one question: do you think it's convenient to warn the admins about this new requirement on the upgrading notes?

That's a good point, thanks. I have added a note in 55a5bf1f38d28e7f3dfe8190524b967901e30d44, does that look ok?

#6 Updated by Lucas Di Pentima about 2 months ago

LGTM, thanks! :)

#7 Updated by Anonymous about 2 months ago

  • % Done changed from 0 to 100
  • Status changed from In Progress to Resolved

Applied in changeset arvados-private:commit:arvados|61c4e4d5f8c3fce527570484f24df1c94b6f5fcc.

Also available in: Atom PDF