Katello : Subscription manager fails to register

Problem:

When I provision a new VM trough VMWare + kickstart the server is not able to register to RHEL and return:

HTTP error (422 - Unknown): Please unregister or remove hosts which match this host before registering: test-foreman.mylan

The configuration is the same of 1.20/1.21 and it was working properly, after the upgrade to 1.22 it fails.
If I disassociate and delete the host I can register it without problems (plus changing location/env/etc)

Expected outcome:

When I provision a VM, it will be registered automatically as the same of 1.20/21 with the kickstart file

Foreman and Proxy versions:

OS: RHEL 7.x
Foreman 1.20
Katello 3.12
foreman virt-who 0.4.1

Foreman and Proxy plugin versions:

Other relevant data:

part of my kickstart file is:

subscription-manager register --username myname--password mypass
subscription-manager refresh
subscription-manager attach --auto
yum -y install http://fedorapeople.org/groups/katello/releases/yum/3.8/client/el7/x86_64/katello-client-repos-latest.rpm
yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install subscription-manager
yum -y install katello-agent
yum -y install http://myforeman/pub/katello-ca-consumer-myforeman-1.0-1.noarch.rpm
subscription-manager register --org="my-vCentre" --activationkey="at-rhel7" 
subscription-manager attach --auto

when I try to register the server manually (or during the provision):

