[RFE] Allow user to set the load balancer or a custom url as content source for host
Clone from bugzilla 1873936
Description of problem:
For the Satellite environment with load balance Capsules setup, user would like to:
1. Download the kickstart contents through the load balancer instead of the Capsule directly when provisioning a host.
2. Register the host through the load balancer instead of the Capsule directly.
To do this, Satellite will need a way to assign a load balancer as a content source which is currently not possible.
As a workaround, some users add a fake Capsule(the load balancer FQDN) to the 'Web UI -> Infrastructure -> Capsules' but it is causing several unexpected issues because Satellite thought those fake Capsules as a normal Capsules with features.
1. The fake capsule is assigned to run remote execution/ansible jobs which will cause the job to fail.
2. The remove orphaned content tasks also attempt to remove the contents through the fake Capsules because they have Pulp feature.
I think they are 2 ways to add this feature.
1. Add a "load_balancer" host parameter which can override the "host.content_source". If the "load_balancer" host parameter is set, then the "repository_url" helper method and "subscription_manager_configuration_url" helper method will use it. For more details please check "app/helpers/katello/katello_urls_helper.rb" file.
2. Alternatively, we need to support load balancer to add as a Capsule. The "load balancer" Capsules will have no features or only have new "load_balancer" feature(maybe). It will not attempt to refresh any features when we save it. This requires more work then the first suggestion.