Description of problem: Installer fails when disabling the Infoblox plugin but the plugin is eventually disabled Version-Release number of selected component (if applicable): Satellite stream snap 15 How reproducible: always Steps to Reproduce: 1. Enable Infoblox dhcp and dns plugin (https://access.redhat.com/documentation/en-us/red_hat_satellite/6.13/html/provisioning_hosts/using_infoblox_as_dhcp_and_dns_providers_provisioning) 2. Disable the dns and dhcp plugin satellite-installer --no-enable-foreman-proxy-plugin-dhcp-infoblox --no-enable-foreman-proxy-plugin-dns-infoblox Actual results: Installer Fails but plugin is disabled. # satellite-installer --no-enable-foreman-proxy-plugin-dhcp-infoblox --no-enable-foreman-proxy-plugin-dns-infoblox 2023-05-26 05:14:15 [NOTICE] [root] Loading installer configuration. This will take some time. 2023-05-26 05:14:18 [NOTICE] [root] Running installer with log based terminal output at level NOTICE. 2023-05-26 05:14:18 [NOTICE] [root] Use -l to set the terminal output log level to ERROR, WARN, NOTICE, INFO, or DEBUG. See --full-help for definitions. Package versions are locked. Continuing with unlock. 2023-05-26 05:14:24 [NOTICE] [configure] Starting system configuration. 2023-05-26 05:14:28 [ERROR ] [configure] Evaluation Error: Error while evaluating a Function Call, Class[Foreman_proxy::Plugin::Dns::Infoblox]: 2023-05-26 05:14:28 [ERROR ] [configure] expects a value for parameter 'dns_server' 2023-05-26 05:14:28 [ERROR ] [configure] expects a value for parameter 'username' 2023-05-26 05:14:28 [ERROR ] [configure] expects a value for parameter 'password' (file: /usr/share/foreman-installer/modules/foreman_proxy/manifests/config.pp, line: 28, column: 5) on node satellite.example.com 2023-05-26 05:14:28 [NOTICE] [configure] System configuration has finished. It asks for dns_server,username and password but still fails after entering all of them Expected results: Installer should pass Additional info:
This is most probably a result of https://github.com/theforeman/puppet-foreman_proxy/commit/ae3f5760ca238e4352e422649155979d23950837
or, more generally speaking, https://github.com/theforeman/puppet-foreman_proxy/pull/779
couple more observations (sorry for the spam): 1. this does only happen for DNS, not DHCP! 2. the problem is that while you pass --no-enable-foreman-proxy-plugin-dns-infoblox to disable the plugin, the value of foreman-proxy-dns-provider is still "infoblox" and the infoblox module is still evaluated 3. it works fine if one does --no-enable-foreman-proxy-plugin-dns-infoblox --reset-foreman-proxy-dns-provider (as this resets the provider to nsupdate) I am torn between "you're disabling the plugin wrongly" (= doc bug) and "the installer should handle this smarter" cc @ekohlvan
I'm leaning to "you're disabling the plugin wrongly", which we don't document today. Some more observations: * Just passing --no-enable-foreman-proxy-plugin-dns-infoblox stops managing it, but doesn't clean up anything. * Disabling the dns module entirely is probably better than resetting the provider to nsupdate, because that may install ISC BIND. * The same is true for DHCP, but there we don't expose it clearly So from the top of my head I think these commands should be the correct way to remove it: satellite-installer --foreman-proxy-dns false --reset-foreman-proxy-dns-provider --no-enable-foreman-proxy-plugin-dns-infoblox dnf remove rubygem-smart_proxy_dns_infoblox We could look at implementing ensure=absent to make this easier, but don't do this today.
It may not be obvious, but to trace the version it was included: $ cd ~/dev/puppet-foreman_proxy $ git tag --contains ae3f5760ca238e4352e422649155979d23950837 --sort=version:refname | head -n 1 24.0.0 $ cd ~/dev/foreman-installer $ git checkout 3.5-stable $ ./bin/module-versions | grep 'puppet-foreman_proxy ' puppet-foreman_proxy 24.1.0 24.1-stable A bit further digging (inspecting git log of Puppetfile.lock) shows it was first included in foreman-installer 3.5.0-rc1, which means it's also present in Satellite 6.13.