theforeman / foreman_cockpit

:rocket: Display console and journal of Cockpit-enabled hosts in Foreman - now replaced by Remote Execution's cockpit integration
GNU General Public License v3.0
18 stars 13 forks source link

Broken with current Foreman 1.15.1 - Without Katello? #14

Open LaurentDumont opened 7 years ago

LaurentDumont commented 7 years ago

Hey guys,

Running 1.15.1 and Cockpit-plugin 2.0.3 with Cockpit142-0 on a remote Debian host. If I browse directly to host_ip:9090, I get the Cockpit interface and everything works fine. But in the host page in Foreman, there is no Cockpit icon or graphs.

There is nothing relevant in the production.log. The host page does have a bit of HTML/JS that references Cockpit.

<script src="/assets/hosts-2cc1218e5cacff90b5d5b1eacbf11809020dbca6bf6f0024358ec7096b99cf00.js" data-turbolinks-track="true"></script><script src="/assets/foreman_cockpit/load_partial-6e55161e03a2c7f54effe6d906a227b878d6a8367fc9755ba68f7dbf41715c40.js" data-turbolinks-track="true"></script>

Where could I look to debug this further?

meisterchecho commented 6 years ago

I have the same problem here, I'm using foreman 1.15.3 and cockpit is tfm-rubygem-foreman_cockpit-2.0.3-1-fm1_15.el7.noarch. My system is Centos 7.4.1708

Illydth commented 6 years ago

Sure, I'll add a "me too" here just to get some visibility to the issue. It appears as if the plugin does not work with a katello installation of Foreman, and a foreman installation without katello cannot be changed into a Katello installation either, so it appears this is no-dice all around at this point.

peppos commented 6 years ago

Same problem with foreman-1.15.6-1 and cockpit tfm-rubygem-foreman_cockpit-2.0.3-1.fm1_15 on Centos 7.4.1708

peppos commented 6 years ago

Update. Cockpit is not conpatible with Katello because use the same port TCP 9090. Is possible to change the foreman proxy port: foreman-installer --scenario=katello --foreman-proxy-ssl-port 9093 For me works fine.

Illydth commented 6 years ago

So I apologize for bringing this back up, but Instead of changing the foreman-proxy-ssl-port (from 9090) given that I ALREADY have Proxies installed and running, it'd be nice to simply change the port that the Foreman-Cockpit plugin is looking for to match whatever we set Cockpit to run on.

Re-configuring cockpit to run on a different port is as easy as setting a drop-in file into Systemd...

mkdir /etc/systemd/system/cockpit.socket.d/
vi /etc/systemd/system/cockpit.socket.d/listen.conf
[Socket]
ListenStream=
ListenStream=9091

The problem, of course, is that the foreman-proxy is looking for a specific port (9090 by default). Where do we go to change where foreman-proxy is looking for the cockpit port?

peppos commented 6 years ago

@Illydth I have tried to change cockpit port but in the plugin code is used always the 9090 port. If not possible to change Foreman-proxy port, is possible to use a parameter in the puglin for specify the cockpit port?

Illydth commented 6 years ago

@peppos Yea, that's what I was wondering. I know you're getting pushback from the devs on making changes to Foreman / Katello itself so why not look at whoever's maintaining this plugin and simply get a parameter on installation/execution of the plugin for what port the plugin looks for? That would seem to be the 'right' thing anyway...instead of hard coding a specific port in Foreman for attachment to Cockpit, or trying to get Cockpit to change to use an allowable port...why not just make the plugin itself configurable?

Illydth commented 6 years ago

So I've made this work on my Katello 3.5/Foreman 1.16 system with the following steps:

AS A WORKAROUND:

/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_cockpit-2.0.3/app/views/foreman_cockpit/hosts/_cockpit.html.erb /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_cockpit-2.0.3/app/models/concerns/foreman_cockpit/host_extensions.rb /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_cockpit-2.0.3/app/controllers/concerns/foreman_cockpit/hosts_controller_extensions.rb

peppos commented 6 years ago

@Illydth ok you have right. I don't have experience with Ruby but this is the time to lear it :-) In your opinion is possible to use a fact per customiza the cockpitk port?

hscheffers commented 6 years ago

@Illydth I have done the same thing as you (using port 9093 instead of 9091) but I am getting errors in the foreman log (and cockpit not working...):

2018-02-08 15:11:23 56c08d30 [app] [W] Action failed
 | Foreman::Exception: ERF42-5531 [Foreman::Exception]: unknown permission for hosts#system
 | /usr/share/foreman/app/controllers/application_controller.rb:150:in `action_permission'
 | /usr/share/foreman/app/controllers/concerns/foreman/controller/action_permission_dsl.rb:19:in `action_permission'

Any idea how I can solve these?

kolproductions commented 6 years ago

