Problem:
I am trying to create my first proxy on different subnet from my primary foreman install. Eventually I want it to manage DHCP and TFTP for that subnet so I can provision additional servers there. In order to setup the initial server, I am trying to use the bootdisk plugin but I’m running into an issue.
If I use the built in Centos 8 Install Media, it works fine. I would like to use RHEL for my infrastructure since it’s better supported and I have the free Developers subscription for my use at home. The problem is that the free subscription doesnt include rights to use the katello subscription so it doesnt integrate as designed. I instead had to download the iso, share it out as an nfs export, and create a custom install media. I have no problems installing RHEL when I TFTP boot a server on the current subnet.
When I try to use my nfs exported rhel iso as the install media for the bootdisk, I start getting internal server errors. It appears that the bootdisk plugin is only looking for an http server. I dont see any documentation in the plugin README about it only working for http sources.
Error Message displayed :
Oops, we’re sorry but something went wrong Failed to open TCP connection to nfs-1.app.mydomain:80 (Connection refused - connect(2) for “nfs-1.app.mydomain” port 80)
Expected outcome:
Bootdisk creates an ISO using nfs exported
Foreman and Proxy versions:
System Information
Version 2.4.0 © 2009-2021 Paul Kelly and Ohad Levy
Foreman and Proxy plugin versions:
foreman-tasks: 4.0.1
foreman_ansible: 6.2.0
foreman_bootdisk: 17.0.2
foreman_discovery: 16.3.4
foreman_remote_execution: 4.3.0
katello: 4.0.0
Distribution and version:
Red Hat Enterprise Linux release 8.3 (Ootpa)
Other relevant data:
section of /var/log/foreman/production.log
2021-05-02T14:38:09 [I|app|51700130] Started GET “/bootdisk/disks/full_hosts/proxy-1.srv.mydomain” for 10.10.8.226 at 2021-05-02 14:38:09 -0400
2021-05-02T14:38:09 [I|app|51700130] Processing by ForemanBootdisk::DisksController#full_host as HTML
2021-05-02T14:38:09 [I|app|51700130] Parameters: {“id”=>“proxy-1.srv.mydomain”}
2021-05-02T14:38:09 [D|tax|51700130] Current location set to none
2021-05-02T14:38:09 [D|tax|51700130] Current organization set to none
2021-05-02T14:38:09 [D|tax|51700130] Current organization set to MyOrg
2021-05-02T14:38:09 [D|tax|51700130] Current location set to Home
2021-05-02T14:38:09 [D|tax|51700130] Current location set to none
2021-05-02T14:38:09 [D|tax|51700130] Current organization set to none
2021-05-02T14:38:09 [D|tax|51700130] Current organization set to MyOrg
2021-05-02T14:38:09 [D|tax|51700130] Current location set to Home
2021-05-02T14:38:09 [D|tax|51700130] Current location set to none
2021-05-02T14:38:09 [D|tax|51700130] Current organization set to none
2021-05-02T14:38:09 [I|for|51700130] Fetching nfs://nfs-1.app.mydomain/data/media/8/3/images/pxeboot/vmlinuz
2021-05-02T14:38:09 [W|app|51700130] Failed to open TCP connection to nfs-1.app.mydomain:80 (Connection refused - connect(2) for “nfs-1.app.mydomain” port 80)
2021-05-02T14:38:09 [I|app|51700130] Backtrace for ‘Failed to open TCP connection to nfs-1.app.mydomain:80 (Connection refused - connect(2) for “nfs-1.app.mydomain” port 80)’ error (Errno::ECONNREFUSED): Failed to open TCP connection to nfs-1.app.mydomain:80 (Connection refused - connect(2) for “nfs-1.app.mydomain” port 80)
51700130 | /usr/share/ruby/net/http.rb:939:in rescue in block in connect' 51700130 | /usr/share/ruby/net/http.rb:936:in
block in connect’
51700130 | /usr/share/ruby/timeout.rb:93:in block in timeout' 51700130 | /usr/share/ruby/timeout.rb:103:in
timeout’
51700130 | /usr/share/ruby/net/http.rb:935:in connect' 51700130 | /usr/share/ruby/net/http.rb:920:in
do_start’
51700130 | /usr/share/ruby/net/http.rb:909:in start' 51700130 | /usr/share/ruby/net/http.rb:609:in
start’
51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:203:in block in fetch' 51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:193:in
open’
51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:193:in fetch' 51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:148:in
block in generate’
51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:147:in each' 51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:147:in
generate’
51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/services/foreman_bootdisk/iso_generator.rb:28:in generate_full_host' 51700130 | /usr/share/gems/gems/foreman_bootdisk-17.0.2/app/controllers/foreman_bootdisk/disks_controller.rb:46:in
full_host’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/abstract_controller/base.rb:195:in
process_action’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal/rendering.rb:30:in process_action' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/abstract_controller/callbacks.rb:42:in
block in process_action’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:112:in block in run_callbacks' 51700130 | /usr/share/foreman/app/controllers/concerns/foreman/controller/timezone.rb:10:in
set_timezone’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:121:in block in run_callbacks' 51700130 | /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in
clear_thread’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:121:in block in run_callbacks' 51700130 | /usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in
set_topbar_sweeper_controller’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:121:in block in run_callbacks' 51700130 | /usr/share/gems/gems/audited-4.9.0/lib/audited/sweeper.rb:14:in
around’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:121:in block in run_callbacks' 51700130 | /usr/share/gems/gems/audited-4.9.0/lib/audited/sweeper.rb:14:in
around’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:121:in block in run_callbacks' 51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:139:in
run_callbacks’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/abstract_controller/callbacks.rb:41:in process_action' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal/rescue.rb:22:in
process_action’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal/instrumentation.rb:33:in block in process_action' 51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/notifications.rb:180:in
block in instrument’
51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/notifications/instrumenter.rb:24:in instrument' 51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/notifications.rb:180:in
instrument’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal/instrumentation.rb:32:in process_action' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal/params_wrapper.rb:245:in
process_action’
51700130 | /usr/share/gems/gems/activerecord-6.0.3.4/lib/active_record/railties/controller_runtime.rb:27:in process_action' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/abstract_controller/base.rb:136:in
process’
51700130 | /usr/share/gems/gems/actionview-6.0.3.4/lib/action_view/rendering.rb:39:in process' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal.rb:190:in
dispatch’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_controller/metal.rb:254:in dispatch' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb:50:in
dispatch’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb:33:in serve' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/journey/router.rb:49:in
block in serve’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/journey/router.rb:32:in each' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/journey/router.rb:32:in
serve’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb:834:in call' 51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/engine.rb:527:in
call’
51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in public_send' 51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in
method_missing’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/mapper.rb:19:in block in <class:Constraints>' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/mapper.rb:48:in
serve’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/journey/router.rb:49:in block in serve' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/journey/router.rb:32:in
each’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/journey/router.rb:32:in serve' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb:834:in
call’
51700130 | /usr/share/gems/gems/katello-4.0.0/lib/katello/middleware/event_daemon.rb:10:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in call' 51700130 | /usr/share/gems/gems/apipie-dsl-2.3.0/lib/apipie_dsl/static_dispatcher.rb:67:in
call’
51700130 | /usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/static_dispatcher.rb:66:in call' 51700130 | /usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/extractor/recorder.rb:137:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in
call’
51700130 | /usr/share/foreman/lib/foreman/middleware/telemetry.rb:10:in call' 51700130 | /usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/middleware/checksum_in_headers.rb:27:in
call’
51700130 | /usr/share/foreman/lib/foreman/middleware/catch_json_parse_errors.rb:9:in call' 51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in
call’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/etag.rb:27:in call' 51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/conditional_get.rb:27:in
call’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/head.rb:12:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/http/content_security_policy.rb:18:in
call’
51700130 | /usr/share/foreman/lib/foreman/middleware/logging_context_session.rb:22:in call' 51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:266:in
context’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:260:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/cookies.rb:648:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/callbacks.rb:27:in block in call' 51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:101:in
run_callbacks’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/callbacks.rb:26:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/debug_exceptions.rb:32:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/show_exceptions.rb:33:in
call’
51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/rack/logger.rb:37:in call_app' 51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/rack/logger.rb:28:in
call’
51700130 | /usr/share/gems/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in call' 51700130 | /usr/share/foreman/lib/foreman/middleware/logging_context_request.rb:11:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/remote_ip.rb:81:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/request_id.rb:27:in
call’
51700130 | /usr/share/gems/gems/katello-4.0.0/lib/katello/prevent_json_parsing.rb:12:in call' 51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/method_override.rb:24:in
call’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/runtime.rb:22:in call' 51700130 | /usr/share/gems/gems/activesupport-6.0.3.4/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in
call’
51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/executor.rb:14:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/static.rb:126:in
call’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/sendfile.rb:110:in call' 51700130 | /usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/middleware/host_authorization.rb:76:in
call’
51700130 | /usr/share/gems/gems/secure_headers-6.3.0/lib/secure_headers/middleware.rb:11:in call' 51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/engine.rb:527:in
call’
51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in public_send' 51700130 | /usr/share/gems/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in
method_missing’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/urlmap.rb:74:in block in call' 51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/urlmap.rb:58:in
each’
51700130 | /usr/share/gems/gems/rack-2.2.3/lib/rack/urlmap.rb:58:in call' 51700130 | /usr/share/gems/gems/puma-5.1.1/lib/puma/configuration.rb:246:in
call’
51700130 | /usr/share/gems/gems/puma-5.1.1/lib/puma/request.rb:76:in block in handle_request' 51700130 | /usr/share/gems/gems/puma-5.1.1/lib/puma/thread_pool.rb:337:in
with_force_shutdown’
51700130 | /usr/share/gems/gems/puma-5.1.1/lib/puma/request.rb:75:in handle_request' 51700130 | /usr/share/gems/gems/puma-5.1.1/lib/puma/server.rb:431:in
process_client’
51700130 | /usr/share/gems/gems/puma-5.1.1/lib/puma/thread_pool.rb:145:in block in spawn_thread' 51700130 | /usr/share/gems/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in
block in create_with_logging_context’
2021-05-02T14:38:09 [I|app|51700130] Rendering common/500.html.erb within layouts/application
2021-05-02T14:38:09 [I|app|51700130] Rendered common/500.html.erb within layouts/application (Duration: 1.3ms | Allocations: 892)
2021-05-02T14:38:09 [I|app|51700130] Rendered layouts/_application_content.html.erb (Duration: 2.1ms | Allocations: 6014)
2021-05-02T14:38:09 [I|app|51700130] Rendering layouts/base.html.erb
2021-05-02T14:38:09 [I|app|51700130] Rendered layouts/base.html.erb (Duration: 3.7ms | Allocations: 7793)
2021-05-02T14:38:09 [I|app|51700130] Completed 500 Internal Server Error in 237ms (Views: 14.6ms | ActiveRecord: 16.9ms | Allocations: 276693)
I also tried to install a blank httpd server on my nfs server just to trick it out, but recieved a different error
Oops, we’re sorry but something went wrong undefined method `request_uri’ for #URI::Generic:0x00007f079511b018