facter 4.0.20 → 4.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. checksums.yaml +4 -4
  2. data/.github/actions/presuite.rb +109 -0
  3. data/.github/workflows/acceptance_tests.yml +61 -0
  4. data/.github/workflows/checks.yaml +71 -0
  5. data/.github/workflows/unit_tests.yaml +41 -0
  6. data/.rubocop.yml +71 -52
  7. data/.rubocop_todo.yml +5 -28
  8. data/CHANGELOG.md +25 -0
  9. data/README.md +5 -2
  10. data/VERSION +1 -1
  11. data/facter.conf +4 -0
  12. data/facter.gemspec +1 -2
  13. data/lib/custom_facts/core/execution.rb +8 -1
  14. data/lib/custom_facts/core/execution/base.rb +16 -8
  15. data/lib/custom_facts/util/normalization.rb +1 -1
  16. data/lib/custom_facts/util/parser.rb +10 -2
  17. data/lib/facter.rb +18 -12
  18. data/lib/facts/{el → aix}/processors/count.rb +2 -2
  19. data/lib/facts/{el → aix}/processors/isa.rb +1 -10
  20. data/lib/facts/{sles → aix}/processors/models.rb +2 -2
  21. data/lib/facts/aix/processors/speed.rb +17 -0
  22. data/lib/facts/debian/{os/architecture.rb → architecture.rb} +1 -0
  23. data/lib/facts/debian/os/distro/release.rb +9 -21
  24. data/lib/facts/debian/os/release.rb +9 -21
  25. data/lib/facts/freebsd/os/release.rb +43 -0
  26. data/lib/facts/{sles → linux}/augeas/version.rb +1 -1
  27. data/lib/facts/linux/dhcp_servers.rb +27 -0
  28. data/lib/facts/{sles → linux}/disks.rb +1 -1
  29. data/lib/facts/{sles → linux}/dmi/bios/release_date.rb +1 -1
  30. data/lib/facts/{el → linux}/dmi/bios/vendor.rb +1 -1
  31. data/lib/facts/{sles → linux}/dmi/bios/version.rb +1 -1
  32. data/lib/facts/{sles → linux}/dmi/board/manufacturer.rb +1 -1
  33. data/lib/facts/{el → linux}/dmi/board/product.rb +1 -1
  34. data/lib/facts/{el → linux}/dmi/board/serial_number.rb +1 -1
  35. data/lib/facts/{sles → linux}/dmi/chassis/asset_tag.rb +1 -1
  36. data/lib/facts/{sles → linux}/dmi/chassis/type.rb +1 -1
  37. data/lib/facts/{el → linux}/dmi/manufacturer.rb +1 -1
  38. data/lib/facts/{el → linux}/dmi/product/name.rb +1 -1
  39. data/lib/facts/{sles → linux}/dmi/product/serial_number.rb +1 -1
  40. data/lib/facts/{sles → linux}/dmi/product/uuid.rb +1 -1
  41. data/lib/facts/{debian → linux}/facterversion.rb +1 -1
  42. data/lib/facts/{el → linux}/filesystems.rb +1 -1
  43. data/lib/facts/{el → linux}/fips_enabled.rb +1 -1
  44. data/lib/facts/{sles → linux}/identity/gid.rb +1 -1
  45. data/lib/facts/{el → linux}/identity/group.rb +1 -1
  46. data/lib/facts/{el → linux}/identity/privileged.rb +1 -1
  47. data/lib/facts/{sles → linux}/identity/uid.rb +1 -1
  48. data/lib/facts/{el → linux}/identity/user.rb +1 -1
  49. data/lib/facts/{el → linux}/interfaces.rb +1 -1
  50. data/lib/facts/linux/ipaddress6_interfaces.rb +20 -0
  51. data/lib/facts/linux/ipaddress_interfaces.rb +20 -0
  52. data/lib/facts/{debian → linux}/kernel.rb +1 -1
  53. data/lib/facts/{debian → linux}/kernelmajversion.rb +1 -1
  54. data/lib/facts/{el → linux}/kernelrelease.rb +1 -1
  55. data/lib/facts/{debian → linux}/kernelversion.rb +1 -1
  56. data/lib/facts/{el → linux}/load_averages.rb +1 -1
  57. data/lib/facts/{debian → linux}/lsbdistrelease.rb +1 -1
  58. data/lib/facts/linux/macaddress_interfaces.rb +20 -0
  59. data/lib/facts/{el → linux}/memory/swap/available.rb +1 -1
  60. data/lib/facts/{debian → linux}/memory/swap/available_bytes.rb +1 -1
  61. data/lib/facts/{sles → linux}/memory/swap/capacity.rb +1 -1
  62. data/lib/facts/{el → linux}/memory/swap/total.rb +1 -1
  63. data/lib/facts/{el → linux}/memory/swap/total_bytes.rb +1 -1
  64. data/lib/facts/{el → linux}/memory/swap/used.rb +1 -1
  65. data/lib/facts/{el → linux}/memory/swap/used_bytes.rb +1 -1
  66. data/lib/facts/{debian → linux}/memory/system/available.rb +1 -1
  67. data/lib/facts/{debian → linux}/memory/system/available_bytes.rb +1 -1
  68. data/lib/facts/{el → linux}/memory/system/capacity.rb +1 -1
  69. data/lib/facts/{sles → linux}/memory/system/total.rb +1 -1
  70. data/lib/facts/{sles → linux}/memory/system/total_bytes.rb +1 -1
  71. data/lib/facts/{sles → linux}/memory/system/used.rb +1 -1
  72. data/lib/facts/{el → linux}/memory/system/used_bytes.rb +1 -1
  73. data/lib/facts/{sles → linux}/mountpoints.rb +1 -1
  74. data/lib/facts/linux/mtu_interfaces.rb +20 -0
  75. data/lib/facts/linux/netmask6_interfaces.rb +20 -0
  76. data/lib/facts/linux/netmask_interfaces.rb +20 -0
  77. data/lib/facts/linux/network6_interfaces.rb +20 -0
  78. data/lib/facts/linux/network_interfaces.rb +20 -0
  79. data/lib/facts/linux/networking/dhcp.rb +20 -0
  80. data/lib/facts/{el → linux}/networking/domain.rb +1 -1
  81. data/lib/facts/{el → linux}/networking/fqdn.rb +1 -1
  82. data/lib/facts/{el → linux}/networking/hostname.rb +1 -1
  83. data/lib/facts/{sles → linux}/networking/interfaces.rb +1 -1
  84. data/lib/facts/{sles → linux}/networking/ip.rb +5 -2
  85. data/lib/facts/linux/networking/ip6.rb +21 -0
  86. data/lib/facts/{debian → linux}/networking/mac.rb +5 -2
  87. data/lib/facts/linux/networking/mtu.rb +20 -0
  88. data/lib/facts/linux/networking/netmask.rb +21 -0
  89. data/lib/facts/linux/networking/netmask6.rb +21 -0
  90. data/lib/facts/linux/networking/network.rb +21 -0
  91. data/lib/facts/linux/networking/network6.rb +21 -0
  92. data/lib/facts/{sles → linux}/networking/primary.rb +1 -1
  93. data/lib/facts/linux/networking/scope6.rb +20 -0
  94. data/lib/facts/{el → linux}/os/architecture.rb +3 -1
  95. data/lib/facts/{sles/os/distro/specification.rb → linux/os/distro/codename.rb} +5 -5
  96. data/lib/facts/{debian/os/distro/specification.rb → linux/os/distro/description.rb} +5 -5
  97. data/lib/facts/linux/os/distro/id.rb +21 -0
  98. data/lib/facts/linux/os/distro/release.rb +31 -0
  99. data/lib/facts/{el → linux}/os/distro/specification.rb +1 -1
  100. data/lib/facts/{debian → linux}/os/family.rb +1 -1
  101. data/lib/facts/{el → linux}/os/hardware.rb +1 -1
  102. data/lib/facts/{sles → linux}/os/name.rb +1 -1
  103. data/lib/facts/{el → linux}/os/release.rb +1 -1
  104. data/lib/facts/{el → linux}/os/selinux/config_mode.rb +1 -1
  105. data/lib/facts/{sles → linux}/os/selinux/config_policy.rb +1 -1
  106. data/lib/facts/{el → linux}/os/selinux/current_mode.rb +1 -1
  107. data/lib/facts/{el → linux}/os/selinux/enabled.rb +1 -1
  108. data/lib/facts/{el → linux}/os/selinux/enforced.rb +1 -1
  109. data/lib/facts/{el → linux}/os/selinux/policy_version.rb +1 -1
  110. data/lib/facts/{sles → linux}/partitions.rb +1 -1
  111. data/lib/facts/{debian → linux}/path.rb +1 -1
  112. data/lib/facts/{el → linux}/processor.rb +1 -1
  113. data/lib/facts/{sles → linux}/processors/count.rb +1 -1
  114. data/lib/facts/{debian → linux}/processors/isa.rb +1 -1
  115. data/lib/facts/{el → linux}/processors/models.rb +1 -1
  116. data/lib/facts/{sles → linux}/processors/physicalcount.rb +1 -2
  117. data/lib/facts/{el → linux}/puppet_version.rb +1 -1
  118. data/lib/facts/{sles → linux}/ruby/platform.rb +1 -1
  119. data/lib/facts/{sles → linux}/ruby/sitedir.rb +1 -1
  120. data/lib/facts/{sles → linux}/ruby/version.rb +1 -1
  121. data/lib/facts/linux/scope6_interfaces.rb +26 -0
  122. data/lib/facts/{el → linux}/ssh.rb +1 -1
  123. data/lib/facts/{sles → linux}/sshalgorithmkey.rb +1 -1
  124. data/lib/facts/{el → linux}/sshfp_algorithm.rb +1 -1
  125. data/lib/facts/{sles → linux}/system_uptime/days.rb +1 -1
  126. data/lib/facts/{el → linux}/system_uptime/hours.rb +1 -1
  127. data/lib/facts/{el → linux}/system_uptime/seconds.rb +1 -1
  128. data/lib/facts/{el → linux}/system_uptime/uptime.rb +1 -1
  129. data/lib/facts/{el → linux}/timezone.rb +1 -1
  130. data/lib/facts/{el → rhel}/os/distro/codename.rb +1 -1
  131. data/lib/facts/{el → rhel}/os/distro/description.rb +1 -1
  132. data/lib/facts/{el → rhel}/os/distro/id.rb +1 -1
  133. data/lib/facts/{el → rhel}/os/distro/release.rb +1 -1
  134. data/lib/facts/{el → rhel}/os/family.rb +1 -1
  135. data/lib/facts/{el → rhel}/os/name.rb +1 -1
  136. data/lib/facts/rhel/os/release.rb +36 -0
  137. data/lib/facts/ubuntu/os/distro/release.rb +31 -0
  138. data/lib/facts/ubuntu/os/release.rb +20 -0
  139. data/lib/facts/windows/dhcp_servers.rb +5 -2
  140. data/lib/facts/windows/networking/primary.rb +1 -1
  141. data/lib/facts_utils/uptime_parser.rb +6 -3
  142. data/lib/framework/config/config_reader.rb +4 -0
  143. data/lib/framework/config/fact_groups.rb +2 -1
  144. data/lib/framework/core/cache_manager.rb +19 -21
  145. data/lib/framework/core/fact_loaders/internal_fact_loader.rb +2 -2
  146. data/lib/framework/core/options/config_file_options.rb +19 -10
  147. data/lib/framework/core/options/option_store.rb +14 -5
  148. data/lib/framework/detector/os_detector.rb +2 -0
  149. data/lib/framework/formatters/yaml_fact_formatter.rb +50 -4
  150. data/lib/resolvers/aix/mountpoints.rb +3 -3
  151. data/lib/resolvers/aix/networking_resolver.rb +1 -1
  152. data/lib/resolvers/aix/os_level_resolver.rb +1 -1
  153. data/lib/resolvers/aix/partitions.rb +3 -6
  154. data/lib/resolvers/aix/processors.rb +80 -0
  155. data/lib/resolvers/aix/utils/odm_query.rb +2 -1
  156. data/lib/resolvers/augeas_resolver.rb +1 -1
  157. data/lib/resolvers/eos_release_resolver.rb +3 -1
  158. data/lib/resolvers/freebsd/freebsd_version_resolver.rb +37 -0
  159. data/lib/resolvers/hostname_resolver.rb +1 -2
  160. data/lib/resolvers/lpar_resolver.rb +1 -2
  161. data/lib/resolvers/lsb_release_resolver.rb +2 -5
  162. data/lib/resolvers/macosx/dmi_resolver.rb +1 -2
  163. data/lib/resolvers/macosx/filesystems_resolver.rb +1 -2
  164. data/lib/resolvers/macosx/ipaddress_resolver.rb +3 -4
  165. data/lib/resolvers/macosx/load_averages_resolver.rb +1 -2
  166. data/lib/resolvers/macosx/mountpoints_resolver.rb +0 -1
  167. data/lib/resolvers/macosx/processor_resolver.rb +1 -2
  168. data/lib/resolvers/macosx/swap_memory_resolver.rb +2 -3
  169. data/lib/resolvers/macosx/system_memory_resolver.rb +3 -4
  170. data/lib/resolvers/macosx/system_profiler_resolver.rb +3 -1
  171. data/lib/resolvers/mountpoints_resolver.rb +3 -3
  172. data/lib/resolvers/networking_linux_resolver.rb +78 -19
  173. data/lib/resolvers/os_level_resolver.rb +3 -2
  174. data/lib/resolvers/partitions.rb +7 -4
  175. data/lib/resolvers/processors_resolver.rb +5 -0
  176. data/lib/resolvers/selinux_resolver.rb +1 -1
  177. data/lib/resolvers/solaris/filesystems_resolver.rb +1 -1
  178. data/lib/resolvers/solaris/ipaddress_resolver.rb +2 -3
  179. data/lib/resolvers/solaris/processors.rb +2 -6
  180. data/lib/resolvers/solaris/solaris_os_release_resolver.rb +2 -12
  181. data/lib/resolvers/solaris/solaris_zone_name.rb +2 -8
  182. data/lib/resolvers/solaris/zfs_resolver.rb +1 -2
  183. data/lib/resolvers/solaris/zone_resolver.rb +3 -9
  184. data/lib/resolvers/solaris/zpool_resolver.rb +1 -2
  185. data/lib/resolvers/sw_vers_resolver.rb +1 -1
  186. data/lib/resolvers/uname_resolver.rb +2 -2
  187. data/lib/resolvers/utils/filesystem_helper.rb +1 -1
  188. data/lib/resolvers/windows/ffi/network_utils.rb +1 -1
  189. data/lib/resolvers/windows/networking_resolver.rb +8 -7
  190. data/lib/resolvers/windows/virtualization_resolver.rb +5 -4
  191. data/lib/resolvers/wpar_resolver.rb +3 -3
  192. data/os_hierarchy.json +7 -4
  193. data/tasks/fact_list_generator.rake +26 -0
  194. metadata +130 -262
  195. data/.github/workflows/rtc.yml +0 -11
  196. data/.travis.yml +0 -47
  197. data/lib/facts/debian/augeas/version.rb +0 -19
  198. data/lib/facts/debian/disks.rb +0 -15
  199. data/lib/facts/debian/dmi/bios/release_date.rb +0 -19
  200. data/lib/facts/debian/dmi/bios/vendor.rb +0 -19
  201. data/lib/facts/debian/dmi/bios/version.rb +0 -19
  202. data/lib/facts/debian/dmi/board/manufacturer.rb +0 -19
  203. data/lib/facts/debian/dmi/board/product.rb +0 -19
  204. data/lib/facts/debian/dmi/board/serial_number.rb +0 -19
  205. data/lib/facts/debian/dmi/chassis/asset_tag.rb +0 -19
  206. data/lib/facts/debian/dmi/chassis/type.rb +0 -19
  207. data/lib/facts/debian/dmi/manufacturer.rb +0 -17
  208. data/lib/facts/debian/dmi/product/name.rb +0 -19
  209. data/lib/facts/debian/dmi/product/serial_number.rb +0 -18
  210. data/lib/facts/debian/dmi/product/uuid.rb +0 -18
  211. data/lib/facts/debian/filesystems.rb +0 -14
  212. data/lib/facts/debian/fips_enabled.rb +0 -14
  213. data/lib/facts/debian/identity/gid.rb +0 -16
  214. data/lib/facts/debian/identity/group.rb +0 -18
  215. data/lib/facts/debian/identity/privileged.rb +0 -16
  216. data/lib/facts/debian/identity/uid.rb +0 -16
  217. data/lib/facts/debian/identity/user.rb +0 -17
  218. data/lib/facts/debian/interfaces.rb +0 -16
  219. data/lib/facts/debian/kernelrelease.rb +0 -14
  220. data/lib/facts/debian/load_averages.rb +0 -14
  221. data/lib/facts/debian/memory/swap/available.rb +0 -20
  222. data/lib/facts/debian/memory/swap/capacity.rb +0 -18
  223. data/lib/facts/debian/memory/swap/total.rb +0 -20
  224. data/lib/facts/debian/memory/swap/total_bytes.rb +0 -20
  225. data/lib/facts/debian/memory/swap/used.rb +0 -19
  226. data/lib/facts/debian/memory/swap/used_bytes.rb +0 -18
  227. data/lib/facts/debian/memory/system/capacity.rb +0 -18
  228. data/lib/facts/debian/memory/system/total.rb +0 -20
  229. data/lib/facts/debian/memory/system/total_bytes.rb +0 -20
  230. data/lib/facts/debian/memory/system/used.rb +0 -19
  231. data/lib/facts/debian/memory/system/used_bytes.rb +0 -18
  232. data/lib/facts/debian/mountpoints.rb +0 -21
  233. data/lib/facts/debian/networking/domain.rb +0 -17
  234. data/lib/facts/debian/networking/fqdn.rb +0 -17
  235. data/lib/facts/debian/networking/hostname.rb +0 -17
  236. data/lib/facts/debian/networking/interfaces.rb +0 -16
  237. data/lib/facts/debian/networking/ip.rb +0 -18
  238. data/lib/facts/debian/networking/primary.rb +0 -17
  239. data/lib/facts/debian/os/hardware.rb +0 -18
  240. data/lib/facts/debian/os/name.rb +0 -18
  241. data/lib/facts/debian/os/selinux/config_mode.rb +0 -21
  242. data/lib/facts/debian/os/selinux/config_policy.rb +0 -21
  243. data/lib/facts/debian/os/selinux/current_mode.rb +0 -21
  244. data/lib/facts/debian/os/selinux/enabled.rb +0 -21
  245. data/lib/facts/debian/os/selinux/enforced.rb +0 -21
  246. data/lib/facts/debian/os/selinux/policy_version.rb +0 -21
  247. data/lib/facts/debian/partitions.rb +0 -26
  248. data/lib/facts/debian/processors/count.rb +0 -17
  249. data/lib/facts/debian/processors/models.rb +0 -16
  250. data/lib/facts/debian/processors/physicalcount.rb +0 -17
  251. data/lib/facts/debian/puppet_version.rb +0 -15
  252. data/lib/facts/debian/ruby/platform.rb +0 -18
  253. data/lib/facts/debian/ruby/sitedir.rb +0 -18
  254. data/lib/facts/debian/ruby/version.rb +0 -18
  255. data/lib/facts/debian/ssh.rb +0 -26
  256. data/lib/facts/debian/system_uptime/days.rb +0 -18
  257. data/lib/facts/debian/system_uptime/hours.rb +0 -18
  258. data/lib/facts/debian/system_uptime/seconds.rb +0 -18
  259. data/lib/facts/debian/system_uptime/uptime.rb +0 -18
  260. data/lib/facts/debian/timezone.rb +0 -14
  261. data/lib/facts/el/augeas/version.rb +0 -19
  262. data/lib/facts/el/disks.rb +0 -15
  263. data/lib/facts/el/dmi/bios/release_date.rb +0 -19
  264. data/lib/facts/el/dmi/bios/version.rb +0 -19
  265. data/lib/facts/el/dmi/board/manufacturer.rb +0 -19
  266. data/lib/facts/el/dmi/chassis/asset_tag.rb +0 -19
  267. data/lib/facts/el/dmi/chassis/type.rb +0 -19
  268. data/lib/facts/el/dmi/product/serial_number.rb +0 -19
  269. data/lib/facts/el/dmi/product/uuid.rb +0 -19
  270. data/lib/facts/el/facterversion.rb +0 -14
  271. data/lib/facts/el/identity/gid.rb +0 -16
  272. data/lib/facts/el/identity/uid.rb +0 -16
  273. data/lib/facts/el/kernel.rb +0 -14
  274. data/lib/facts/el/kernelmajversion.rb +0 -23
  275. data/lib/facts/el/kernelversion.rb +0 -21
  276. data/lib/facts/el/memory/swap/available_bytes.rb +0 -20
  277. data/lib/facts/el/memory/swap/capacity.rb +0 -18
  278. data/lib/facts/el/memory/system/available.rb +0 -20
  279. data/lib/facts/el/memory/system/available_bytes.rb +0 -20
  280. data/lib/facts/el/memory/system/total.rb +0 -20
  281. data/lib/facts/el/memory/system/total_bytes.rb +0 -20
  282. data/lib/facts/el/memory/system/used.rb +0 -19
  283. data/lib/facts/el/mountpoints.rb +0 -21
  284. data/lib/facts/el/networking/interfaces.rb +0 -16
  285. data/lib/facts/el/networking/ip.rb +0 -18
  286. data/lib/facts/el/networking/mac.rb +0 -18
  287. data/lib/facts/el/networking/primary.rb +0 -17
  288. data/lib/facts/el/os/selinux/config_policy.rb +0 -21
  289. data/lib/facts/el/partitions.rb +0 -26
  290. data/lib/facts/el/path.rb +0 -14
  291. data/lib/facts/el/processors/physicalcount.rb +0 -18
  292. data/lib/facts/el/ruby/platform.rb +0 -18
  293. data/lib/facts/el/ruby/sitedir.rb +0 -18
  294. data/lib/facts/el/ruby/version.rb +0 -18
  295. data/lib/facts/el/sshalgorithmkey.rb +0 -17
  296. data/lib/facts/el/system_uptime/days.rb +0 -18
  297. data/lib/facts/sles/dmi/bios/vendor.rb +0 -19
  298. data/lib/facts/sles/dmi/board/product.rb +0 -19
  299. data/lib/facts/sles/dmi/board/serial_number.rb +0 -19
  300. data/lib/facts/sles/dmi/manufacturer.rb +0 -17
  301. data/lib/facts/sles/dmi/product/name.rb +0 -19
  302. data/lib/facts/sles/facterversion.rb +0 -14
  303. data/lib/facts/sles/filesystems.rb +0 -14
  304. data/lib/facts/sles/fips_enabled.rb +0 -14
  305. data/lib/facts/sles/identity/group.rb +0 -18
  306. data/lib/facts/sles/identity/privileged.rb +0 -16
  307. data/lib/facts/sles/identity/user.rb +0 -17
  308. data/lib/facts/sles/interfaces.rb +0 -16
  309. data/lib/facts/sles/kernel.rb +0 -14
  310. data/lib/facts/sles/kernelmajversion.rb +0 -15
  311. data/lib/facts/sles/kernelrelease.rb +0 -14
  312. data/lib/facts/sles/kernelversion.rb +0 -15
  313. data/lib/facts/sles/load_averages.rb +0 -14
  314. data/lib/facts/sles/memory/swap/available.rb +0 -20
  315. data/lib/facts/sles/memory/swap/available_bytes.rb +0 -20
  316. data/lib/facts/sles/memory/swap/total.rb +0 -20
  317. data/lib/facts/sles/memory/swap/total_bytes.rb +0 -20
  318. data/lib/facts/sles/memory/swap/used.rb +0 -19
  319. data/lib/facts/sles/memory/swap/used_bytes.rb +0 -18
  320. data/lib/facts/sles/memory/system/available.rb +0 -20
  321. data/lib/facts/sles/memory/system/available_bytes.rb +0 -20
  322. data/lib/facts/sles/memory/system/capacity.rb +0 -18
  323. data/lib/facts/sles/memory/system/used_bytes.rb +0 -18
  324. data/lib/facts/sles/networking/domain.rb +0 -17
  325. data/lib/facts/sles/networking/fqdn.rb +0 -17
  326. data/lib/facts/sles/networking/hostname.rb +0 -17
  327. data/lib/facts/sles/networking/mac.rb +0 -18
  328. data/lib/facts/sles/os/architecture.rb +0 -18
  329. data/lib/facts/sles/os/hardware.rb +0 -18
  330. data/lib/facts/sles/os/selinux/config_mode.rb +0 -21
  331. data/lib/facts/sles/os/selinux/current_mode.rb +0 -21
  332. data/lib/facts/sles/os/selinux/enabled.rb +0 -21
  333. data/lib/facts/sles/os/selinux/enforced.rb +0 -21
  334. data/lib/facts/sles/os/selinux/policy_version.rb +0 -21
  335. data/lib/facts/sles/path.rb +0 -14
  336. data/lib/facts/sles/processor.rb +0 -20
  337. data/lib/facts/sles/processors/isa.rb +0 -27
  338. data/lib/facts/sles/puppet_version.rb +0 -15
  339. data/lib/facts/sles/ssh.rb +0 -26
  340. data/lib/facts/sles/sshfp_algorithm.rb +0 -20
  341. data/lib/facts/sles/system_uptime/hours.rb +0 -18
  342. data/lib/facts/sles/system_uptime/seconds.rb +0 -18
  343. data/lib/facts/sles/system_uptime/uptime.rb +0 -18
  344. data/lib/facts/sles/timezone.rb +0 -14
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Aix
5
5
  module Processors
