old_contents: from jnpr.junos.utils.fs import FS
  from jnpr.junos.exception import RpcError
  from lxml.builder import E
  
  
  def facts_domain(junos, facts):
      """
      The following facts are required:
          facts['hostname']
  
      The following facts are assigned:
          facts['domain']
          facts['fqdn']
      """
  
      try:
          domain_filter_xml = E('configuration', E('system', E('domain-name')))
          domain = junos.rpc.get_config(domain_filter_xml)
          domain_name = domain.xpath('.//domain-name')
          if len(domain_name) > 0:
              facts['domain'] = domain_name[0].text
              facts['fqdn'] = facts['hostname'] + '.' + facts['domain']
              return
      except RpcError:
          pass
  
      fs = FS(junos)
      file_content = fs.cat('/etc/resolv.conf') or fs.cat('/var/etc/resolv.conf')
      words = file_content.split() if file_content is not None else ''
      if 'domain' not in words:
          facts['domain'] = None
          facts['fqdn'] = facts['hostname']
      else:
          idx = words.index('domain') + 1
          facts['domain'] = words[idx]
          facts['fqdn'] = facts['hostname'] + '.' + facts['domain']
  
new_contents: from jnpr.junos.utils.fs import FS
  from jnpr.junos.exception import RpcError
  from lxml.builder import E
  
  
  def facts_domain(junos, facts):
      """
      The following facts are required:
          facts['hostname']
  
      The following facts are assigned:
          facts['domain']
          facts['fqdn']
      """
  
      try:
          domain_filter_xml = E('configuration', E('system', E('domain-name')))
  	inherit_option = {'inherit':'inherit'}
          domain = junos.rpc.get_config(filter_xml=domain_filter_xml,
  		                      options=inherit_option)
          domain_name = domain.xpath('.//domain-name')
          if len(domain_name) > 0:
              facts['domain'] = domain_name[0].text
              facts['fqdn'] = facts['hostname'] + '.' + facts['domain']
              return
      except RpcError:
          pass
  
      fs = FS(junos)
      file_content = fs.cat('/etc/resolv.conf') or fs.cat('/var/etc/resolv.conf')
      words = file_content.split() if file_content is not None else ''
      if 'domain' not in words:
          facts['domain'] = None
          facts['fqdn'] = facts['hostname']
      else:
          idx = words.index('domain') + 1
          facts['domain'] = words[idx]
          facts['fqdn'] = facts['hostname'] + '.' + facts['domain']
  
subject: Check the inherited config for the domain-name.