Project

General

Profile

Actions

Bug #21384

closed

faraday dependency can break new gem installs on Ruby 2.7

Added by Brett Smith 6 months ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
SDKs
Story points:
-
Release relationship:
Auto

Description

This is breaking test-provision-ubuntu2004:

  Name: ruby - Function: pkg.installed - Result: Clean - Started: 21:18:08.026795 - Duration: 1170.701 ms
  Name: arvados-api-package-install-gems-deps-pkg-installed - Function: pkg.installed - Result: Changed - Started: 21:18:09.197889 - Duration: 17227.98 ms
----------
          ID: arvados-api-package-install-gem-arvados-cli-installed
    Function: gem.installed
        Name: arvados-cli
      Result: False
     Comment: An exception occurred in this state: Traceback (most recent call last):
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/state.py", line 2423, in call
                  ret = self.states[cdata["full"]](
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
                  ret = self.loader.run(run_func, *args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
                  return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
                  return _func_or_method(*args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1293, in wrapper
                  return f(*args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/gem.py", line 123, in installed
                  if __salt__["gem.install"](
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
                  ret = self.loader.run(run_func, *args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
                  return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
                  return _func_or_method(*args, **kwargs)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/gem.py", line 138, in install
                  return _gem(["install"] + gems + options, ruby, gem_bin=gem_bin, runas=runas)
                File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/gem.py", line 57, in _gem
                  raise CommandExecutionError(ret["stderr"])
              salt.exceptions.CommandExecutionError: ERROR:  Error installing arvados-cli:
                  The last version of faraday-net_http (>= 2.0, < 3.2) to support your Ruby & RubyGems was 3.0.2. Try installing it with `gem install faraday-net_http -v 3.0.2` and then running the current command again
                  faraday-net_http requires Ruby version >= 3.0.0. The current ruby version is 2.7.0.0.
     Started: 21:18:26.431321
    Duration: 145526.479 ms
     Changes:   
  Name: nginx - Function: service.mod_watch - Result: Changed - Started: 21:20:51.977148 - Duration: 41.252 ms

Summary for local
--------------
Succeeded: 138 (changed=100)
Failed:      1
--------------

Per discussion with Tom, there are two ways to address the problem: either make sure we explicitly install arvados-google-api-client first, or else restate the acceptable version ranges in the rest of our Gemspecs.

I prefer the latter because I think it's easier to follow, document, and then remove when we don't need it anymore. Tom has no objection.


Files

focal-gem.dockerfile (384 Bytes) focal-gem.dockerfile Brett Smith, 02/05/2024 03:02 PM
bookworm-gem.dockerfile (418 Bytes) bookworm-gem.dockerfile Brett Smith, 02/05/2024 03:02 PM

Subtasks 2 (0 open2 closed)

Task #21400: Review 21384-ruby27-gemspecResolvedBrett Smith02/05/2024Actions
Task #21458: Review 21384-version-pinsResolvedBrett Smith02/07/2024Actions

Related issues

Related to Arvados - Bug #21583: Running RailsAPI with Passenger implicity requires Ruby 3.3 via base64 0.2.0 lockResolvedBrett SmithActions
Actions

Also available in: Atom PDF