Jira (FACT-2982) Facter 4 outputs mountpoints facts differently on Solaris

11 views
Skip to first unread message

Gabriel Nagy (Jira)

unread,
Mar 16, 2021, 9:53:03 AM3/16/21
to puppe...@googlegroups.com
Luchian Nemes created an issue
 
Facter / Bug FACT-2982
Facter 4 outputs mountpoints facts differently on Solaris
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2021/03/16 6:52 AM
Priority: Normal Normal
Reporter: Luchian Nemes

Running puppet facts diff on AIX 7.1 and AIX 7.2 gives the following output:

{
  "mountpoints./.capacity": {
    "new_value": "24.86%",
    "old_value": "57.10%"
  },
  "mountpoints./.used": {
    "new_value": "509.04 MiB",
    "old_value": "2.00 GiB"
  },
  "mountpoints./.used_bytes": {
    "new_value": 533770240,
    "old_value": 2147483648
  },
  "mountpoints./admin.capacity": {
    "new_value": "0.28%",
    "old_value": "50.07%"
  },
  "mountpoints./admin.used": {
    "new_value": "364.00 KiB",
    "old_value": "128.00 MiB"
  },
  "mountpoints./admin.used_bytes": {
    "new_value": 372736,
    "old_value": 134217728
  },
  "mountpoints./home.capacity": {
    "new_value": "0.02%",
    "old_value": "50.01%"
  },
  "mountpoints./home.used": {
    "new_value": "1004.00 KiB",
    "old_value": "4.00 GiB"
  },
  "mountpoints./home.used_bytes": {
    "new_value": 1028096,
    "old_value": 4294967296
  },
  "mountpoints./opt.capacity": {
    "new_value": "18.86%",
    "old_value": "55.20%"
  },
  "mountpoints./opt.used": {
    "new_value": "1.13 GiB",
    "old_value": "6.00 GiB"
  },
  "mountpoints./opt.used_bytes": {
    "new_value": 1214803968,
    "old_value": 6442450944
  },
  "mountpoints./tmp.capacity": {
    "new_value": "3.41%",
    "old_value": "50.87%"
  },
  "mountpoints./tmp.used": {
    "new_value": "69.89 MiB",
    "old_value": "2.00 GiB"
  },
  "mountpoints./tmp.used_bytes": {
    "new_value": 73281536,
    "old_value": 2147483648
  },
  "mountpoints./usr.capacity": {
    "new_value": "43.94%",
    "old_value": "64.08%"
  },
  "mountpoints./usr.used": {
    "new_value": "2.20 GiB",
    "old_value": "5.00 GiB"
  },
  "mountpoints./usr.used_bytes": {
    "new_value": 2358939648,
    "old_value": 5368709120
  },
  "mountpoints./var.capacity": {
    "new_value": "4.85%",
    "old_value": "51.24%"
  },
  "mountpoints./var.used": {
    "new_value": "446.80 MiB",
    "old_value": "9.00 GiB"
  },
  "mountpoints./var.used_bytes": {
    "new_value": 468504576,
    "old_value": 9663676416
  },
  "mountpoints./var/adm/ras/livedump.capacity": {
    "new_value": "0.14%",
    "old_value": "50.04%"
  },
  "mountpoints./var/adm/ras/livedump.used": {
    "new_value": "368.00 KiB",
    "old_value": "256.00 MiB"
  },
  "mountpoints./var/adm/ras/livedump.used_bytes": {
    "new_value": 376832,
    "old_value": 268435456
  }
}

Note: EXCLUDE_LIST from https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/face/facts.rb#L5 needs to be manually emptied to see above results.
More info: https://docs.google.com/document/d/1QlX_mv17fZ4eVZa9zHxvTRVJ5sq88aj3GjUC6lVFiz0/edit#heading=h.gnnvlmulav1v

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Gabriel Nagy (Jira)

unread,
Mar 16, 2021, 9:56:03 AM3/16/21
to puppe...@googlegroups.com
Gabriel Nagy updated an issue
Change By: Gabriel Nagy
Running *puppet facts diff* on AIX 7.1 and AIX 7.2 gives the following output:
{code:json}
{
  "mountpoints./ proc . capacity available ": {
    "new_value":
"24.86%" null ,
    "old_value": "
57.10% 0 bytes "
  },
  "mountpoints./
proc . used available_bytes ": {
    "new_value":
null,
" 509 old_value": 0
        },
        "mountpoints