subscription-manager register --org="my-vCentre" --activationkey="at-rhel7"
HTTP error (422 - Unknown): Please unregister or remove hosts which match this host before registering: test-foreman.mylan
2019-07-03T11:55:49 [I|app|85761d37] Started POST "/rhsm/consumers?owner=my-vCentre&activation_keys=at-rhel7" for 10.140.16.117 at 2019-07-03 11:55:49 +0100
2019-07-03T11:55:49 [I|app|85761d37] Processing by Katello::Api::Rhsm::CandlepinProxiesController#consumer_activate as JSON
2019-07-03T11:55:49 [I|app|85761d37]   Parameters: {"facts"=>"[FILTERED]", "installedProducts"=>[{"productName"=>"Red Hat Enterprise Linux Server", "arch"=>"x86_64", "version"=>"7.6", "productId"=>"69"}], "type"=>"system", "name"=>"test-foreman.mylan", "contentTags"=>["rhel-7", "rhel-7-server"], "owner"=>"my-vCentre", "activation_keys"=>"at-rhel7"}
2019-07-03T11:55:49 [E|kat|85761d37] Katello::Errors::RegistrationError: Please unregister or remove hosts which match this host before registering: test-foreman.mylan
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.12.0/app/models/katello/host/subscription_facet.rb:270:in `find_host'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.12.0/app/models/katello/host/subscription_facet.rb:190:in `find_or_create_host'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.12.0/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb:230:in `consumer_activate'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/base.rb:194:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:109:in `block in run_callbacks'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.12.0/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb:35:in `repackage_message'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/share/foreman/app/controllers/api/v2/base_controller.rb:163:in `disable_json_root'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/share/foreman/app/controllers/concerns/foreman/controller/timezone.rb:10:in `set_timezone'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in `set_topbar_sweeper_controller'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.7.1/lib/audited/sweeper.rb:14:in `around'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.7.1/lib/audited/sweeper.rb:14:in `around'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:136:in `run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/notifications.rb:168:in `block in instrument'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/notifications.rb:168:in `instrument'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.12.0/app/controllers/katello/concerns/api/api_controller.rb:39:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/base.rb:134:in `process'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionview-5.2.1/lib/action_view/rendering.rb:32:in `process'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal.rb:191:in `dispatch'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal.rb:252:in `dispatch'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:35:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/engine.rb:524:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:35:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.14/lib/apipie/static_dispatcher.rb:65:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.14/lib/apipie/extractor/recorder.rb:137:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/usr/share/foreman/lib/foreman/middleware/telemetry.rb:10:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.14/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
/usr/share/foreman/lib/foreman/middleware/catch_json_parse_errors.rb:9:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/tempfile_reaper.rb:15:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/etag.rb:25:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/conditional_get.rb:38:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/usr/share/foreman/lib/foreman/middleware/logging_context_session.rb:22:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:232:in `context'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:226:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/rack/logger.rb:38:in `call_app'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/rack/logger.rb:28:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
/usr/share/foreman/lib/foreman/middleware/logging_context_request.rb:11:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.12.0/lib/katello/prevent_json_parsing.rb:12:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/runtime.rb:22:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/sendfile.rb:111:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/secure_headers-6.0.0/lib/secure_headers/middleware.rb:13:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/engine.rb:524:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/urlmap.rb:68:in `block in call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `call'
/usr/share/passenger/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_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:in `main_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-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
2019-07-03T11:55:49 [I|app|85761d37] Completed 422 Unprocessable Entity in 340ms (Views: 0.8ms | ActiveRecord: 126.1ms)

the weird part is:

test1

after installation the server seems registered but it’s not registered (yum update/repolist return the system not registered).

I forgot the rhsm.log of the new host:

2019-07-03 10:47:27,030 [INFO] subscription-manager:26245:MainThread @managercli.py:457 - X-Correlation-ID: 6d081d606f1548578cce567116912470
2019-07-03 10:47:27,030 [INFO] subscription-manager:26245:MainThread @managercli.py:346 - Client Versions: {'subscription-manager': '1.21.10-3.el7_6'}
2019-07-03 10:47:27,031 [INFO] subscription-manager:26245:MainThread @connection.py:871 - Connection built: host=myforeman port=443 handler=/rhsm auth=ident
ity_cert ca_dir=/etc/rhsm/ca/ insecure=False
2019-07-03 10:47:27,032 [INFO] subscription-manager:26245:MainThread @connection.py:871 - Connection built: host=myforeman port=443 handler=/rhsm auth=none
2019-07-03 10:47:27,032 [INFO] subscription-manager:26245:MainThread @managercli.py:346 - Client Versions: {'subscription-manager': '1.21.10-3.el7_6'}
2019-07-03 10:47:27,051 [INFO] subscription-manager:26245:MainThread @managercli.py:322 - Consumer Identity name=None uuid=None
2019-07-03 10:47:27,053 [INFO] subscription-manager:26245:MainThread @managercli.py:322 - Consumer Identity name=None uuid=None
2019-07-03 10:47:27,054 [INFO] subscription-manager:26245:MainThread @connection.py:871 - Connection built: host=myforeman port=443 handler=/rhsm auth=none
2019-07-03 10:47:27,085 [INFO] subscription-manager:26245:MainThread @dmiinfo.py:75 - Using dmidecode dump file: /dev/mem
2019-07-03 10:47:27,906 [INFO] subscription-manager:26245:MainThread @connection.py:588 - Response: status=422, request="POST /rhsm/consumers?owner=ATS-vCentre&activation_keys=a
t-rhel7"
2019-07-03 10:47:27,908 [ERROR] subscription-manager:26245:MainThread @managercli.py:1122 - HTTP error (422 - Unknown): Please unregister or remove hosts which match this host b
efore registering: myhost
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/subscription_manager/managercli.py", line 1119, in _do_command
    type=self.options.consumertype
  File "/usr/lib64/python2.7/site-packages/rhsmlib/services/register.py", line 80, in register
    type=type
  File "/usr/lib64/python2.7/site-packages/rhsm/connection.py", line 969, in registerConsumer
    return self.conn.request_post(url, params)
  File "/usr/lib64/python2.7/site-packages/rhsm/connection.py", line 696, in request_post
    return self._request("POST", method, params, headers=headers)
  File "/usr/lib64/python2.7/site-packages/rhsm/connection.py", line 719, in _request
    info=info, headers=headers)
  File "/usr/lib64/python2.7/site-packages/rhsm/connection.py", line 597, in _request
    self.validateResponse(result, request_type, handler)
  File "/usr/lib64/python2.7/site-packages/rhsm/connection.py", line 656, in validateResponse
    raise RestlibException(response['status'], error_msg, response.get('headers'))
RestlibException: HTTP error (422 - Unknown): Please unregister or remove hosts which match this host before registering: myhost

something similar is present here:

https://bugzilla.redhat.com/show_bug.cgi?id=1715783

Thanks for the detailed explanation @kraba Looks like that was a check that was added recently.

@Jonathon_Turel do you have any ideas around this?

It sounds related to this[1] in which reprovisioning a host is failing in 3.12 for the mentioned reason. Is this only happening for you on hosts that are reprovisioned or altogether new hosts as well? You did say “new” but I want to make sure I understand fully.

[1] Bug #27251: subscription-manager fails: HTTP error (422 - Unknown): Please unregister or remove hosts which match this host before registering: <hostname> - Katello - Foreman

the logs were taken from a new test server, provisioned exclusively to catch the logs…so also on new server (new IP/hostname/etc).

I see. In the error messages you shared the hosts ‘test-foreman.mylan’ and ‘myhost’ are mentioned. Do you already have hosts with these names? In 3.12 we disabled the behavior of allowing newly registered hosts to assume the profile of existing hosts even if you know them to be the same host. The intention there was to prevent unwanted unregistrations of hosts. This can be avoided by first unregistering (or removing) those existing hosts as the message states. That can be done via subscription-manager or clicking the ‘Unregister’ button from the Hosts -> Content Hosts view for the host(s) in question.

If that’s not the case then this error is because of another nuance of the changes in 3.12 which is that we not longer allow multiple hosts to share the system fact called ‘dmi.system.uuid’ You can get the value in a few ways, for example subscription-manager facts | grep uuid from the client itself.

Then you can check the Foreman/Katello UI by searching for all hosts with that uuid, for example: facts.dmi::system::uuid = 4C41CF45-26BA-4FD9-A317-5B7AEC4A5710 from the /hosts page

Would be curious to know if you have multiple hosts with the same UUID and if that comes as a surprise to you at all, or anything like that. Let us know what you find.

1 Like

Thanks, now it make sense for me.
I provisioned a new server and it was able to register properly, I unregistered it from foreman and delete it from my vcentre trough foreman, I recreate it with same name/ip and it was able to register another time.

Thanks for explanation, from now if I have to re-register a server the best practice will unregister it from foreman and run a new registration.

Thanks!

2 Likes

Hello Jonathon,
thanks for the explanation.
I find this double-step deletion process (delete the host from foreman so that you get the Foreman discovery option and also delete the content host separately) kinda irritating.
When deleting a host from Foreman (“Are you sure you want to delete host foo.bar? This action is irreversible.”) i would also propose that there is a way to also delete the associated content host.

The deletion message
“Are you sure you want to delete host rhevm-ifi.uibk.ac.at? This action is irreversible.”
suggests that it wipes this host from foreman, so please also clean up the content host.

Alex

We’re making some changes in this area to make life easier. Please keep an eye on the issue I linked in my earlier post. It’s currently marked for inclusion in Katello 3.12.2 and will be in Katello 3.13 as a result.

The pull request is open for it so feel free to take a look and share any feedback!