Project

General

Profile

Actions

Bug #26982

closed

Smart proxy fails to start because of: uninitialized constant Concurrent::Edge::Future in Dynflow

Added by Tuur Dutoit almost 5 years ago. Updated almost 5 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
Dynflow
Target version:
-
Difficulty:
Triaged:
No
Fixed in Releases:
Found in Releases:

Description

I just installed the remote-execution plugin on my Foreman server/proxy and now the foreman-proxy service fails to start with the following error:
/usr/lib/ruby/vendor_ruby/dynflow/director.rb:16:in 'block in <class:Director': uninitialized constant Concurrent::Edge::Future (NameError)

Versions:
  • Ubuntu: 18.04
  • Foreman: 1.20.2
  • ruby-foreman-remote-execution: 1.6.4-1
  • ruby-foreman-remote-execution-core: 1.1.3-1
  • ruby-smart-proxy-remote-execution-ssh: 0.2.0-2
  • ruby-smart-proxy-dynflow: 0.2.1-1
  • ruby-smart-proxy-dynflow-core: 0.2.1-1

Files

foreman-proxy-tail.log foreman-proxy-tail.log 4.92 KB Tuur Dutoit, 06/07/2019 08:09 AM
Actions #1

Updated by Tuur Dutoit almost 5 years ago

It looks like this is a packaging issue.

On Ubuntu 16.04, the ruby-concurrent package included version 1.0.0 of concurrent-ruby and 0.2.0 for concurrent-ruby-edge
On Ubuntu 18.04, the ruby-concurrent package includes version 1.0.5 of concurrent-ruby and 0.3.1 for concurrent-ruby-edge

Now, the 0.2.x -> 0.3.x update of concurrent-ruby-edge got rid of several classes, replacing most of them - including Future - with the Promise class. This means, of course, that Concurrent::Edge::Future doesn't exist anymore.

I'm not sure if this can be solved easily by packaging Dynflow another way. In the end, the code will have to be updated to use Promises, as Futures have been deprecated for at least 2 years now...

Actions #3

Updated by Tuur Dutoit almost 5 years ago

  • Status changed from New to Resolved

Oh, thanks! I didn't look there...
I'll close this issue then.

Actions

Also available in: Atom PDF