Foreman 1.21/1.22 - Ubuntu 18.04 - Incompatible dependencies versions for ssh remote execution plugin

Problem:
ruby-smart-proxy-remote-execution-ssh-core Incompatible version

Expected outcome:
ruby-smart-proxy-remote-execution-ssh-core to be updated to be compatible with ruby-smart-proxy-dynflow-core (<= 0.2.2-1).
Right now it only supports ruby-smart-proxy-dynflow-core (< 0.2.0), which is not available in Ubuntu 18.04

Foreman and Proxy versions:
1.21.3 & 1.22

Foreman and Proxy plugin versions:
ruby-smart-proxy-dynflow-core 0.2.2-1
ruby-smart-proxy-remote-execution-ssh-core 0.1.3-1
Other relevant data:
foreman-proxy fails to start after enabling ssh remote execution plugin

● foreman-proxy.service - Foreman Proxy
   Loaded: loaded (/lib/systemd/system/foreman-proxy.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2019-07-12 15:01:37 BST; 41min ago
  Process: 12602 ExecStart=/usr/share/foreman-proxy/bin/smart-proxy --no-daemonize (code=exited, status=1/FAILURE)
 Main PID: 12602 (code=exited, status=1/FAILURE)

Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:19:in `block in system_require'
Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `each'
Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `system_require'
Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/share/foreman-proxy/lib/bundler_helper.rb:22:in `require_groups'
Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/share/foreman-proxy/lib/smart_proxy_main.rb:33:in `<top (required)>'
Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
Jul 12 15:01:37 lonlforeman01 smart-proxy[12602]:         from /usr/share/foreman-proxy/bin/smart-proxy:5:in `<main>'
Jul 12 15:01:37 lonlforeman01 systemd[1]: foreman-proxy.service: Main process exited, code=exited, status=1/FAILURE
Jul 12 15:01:37 lonlforeman01 systemd[1]: foreman-proxy.service: Failed with result 'exit-code'.
Jul 12 15:01:37 lonlforeman01 systemd[1]: Failed to start Foreman Proxy.
# apt-get install ruby-smart-proxy-remote-execution-ssh-core 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 ruby-smart-proxy-remote-execution-ssh-core : Depends: ruby-smart-proxy-dynflow-core (< 0.2.0) but 0.2.2-1 is to be installed
E: Unable to correct problems, you have held broken packages.
root@lonlforeman01:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

Hi there,

same on debian 9.
Only solution is to remove RE.

I think the package needs to be updated to meet requirements.

What plugin repository are you using? ruby-smart-proxy-remote-execution-ssh-core was replaced by ruby-foreman-remote-execution-core a long time ago.

Hi,

i am using the official deb repository.
But this is a upgraded version 1.21 -> 1.22 -> 1.23

Do you know when the changed happened?

Sorry, this are the current installed debs (selected from foreman-installer, if i want to add RE Plugin and Proxy):

ii ruby-foreman-remote-execution 1.8.2-1 all Foreman Remote Execution Plugin
ii ruby-foreman-remote-execution-core 1.1.6-1 all Foreman remote execution - core bits
ii ruby-smart-proxy-remote-execution-ssh 0.2.1-1 all SSH remote execution provider for Foreman smart proxy

I have just removed all remote packages and ran foreman-installer again to avoid old packages:

 Systemd start for foreman-proxy failed!
journalctl log for foreman-proxy:
-- Logs begin at Wed 2019-07-31 02:23:25 CEST, end at Fri 2019-08-02 14:03:13 CEST. --
Aug 02 14:03:12 <servername> systemd[1]: Starting Foreman Proxy...
Aug 02 14:03:13 <servername> smart-proxy[19168]: /usr/lib/ruby/vendor_ruby/foreman_remote_execution_core.rb:75:in `<module:ForemanRemoteExecutionCore>': uninitialized constant ForemanTasksCore::TaskLauncher (NameError)
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/foreman_remote_execution_core.rb:3:in `<top (required)>'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:41:in `block in system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:37:in `each'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:37:in `system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:19:in `block in system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `each'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/share/foreman-proxy/lib/bundler_helper.rb:22:in `require_groups'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/share/foreman-proxy/lib/smart_proxy_main.rb:33:in `<top (required)>'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/share/foreman-proxy/bin/smart-proxy:5:in `<main>'
Aug 02 14:03:13 <servername> systemd[1]: foreman-proxy.service: Main process exited, code=exited, status=1/FAILURE
Aug 02 14:03:13 <servername> systemd[1]: Failed to start Foreman Proxy.
Aug 02 14:03:13 <servername> systemd[1]: foreman-proxy.service: Unit entered failed state.
Aug 02 14:03:13 <servername> systemd[1]: foreman-proxy.service: Failed with result 'exit-code'.

/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/systemd.rb:167:in `rescue in start'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/systemd.rb:163:in `start'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:103:in `block (3 levels) in <module:Puppet>'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:491:in `set'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:568:in `sync'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:114:in `sync'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:239:in `sync'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:134:in `sync_if_needed'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:80:in `perform_changes'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluate'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:259:in `apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:279:in `eval_resource'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `call'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `block (2 levels) in evaluate'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:519:in `block in thinmark'
/opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:518:in `thinmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `block in evaluate'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:121:in `traverse'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:173:in `evaluate'
/usr/lib/ruby/vendor_ruby/kafo/modules/kafo_configure/lib/puppet/parser/functions/add_progress.rb:30:in `evaluate_with_trigger'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:239:in `block (2 levels) in apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:519:in `block in thinmark'
/opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:518:in `thinmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:238:in `block in apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:161:in `with_destination'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:146:in `as_logging_destination'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:237:in `apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:186:in `block (2 levels) in apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:519:in `block in thinmark'
/opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:518:in `thinmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:185:in `block in apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:232:in `block in benchmark'
/opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:231:in `benchmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:184:in `apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:366:in `run_internal'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:234:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:211:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:355:in `apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:280:in `block (2 levels) in main'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:280:in `block in main'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:233:in `main'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:174:in `run_command'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:375:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:667:in `exit_on_fail'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:375:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:139:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
 /Stage[main]/Foreman_proxy::Service/Service[foreman-proxy]/ensure: change from 'stopped' to 'running' failed: Systemd start for foreman-proxy failed!
journalctl log for foreman-proxy:
-- Logs begin at Wed 2019-07-31 02:23:25 CEST, end at Fri 2019-08-02 14:03:13 CEST. --
Aug 02 14:03:12 <servername> systemd[1]: Starting Foreman Proxy...
Aug 02 14:03:13 <servername> smart-proxy[19168]: /usr/lib/ruby/vendor_ruby/foreman_remote_execution_core.rb:75:in `<module:ForemanRemoteExecutionCore>': uninitialized constant ForemanTasksCore::TaskLauncher (NameError)
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/foreman_remote_execution_core.rb:3:in `<top (required)>'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:41:in `block in system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:37:in `each'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:37:in `system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:19:in `block in system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `each'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `system_require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/share/foreman-proxy/lib/bundler_helper.rb:22:in `require_groups'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/share/foreman-proxy/lib/smart_proxy_main.rb:33:in `<top (required)>'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Aug 02 14:03:13 <servername> smart-proxy[19168]:         from /usr/share/foreman-proxy/bin/smart-proxy:5:in `<main>'
Aug 02 14:03:13 <servername> systemd[1]: foreman-proxy.service: Main process exited, code=exited, status=1/FAILURE
Aug 02 14:03:13 <servername> systemd[1]: Failed to start Foreman Proxy.
Aug 02 14:03:13 <servername> systemd[1]: foreman-proxy.service: Unit entered failed state.
Aug 02 14:03:13 <servername> systemd[1]: foreman-proxy.service: Failed with result 'exit-code'.

That looks like too new remote execution core and too old foreman tasks core

As far as i can see, i’ve gut the recent packages installed:

ii ruby-foreman-tasks 0.15.7-1 all Tasks management engine for Foreman.
ii ruby-foreman-tasks-core 0.2.6-1 all Foreman tasks - core bits