Uploaded image for project: 'Facter'
  1. Facter
  2. FACT-1887

Facter takes very long to run on systems with huge amounts of ZFS filesystems


    • Type: Improvement
    • Status: Needs Information
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: FACT 3.11.1
    • Fix Version/s: None
    • Component/s: None
    • Environment:

      FreeBSD 11.2

    • Template:
    • Team:
      Platform OS
    • QA Risk Assessment:
      Needs Assessment


      The code in Facter that retrieves the ZFS filesystem version is using the command "zfs upgrade" which prints the (hardcoded into the "zfs" binary) version number - and then checks all the filesystems in the computer. Something that sometimes takes a loooooooong time on big servers with a lot of filesystems (hours on one with >88000 ZFS filesystems...)

      On FreeBSD a much better way to get the ZFS version is using the "sysctl" command:

        sysctl vs.zfs.version.zpl

      (Which also returns the ZFS version in use in the kernel and nu just the precompiled version number in the zfs binary)

      It would be nice if there was some way to disable the Facter code that tries to list all the filesystems on these machines (we binary-patched away the "/sbin/zfs list" call (since that many filesystems broke the PuppetDB - the facts got too big) in the Facter binary, but the ZFS version check seems to be somewhere else...






              • Assignee:
                branan Branan Riley
                ptrrkssn Peter Eriksson
              • Votes:
                0 Vote for this issue
                2 Start watching this issue


                • Created:

                  Zendesk Support