facter 4.0.20 → 4.0.21

Sign up to get free protection for your applications and to get access to all the features.
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