. 04 MiB /proc.capacity " : {
          "new_value": null
,
    "old_value": "
2.00 GiB 100% "
  },
  "mountpoints./
proc . used_bytes device ": {
    "new_value":
533770240 null ,
    "old_value":
2147483648 "proc"
  },
  "mountpoints./
admin proc . capacity filesystem ": {
    "new_value":
"0.28%" null ,
    "old_value": "
50.07% proc "
  },
  "mountpoints./
admin proc . used options.0 ": {
    "new_value":
"364.00 KiB" null ,
    "old_value": "
128.00 MiB dev=8600000 "
  },
  "mountpoints./
admin proc . used_bytes size ": {
    "new_value":
372736 null ,
    "old_value":
134217728 "0 bytes"
  },
  "mountpoints./
home proc . capacity size_bytes ": {
    "new_value":
null,
" old_value": 0
        },
        "mountpoints
. 02% /proc.used " : {
          "new_value": null
,
    "old_value": "
50.01% 0 bytes "
  },
  "mountpoints./
home proc . used used_bytes ": {
    "new_value":
null,
" 1004 old_value": 0
        },
        "mountpoints
. 00 KiB /system/contract.available " : {
          "new_value": null
,
    "old_value": "
4.00 GiB 0 bytes "
  },
  "mountpoints./
home system/contract . used_bytes available_bytes ": {
    "new_value":
1028096 null ,
    "old_value":
4294967296 0
  },
  "mountpoints./
opt system/contract .capacity": {
    "new_value":
"18.86%" null ,
    "old_value": "
55.20 100 %"
  },
  "mountpoints./
opt system/contract . used device ": {
    "new_value":
"1.13 GiB" null ,
    "old_value": "
6.00 GiB ctfs "
  },
  "mountpoints./
opt system/contract . used_bytes filesystem ": {
    "new_value":
1214803968 null ,
    "old_value":
6442450944 "ctfs"
  },
  "mountpoints./
tmp system/contract . capacity options.0 ": {
    "new_value":
"3.41%" null ,
    "old_value": "
50.87% dev=8680001 "
  },
  "mountpoints./
tmp system/contract . used size ": {
    "new_value":
"69.89 MiB" null ,
    "old_value": "
2.00 GiB 0 bytes "
  },
  "mountpoints./
tmp system/contract . used_bytes size_bytes ": {
    "new_value":
73281536 null ,
    "old_value":
2147483648 0
  },
  "mountpoints./
usr system/contract . capacity used ": {
    "new_value":
"43.94%" null ,
    "old_value": "
64.08% 0 bytes "
  },
  "mountpoints./
usr system/contract . used used_bytes ": {
    "new_value":
null,
" 2 old_value": 0
        },
        "mountpoints
. 20 GiB /system/object.available " : {
          "new_value": null
,
    "old_value": "
5.00 GiB 0 bytes "
  },
  "mountpoints./
usr system/object . used_bytes available_bytes ": {
    "new_value":
2358939648 null ,
    "old_value":
5368709120 0
  },
  "mountpoints./
var system/object .capacity": {
    "new_value":
"4.85%" null ,
    "old_value": "
51.24 100 %"
  },
  "mountpoints./
var system/object . used device ": {
    "new_value":
"446.80 MiB" null ,
    "old_value": "
9.00 GiB objfs "
  },
  "mountpoints./
var system/object . used_bytes filesystem ": {
    "new_value":
468504576 null ,
    "old_value":
9663676416 "objfs"
  },
  "mountpoints./
var system / adm/ras/livedump object . capacity options.0 ": {
    "new_value":
null,
" 0 old_value": "dev=8740001"
        },
        "mountpoints
. 14% /system/object.size " : {
          "new_value": null
,
    "old_value": "
50.04% 0 bytes "
  },
  "mountpoints./
var system / adm/ras/livedump object . used size_bytes ": {
    "new_value":
null,
" 368 old_value": 0
        },
        "mountpoints
. 00 KiB /system/object.used " : {
          "new_value": null
,
    "old_value": "
256.00 MiB 0 bytes "
  },
  "mountpoints./
var system / adm/ras/livedump object .used_bytes": {
    "new_value":
376832 null ,
    "old_value":
268435456 0
  }
,
{code }

