# Copyright 2016 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[
  'external',
  'internalapi',
  'storage',
  'storagemgmt',
  'tenant',
  'management',
].each do |network|
  Facter.add('fqdn_' + network) do
    setcode do
      external_hostname_parts = [
        Facter.value(:hostname),
        network,
        Facter.value(:domain),
      ].reject { |part| part.empty? }
      external_hostname_parts.join(".")
    end
  end
end

# Copyright 2016 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[
  'external',
  'internalapi',
  'storage',
  'storagemgmt',
  'tenant',
  'management',
].each do |network|
  Facter.add('fqdn_' + network) do
    setcode do
      external_hostname_parts = [
        Facter.value(:hostname),
        network,
        Facter.value(:domain),
      ].reject { |part| part.nil? || part.empty? }
      external_hostname_parts.join(".")
    end
  end
end

Fix retrieval of hostname fact based on network.
Fix retrieval of hostname fact based on network.

When Facter.value(:domain) is nil the facts fqdn_<network> are failing
with :

Could not retrieve fact='fqdn_external', resolution='<anonymous>': undefined method `empty?' for nil:NilClass

Change-Id: I3e7fa983d4cf91c6ab25f9aa4c353b364f44826e
Closes-bug: 1595125