Personal preference, but I would no way shape or form; change a port number from a distributed product, ie: Cockpit. Sub products which recognize cockpit, and typical 9090 is built-in. Smart Proxy port is easier to change, ie ( 9025 ) and won't break something like ManageIQ. Up to you of course, but 1 product ( Katello - Smart Proxy ) .vs. Every single machine where Cockpit is installed, and modification of additional products integrations.

ehelms commented 6 years ago

Can you give me some clarity here that I am missing to consider this further:

a) Does this issue only affect the host Foreman + Katello itself is running on? b) If not, how does the running smart proxy affect the plugin reaching out to each host? I assumed it reached out to each by their hostname which would bypass hitting the Foreman host itself?

kolproductions commented 6 years ago

Hi Eric,

I was referring to the posted messages in this thread, to where suggestions was to change the default port of Cockpit to something other than port 9090. I post, that I discourage this, as it's much easier to choose another port for Foreman/Katello Smart Proxy: ( ie: 9025 ). The Global picture, that other third party products discover / interface with cockpit running on port 9090, the default.

That being said: Cockpit with Foreman 1.61.1 / Katello 3.5.1 is currently broken, and has been since the release.

Installed: All latest packages: cockpit-system-154-3.el7.noarch cockpit-154-3.el7.x86_64 tfm-rubygem-foreman_cockpit-2.0.3-1.fm1_16.el7.noarch cockpit-bridge-154-3.el7.x86_64 cockpit-ws-154-3.el7.x86_64

The current problem: Choosing a host where cockpit is installed, the button [Cockpit] is displayed. Choosing the box, drop-down of selections as per normal. Choosing any selection, produces no results.

Any action chosen, does not spawn any action.

In /var/log/foreman/production.log

==> /var/log/foreman/production.log <== 2018-04-21 16:32:43 4d322100 [app] [I] Started GET "/cockpit/hosts/4350/system" for 192.168.0.180 at 2018-04-21 16:32:43 -0400 2018-04-21 16:32:43 4d322100 [app] [I] Processing by HostsController#system as / 2018-04-21 16:32:43 4d322100 [app] [I] Parameters: {"id"=>"4350"} 2018-04-21 16:32:43 4d322100 [app] [I] Current user: admin (administrator) 2018-04-21 16:32:43 4d322100 [app] [W] Action failed | Foreman::Exception: ERF42-5531 [Foreman::Exception]: unknown permission for hosts#system | /usr/share/foreman/app/controllers/application_controller.rb:150:in action_permission' | /usr/share/foreman/app/controllers/concerns/foreman/controller/action_permission_dsl.rb:19:inaction_permission' | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.5.1.1/app/controllers/katello/concerns/hosts_controller_extensions.rb:57:in action_permission_with_katello' | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_ansible-1.5.2/app/controllers/foreman_ansible/concerns/hosts_controller_extensions.rb:37:inaction_permission_with_ansible' | /usr/share/foreman/app/controllers/concerns/application_shared.rb:22:in current_permission' | /usr/share/foreman/app/controllers/hosts_controller.rb:668:inresource_base' | /usr/share/foreman/app/controllers/hosts_controller.rb:746:in find_resource' | /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_cockpit-2.0.3/app/controllers/concerns/foreman_cockpit/hosts_controller_extensions.rb:14:inblock (2 levels) in ' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/implicit_render.rb:4:in send_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/base.rb:198:inprocess_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/rendering.rb:10:in process_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/callbacks.rb:20:inblock in process_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:117:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:117:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:555:in block (2 levels) in compile' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:inblock (2 levels) in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:inblock (2 levels) in halting' | /usr/share/foreman/app/controllers/concerns/application_shared.rb:15:in set_timezone' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:inblock in make_lambda' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:inblock in halting' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:inblock in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:in block (2 levels) in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in block (2 levels) in halting' | /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:inclear_thread' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:in block in make_lambda' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in block in halting' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in block in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:inblock (2 levels) in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:inblock (2 levels) in halting' | /usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in set_topbar_sweeper_controller' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:inblock in make_lambda' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:inblock in halting' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:inblock in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:498:in block (2 levels) in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:313:in block (2 levels) in halting' | /opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.4.1/lib/audited/sweeper.rb:14:inaround' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:455:in public_send' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:455:inblock in make_lambda' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:312:inblock in halting' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:497:inblock in around' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:92:in __run_callbacks__' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in_run_process_action_callbacks' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in run_callbacks' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/callbacks.rb:19:inprocess_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/rescue.rb:29:in process_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/instrumentation.rb:32:inblock in process_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/notifications.rb:164:in block in instrument' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/notifications/instrumenter.rb:20:ininstrument' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/notifications.rb:164:in instrument' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/instrumentation.rb:30:inprocess_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/params_wrapper.rb:250:in process_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/railties/controller_runtime.rb:18:inprocess_action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/abstract_controller/base.rb:137:in process' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionview-4.2.5.1/lib/action_view/rendering.rb:30:inprocess' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal.rb:196:in dispatch' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal/rack_delegation.rb:13:indispatch' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_controller/metal.rb:237:in block in action' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:74:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:74:in dispatch' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:43:inserve' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:43:in block in serve' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:ineach' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/journey/router.rb:30:in serve' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/route_set.rb:815:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:incall' | /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.6/lib/apipie/static_dispatcher.rb:65:in call' | /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.6/lib/apipie/extractor/recorder.rb:136:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:in call' | /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.6/lib/apipie/middleware/checksum_in_headers.rb:27:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/etag.rb:24:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/conditionalget.rb:25:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/head.rb:13:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/params_parser.rb:27:incall' | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.5.1.1/lib/katello/params_parser_wrapper.rb:12:in call' | /usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:8:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/flash.rb:260:in call' | /usr/share/foreman/lib/middleware/session_safe_logging.rb:17:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/session/abstract/id.rb:225:in context' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/session/abstract/id.rb:220:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/cookies.rb:560:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/query_cache.rb:36:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:29:inblock in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:88:in __run_callbacks__' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in_run_call_callbacks' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in run_callbacks' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/callbacks.rb:27:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/remote_ip.rb:78:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/debug_exceptions.rb:17:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/show_exceptions.rb:30:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:38:incall_app' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/rack/logger.rb:22:in call' | /opt/theforeman/tfm/root/usr/share/gems/gems/sprockets-rails-3.2.0/lib/sprockets/rails/quiet_assets.rb:13:incall' | /usr/share/foreman/lib/middleware/tagged_logging.rb:18:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/request_id.rb:21:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/methodoverride.rb:22:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/runtime.rb:18:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/activesupport-4.2.5.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/actionpack-4.2.5.1/lib/action_dispatch/middleware/static.rb:116:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/sendfile.rb:113:in call' | /opt/theforeman/tfm/root/usr/share/gems/gems/secure_headers-3.4.1/lib/secure_headers/middleware.rb:12:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/engine.rb:518:in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/application.rb:165:incall' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/railtie.rb:194:in public_send' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/railties-4.2.5.1/lib/rails/railtie.rb:194:inmethod_missing' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/urlmap.rb:66:in block in call' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/urlmap.rb:50:ineach' | /opt/rh/sclo-ror42/root/usr/share/gems/gems/rack-1.6.2/lib/rack/urlmap.rb:50:in call' | /usr/share/passenger/phusion_passenger/rack/thread_handler_extension.rb:74:inprocess_request' | /usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:141:in accept_and_process_next_request' | /usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:109:inmain_loop' | /usr/share/passenger/phusion_passenger/request_handler.rb:455:in block (3 levels) in start_threads' | /opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:incall' | /opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context' 2018-04-21 16:32:43 4d322100 [app] [I] Rendered common/500.html.erb (15.3ms) 2018-04-21 16:32:43 4d322100 [app] [I] Completed 500 Internal Server Error in 38ms (Views: 19.2ms | ActiveRecord: 2.9ms)