6
6
  class Models
7
7
  FACT_NAME = 'processors.models'
8
8
 
9
9
  def call_the_resolver
10
- fact_value = Facter::Resolvers::Linux::Processors.resolve(:models)
10
+ fact_value = Facter::Resolvers::Aix::Processors.resolve(:models)
11
11
  Facter::ResolvedFact.new(FACT_NAME, fact_value)
12
12
  end
13
13
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Aix
5
+ module Processors
6
+ class Speed
7
+ FACT_NAME = 'processors.speed'
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::Aix::Processors.resolve(:speed)
11
+ speed = Facter::FactsUtils::UnitConverter.hertz_to_human_readable(fact_value)
12
+ Facter::ResolvedFact.new(FACT_NAME, speed)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -10,6 +10,7 @@ module Facts
10
10
  def call_the_resolver
11
11
  fact_value = Facter::Resolvers::Uname.resolve(:machine)
12
12
  fact_value = 'amd64' if fact_value == 'x86_64'
13
+ fact_value = 'i386' if fact_value =~ /i[3456]86|pentium/
13
14
 
14
15
  [Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15
16
  end
@@ -16,27 +16,15 @@ module Facts
16
16
  private
17
17
 
18
18
  def determine_release_for_os
19
- os_name = Facter::Resolvers::OsRelease.resolve(:name)
20
-
21
- if os_name =~ /Debian|Raspbian/
22
- release = Facter::Resolvers::DebianVersion.resolve(:version)
23
- return unless release
24
-
25
- versions = release.split('.')
26
- fact_value = {}
27
- fact_value['full'] = release
28
- fact_value['major'] = versions[0]
29
- fact_value['minor'] = versions[1].gsub(/^0([1-9])/, '\1') if versions[1]
30
- fact_value
31
- else
32
- release = Facter::Resolvers::OsRelease.resolve(:version_id)
33
- return unless release
34
-
35
- {
36
- 'full' => release,
37
- 'major' => release
38
- }
39
- end
19
+ release = Facter::Resolvers::DebianVersion.resolve(:version)
20
+ return unless release
21
+
22
+ versions = release.split('.')
23
+ fact_value = {}
24
+ fact_value['full'] = release
25
+ fact_value['major'] = versions[0]
26
+ fact_value['minor'] = versions[1].gsub(/^0([1-9])/, '\1') if versions[1]
27
+ fact_value
40
28
  end
41
29
  end
42
30
  end
@@ -20,27 +20,15 @@ module Facts
20
20
  private
21
21
 
22
22
  def determine_release_for_os
23
- os_name = Facter::Resolvers::OsRelease.resolve(:name)
24
-
25
- if os_name =~ /Debian|Raspbian/
26
- release = Facter::Resolvers::DebianVersion.resolve(:version)
27
- return unless release
28
-
29
- versions = release.split('.')
30
- fact_value = {}
31
- fact_value['full'] = release
32
- fact_value['major'] = versions[0]
33
- fact_value['minor'] = versions[1].gsub(/^0([1-9])/, '\1') if versions[1]
34
- fact_value
35
- else
36
- release = Facter::Resolvers::OsRelease.resolve(:version_id)
37
- return unless release
38
-
39
- {
40
- 'full' => release,
41
- 'major' => release
42
- }
43
- end
23
+ release = Facter::Resolvers::DebianVersion.resolve(:version)
24
+ return unless release
25
+
26
+ versions = release.split('.')
27
+ fact_value = {}
28
+ fact_value['full'] = release
29
+ fact_value['major'] = versions[0]
30
+ fact_value['minor'] = versions[1].gsub(/^0([1-9])/, '\1') if versions[1]
31
+ fact_value
44
32
  end
45
33
  end
46
34
  end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Freebsd
5
+ module Os
6
+ class Release
7
+ FACT_NAME = 'os.release'
8
+ ALIASES = %w[operatingsystemmajrelease operatingsystemrelease].freeze
9
+
10
+ def call_the_resolver
11
+ installed_userland = Facter::Resolvers::Freebsd::FreebsdVersion.resolve(:installed_userland)
12
+
13
+ return Facter::ResolvedFact.new(FACT_NAME, nil) if !installed_userland || installed_userland.empty?
14
+
15
+ value = build_release_hash_from_version(installed_userland)
16
+
17
+ [Facter::ResolvedFact.new(FACT_NAME, value),
18
+ Facter::ResolvedFact.new(ALIASES.first, value[:major], :legacy),
19
+ Facter::ResolvedFact.new(ALIASES.last, installed_userland, :legacy)]
20
+ end
21
+
22
+ private
23
+
24
+ def build_release_hash_from_version(version_string)
25
+ version, branch_value = version_string.split('-', 2)
26
+ major_value, minor_value = version.split('.')
27
+ patchlevel_value = branch_value.split('-p')[1]
28
+
29
+ value = {
30
+ full: version_string,
31
+ major: major_value,
32
+ branch: branch_value
33
+ }
34
+
35
+ value[:minor] = minor_value if minor_value
36
+ value[:patchlevel] = patchlevel_value if patchlevel_value
37
+
38
+ value
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Augeas
6
6
  class Version
7
7
  FACT_NAME = 'augeas.version'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Linux
5
+ class DhcpServers
6
+ FACT_NAME = 'dhcp_servers'
7
+
8
+ def call_the_resolver
9
+ fact_value = construct_addresses_hash
10
+ fact_value = !fact_value || fact_value.empty? ? nil : fact_value
11
+ Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
12
+ end
13
+
14
+ private
15
+
16
+ def construct_addresses_hash
17
+ primary = Facter::Resolvers::NetworkingLinux.resolve(:primary_interface)
18
+ interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
19
+ return unless interfaces
20
+
21
+ servers = { system: interfaces[primary][:dhcp] }
22
+ interfaces&.each { |interface_name, info| servers[interface_name] = info[:dhcp] if info[:dhcp] }
23
+ servers
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  class Disks
6
6
  FACT_NAME = 'disks'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Bios
7
7
  class ReleaseDate
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Dmi
6
6
  module Bios
7
7
  class Vendor
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Bios
7
7
  class Version
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Board
7
7
  class Manufacturer
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Dmi
6
6
  module Board
7
7
  class Product
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Dmi
6
6
  module Board
7
7
  class SerialNumber
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Chassis
7
7
  class AssetTag
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Chassis
7
7
  class Type
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Dmi
6
6
  class Manufacturer
7
7
  FACT_NAME = 'dmi.manufacturer'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Dmi
6
6
  module Product
7
7
  class Name
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Product
7
7
  class SerialNumber
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Dmi
6
6
  module Product
7
7
  class Uuid
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Debian
4
+ module Linux
5
5
  class Facterversion
6
6
  FACT_NAME = 'facterversion'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  class Filesystems
6
6
  FACT_NAME = 'filesystems'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  class FipsEnabled
6
6
  FACT_NAME = 'fips_enabled'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Identity
6
6
  class Gid
7
7
  FACT_NAME = 'identity.gid'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Identity
6
6
  class Group
7
7
  FACT_NAME = 'identity.group'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Identity
6
6
  class Privileged
7
7
  FACT_NAME = 'identity.privileged'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module Sles
4
+ module Linux
5
5
  module Identity
6
6
  class Uid
7
7
  FACT_NAME = 'identity.uid'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  module Identity
6
6
  class User
7
7
  FACT_NAME = 'identity.user'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facts
4
- module El
4
+ module Linux
5
5
  class Interfaces
6
6
  FACT_NAME = 'interfaces'
7
7
 
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Linux
5
+ class Ipaddress6Interfaces
6
+ FACT_NAME = 'ipaddress6_.*'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ arr = []
11
+ interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
12
+ interfaces&.each do |interface_name, info|
13
+ arr << Facter::ResolvedFact.new("ipaddress6_#{interface_name}", info[:ip6], :legacy) if info[:ip6]
14
+ end
15
+
16
+ arr
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Linux
5
+ class IpaddressInterfaces
6
+ FACT_NAME = 'ipaddress_.*'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ arr = []
11
+ interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces)
12
+ interfaces&.each do |interface_name, info|
13
+ arr << Facter::ResolvedFact.new("ipaddress_#{interface_name}", info[:ip], :legacy) if info[:ip]
14
+ end
15
+
16
+ arr
17
+ end
18
+ end
19
+ end
20
+ end