More info: [https://docs.google.com/document/d/1QlX_mv17fZ4eVZa9zHxvTRVJ5sq88aj3GjUC6lVFiz0/edit#heading=h.gnnvlmulav1v]

Some mountpoints are not reported at all by Facter 4. Facter 3 parses
{ code {/etc/mnttab } } for mountpoints, while Facter 4 uses the {{sys-filesystem}} gem.
Note
Relevant Facter 3 code
: *EXCLUDE_LIST* from https://github.com/puppetlabs/ puppet facter /blob/ 6 3 .x/lib/ puppet src / face/ facts /solaris/filesystem_resolver . rb cc # L5 needs to be manually emptied to see above results. L34
More info Relevant Facter 4 code : [ https:// docs github . google. com/ document puppetlabs / d facter / 1QlX_mv17fZ4eVZa9zHxvTRVJ5sq88aj3GjUC6lVFiz0 blob / edit#heading=h main/lib/facter/resolvers/solaris/mountpoints . gnnvlmulav1v] rb#L32

Gabriel Nagy (Jira)

unread,
Mar 16, 2021, 9:57:03 AM3/16/21
to puppe...@googlegroups.com
Gabriel Nagy updated an issue
Running *puppet facts diff* on AIX 7.1 and AIX 7.2 Solaris 11 gives the following output:
{code:json}
        "mountpoints./proc.available": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./proc.available_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./proc.capacity": {
          "new_value": null,
          "old_value": "100%"
        },
        "mountpoints./proc.device": {
          "new_value": null,
          "old_value": "proc"
        },
        "mountpoints./proc.filesystem": {
          "new_value": null,
          "old_value": "proc"
        },
        "mountpoints./proc.options.0": {
          "new_value": null,
          "old_value": "dev=8600000"
        },
        "mountpoints./proc.size": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./proc.size_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./proc.used": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./proc.used_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./system/contract.available": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./system/contract.available_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./system/contract.capacity": {
          "new_value": null,
          "old_value": "100%"
        },
        "mountpoints./system/contract.device": {
          "new_value": null,
          "old_value": "ctfs"
        },
        "mountpoints./system/contract.filesystem": {
          "new_value": null,
          "old_value": "ctfs"
        },
        "mountpoints./system/contract.options.0": {
          "new_value": null,
          "old_value": "dev=8680001"
        },
        "mountpoints./system/contract.size": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./system/contract.size_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./system/contract.used": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./system/contract.used_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./system/object.available": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./system/object.available_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./system/object.capacity": {
          "new_value": null,
          "old_value": "100%"
        },
        "mountpoints./system/object.device": {
          "new_value": null,
          "old_value": "objfs"
        },
        "mountpoints./system/object.filesystem": {
          "new_value": null,
          "old_value": "objfs"
        },
        "mountpoints./system/object.options.0": {
          "new_value": null,
          "old_value": "dev=8740001"
        },
        "mountpoints./system/object.size": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./system/object.size_bytes": {

          "new_value": null,
          "old_value": 0
        },
        "mountpoints./system/object.used": {
          "new_value": null,
          "old_value": "0 bytes"
        },
        "mountpoints./system/object.used_bytes": {

          "new_value": null,
          "old_value": 0
        },
Some mountpoints are not reported at all by Facter 4. Facter 3 parses {{/etc/mnttab}} for mountpoints, while Facter 4 uses the {{sys-filesystem}} gem.

Relevant Facter 3 code: https://github.com/puppetlabs/facter/blob/3.x/lib/src/facts/solaris/filesystem_resolver.cc#L34
Relevant Facter 4 code: https://github.com/puppetlabs/facter/blob/main/lib/facter/resolvers/solaris/mountpoints.rb#L32

Mihai Buzgau (Jira)

unread,
Mar 17, 2021, 6:28:03 AM3/17/21
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Mar 17, 2021, 6:28:04 AM3/17/21
to puppe...@googlegroups.com

Gabriel Nagy (Jira)

unread,
Mar 17, 2021, 8:42:03 AM3/17/21
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Mar 30, 2021, 11:47:03 AM3/30/21
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Fix Version/s: FACT 4.0.53

Claire Cadman (Jira)

unread,
Apr 13, 2021, 9:27:01 AM4/13/21
to puppe...@googlegroups.com
Claire Cadman updated an issue
Change By: Claire Cadman
Labels: doc_reviewed
This message was sent by Atlassian Jira (v8.13.2#813002-sha1:c495a97)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages