Relaxing smart-proxy setting presence assumption

Hey,

in order to solve

https://projects.theforeman.org/issues/2720

I need to be able to set an empty smart-proxy setting. It looks like all settings which have default value in our stack are required to be present and not to be empty:

default_settings :dns_server => 'localhost'

I am thinking relaxing this assumption to just be present and empty value can be allowed. Opinions?

Only the nsupdate, nsupdate_gss and dnscmd providers have these settings. Given the issue I think this only refects the nsupdate and nsupdate providers but not dnscmd.

I don’t mind allowing an empty value, but don’t think we should default to it. It could break setups where you have hidden masters or accidentally update production servers instead of you lab clone where you test an upgrade.

Definitely not defaulting to it, I just want to allow users to set blank value for server option with meaning of “use master server” for nsupdate.

Here is the PR. I am assuming that installer/puppet lets us to send an empty value @ekohl:

The installer only allows an empty string, not an actual null value. I think your patch would accept that.