Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
-
Night's Watch
-
2
-
NW - 2021-03-31
-
Manual Test
-
Bug Fix
-
Fix differences in the mountpoints fact on Solaris by matching the behavior of Facter 3
-
Needs Assessment
Description
Running puppet facts diff on Solaris 11 gives the following output:
"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