diff --git a/lib/puppetserver/ca/config/puppet.rb b/lib/puppetserver/ca/config/puppet.rb index 68e350b..001ed05 100644 --- a/lib/puppetserver/ca/config/puppet.rb +++ b/lib/puppetserver/ca/config/puppet.rb @@ -77,8 +77,9 @@ def load(cli_overrides: {}, logger:, ca_dir_warn: true) end def default_certname - hostname = Facter.value(:hostname) - domain = Facter.value(:domain) + networking = Facter.value(:networking) + hostname = networking[:hostname] + domain = networking[:domain] if domain and domain != '' fqdn = [hostname, domain].join('.') else diff --git a/spec/puppetserver/ca/config/puppet_spec.rb b/spec/puppetserver/ca/config/puppet_spec.rb index e4540e4..e460b93 100644 --- a/spec/puppetserver/ca/config/puppet_spec.rb +++ b/spec/puppetserver/ca/config/puppet_spec.rb @@ -338,16 +338,14 @@ context 'building the default certname' do it 'when there is a domain, concatenates the hostname and domain' do - expect(Facter).to receive(:value).with(:hostname).and_return("foo") - expect(Facter).to receive(:value).with(:domain).and_return("example.com") + expect(Facter).to receive(:value).with(:networking).and_return({domain: 'example.com', hostname: 'foo'}) conf = Puppetserver::Ca::Config::Puppet.new expect(conf.default_certname).to eq("foo.example.com") end it 'when domain is nil, returns just the hostname' do - expect(Facter).to receive(:value).with(:hostname).and_return("foo") - expect(Facter).to receive(:value).with(:domain).and_return(nil) + expect(Facter).to receive(:value).with(:networking).and_return({domain: nil, hostname: 'foo'}) conf = Puppetserver::Ca::Config::Puppet.new expect(conf.default_certname).to eq("foo")