ehelms commented 6 years ago

I am trying to understand why the default port needs to be changed to decide how to address this in Katello. To understand if this is simply a breakage accessing cockpit for the Foreman server itself or for all hosts being managed, And if the latter, why the issue exists, what errors users run into.

kolproductions commented 6 years ago

Katello, out of the box ---
uses port 9090 for foreman-proxy, this of course will collide with CockPit installed, as too --- by default uses port 9090. Since CockPit is widely recognized by other software, changing the port of cockpit in my opinion is frivolous.

foreman_proxy: custom_repo: true http: false ssl_port: '9090' templates: false ssl_ca: /etc/foreman-proxy/ssl_ca.pem ssl_cert: /etc/foreman-proxy/ssl_cert.pem ssl_key: /etc/foreman-proxy/ssl_key.pem

Changing foreman-proxy port (9025), is much easier and does not cause an issue. Plugins, tfm-rubygem-foreman_openscap even adjusts the smart parameters for the foreman-proxy port, to 9025,

SO: Foreman 13.x. - 15.x.x, Katello 3.2 - 3.4 --- Cockpit plugin has worked flawlessly, with minor code fixes. https://github.com/theforeman/foreman_cockpit/issues/12
That is 2 years worth of usage.

Foreman 16.x, Katello 3.5 -- Cockpit plugin is completely broken, and as I have posted.
| Foreman::Exception: ERF42-5531 [Foreman::Exception]: unknown permission for hosts#system

Perhaps a fix for this soon please?

LaurentDumont commented 6 years ago

Is there several issues currently impacting Cockpit and Foreman/Katello?

  1. The port conflict - (foreman-proxy uses 8443 I think
  2. The NIL error?

I have a new install of the latest Foreman, I'll see how it behaves right now with Cockpit.

wkleinhenz commented 6 years ago

Just did a clean install of foreman with Katello and cockpit and can confirm that it is still broken, ill try changing the smart proxy port, but on a fresh install this still seems to be an issue.

barcharcraz commented 6 years ago

I'm seeing this on 1.17 without katello

urschuca commented 5 years ago

same here :

Cockpit Version 172. Foreman Version 1.19.0 without katello

No cockpit box on host page.