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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: baceb04e072102e0f18534a903fc7e0ead2f76d2d4f81dd49a64e325a22a0f7d
4
- data.tar.gz: b63826bac2fef312e1745b2b2591e77a3d8a1e4b7fd019d3f77019660161d48c
3
+ metadata.gz: 0f98a392ad6a05f9c7ad8d5ea4b1f95792ccd133c4d4069b737710cb40d5f4bc
4
+ data.tar.gz: 61d8fb70c31865da5ea20b4e96e8331756cb1babca66dfcb89a369aa7d684326
5
5
  SHA512:
6
- metadata.gz: 205b507dab7c7253b8d58f8e76ba664ac10545bfb3fca3b5d7649248546edf5f31fccd52c654d2d38691b48f8a30bf70b7731008b747260ba0a258775fdf231a
7
- data.tar.gz: 5ca2bf79afe491abe2b8ace592ab269eedb9ff97e041cd39ea145c7d4da055863076432acb0eecd64a367b326c1d06621aab6545d9109093f99783c409e06945
6
+ metadata.gz: 03a6701d831ba8442ef9680a059781eb1b86f5b8ebd93ec7487b1b556345674d13cf37905fcad3da7f4aede956d82a69c4f3abd8facc0eea9961652e325c6a24
7
+ data.tar.gz: 7c04baac0acfe2b148e7a0a12adf935e5bc06770f7711f22aa35078c901f18ed0cd5096b403a16071c5150954db8175b521d254c170fc215327e11cb435db6fa
@@ -0,0 +1,109 @@
1
+ require 'open3'
2
+
3
+ def install_bundler
4
+ message('INSTALL BUNDLER')
5
+ run('gem install bundler')
6
+ end
7
+
8
+ def install_facter_3_dependecies
9
+ message('INSTALL FACTER 3 ACCEPTANCE DEPENDENCIES')
10
+ run('bundle install')
11
+ end
12
+
13
+ def install_custom_beaker
14
+ message('BUILD CUSTOM BEAKER GEM')
15
+ run('gem build beaker.gemspec')
16
+
17
+ message('INSTALL CUSTOM BEAKER GEM')
18
+ run('gem install beaker-*.gem')
19
+ end
20
+
21
+ def initialize_beaker
22
+ beaker_options = "#{get_beaker_platform(ENV['ImageOS'].to_sym)}{hypervisor=none\\,hostname=localhost}"
23
+
24
+ message('BEAKER INITIALIZE')
25
+ run("beaker init -h #{beaker_options} -o config/aio/options.rb")
26
+
27
+ message('BEAKER PROVISION')
28
+ run('beaker provision')
29
+ end
30
+
31
+ def get_beaker_platform(host_platform)
32
+ beaker_platforms = {
33
+ ubuntu18: 'ubuntu1804-64a',
34
+ ubuntu16: 'ubuntu1604-64a',
35
+ macos1015: 'osx1015-64a'
36
+ }
37
+
38
+ beaker_platforms[host_platform]
39
+ end
40
+
41
+ def install_puppet_agent
42
+ beaker_puppet_root, _ = run('bundle info beaker-puppet --path')
43
+ install_puppet_file_path = File.join(beaker_puppet_root.chomp, 'setup', 'aio', '010_Install_Puppet_Agent.rb')
44
+
45
+ message('INSTALL PUPPET AGENT')
46
+ run("beaker exec pre-suite --pre-suite #{install_puppet_file_path}")
47
+ end
48
+
49
+ def replace_facter_3_with_facter_4
50
+ linux_puppet_bin_dir = '/opt/puppetlabs/puppet/bin'
51
+ gem_command = File.join(linux_puppet_bin_dir, 'gem')
52
+ puppet_command = File.join(linux_puppet_bin_dir, 'puppet')
53
+
54
+ message('SET FACTER 4 FLAG TO TRUE')
55
+ run("#{puppet_command} config set facterng true")
56
+
57
+ message('BUILD FACTER 4 LATEST AGENT GEM')
58
+ run("#{gem_command} build agent/facter-ng.gemspec", ENV['FACTER_4_ROOT'])
59
+
60
+ message('UNINSTALL DEFAULT FACTER 4 AGENT GEM')
61
+ run("#{gem_command} uninstall facter-ng")
62
+
63
+ message('INSTALL FACTER 4 GEM')
64
+ run("#{gem_command} install -f facter-ng-*.gem", ENV['FACTER_4_ROOT'])
65
+
66
+ message('CHANGE FACTER 3 WITH FACTER 4')
67
+ run('mv facter-ng facter', linux_puppet_bin_dir)
68
+ end
69
+
70
+ def run_acceptance_tests
71
+ message('RUN ACCEPTANCE TESTS')
72
+ run('beaker exec tests --test-tag-exclude=server,facter_3 --test-tag-or=risk:high,audit:high')
73
+ end
74
+
75
+ def message(message)
76
+ message_length = message.length
77
+ total_length = 130
78
+ lines_length = (total_length - message_length) / 2
79
+ result = ('-' * lines_length + ' ' + message + ' ' + '-' * lines_length)[0, total_length]
80
+ puts "\n\n#{result}\n\n"
81
+ end
82
+
83
+ def run(command, dir = './')
84
+ puts command
85
+ output, status = Open3.capture2(command, chdir: dir)
86
+ puts output
87
+ [output, status]
88
+ end
89
+
90
+ ENV['DEBIAN_DISABLE_RUBYGEMS_INTEGRATION'] = 'no_wornings'
91
+ FACTER_3_ACCEPTANCE_PATH = File.join(ENV['FACTER_3_ROOT'], 'acceptance')
92
+
93
+ install_bundler
94
+
95
+ Dir.chdir(FACTER_3_ACCEPTANCE_PATH) { install_facter_3_dependecies }
96
+
97
+ Dir.chdir(ENV['BEAKER_ROOT']) { install_custom_beaker }
98
+
99
+ Dir.chdir(FACTER_3_ACCEPTANCE_PATH) do
100
+ initialize_beaker
101
+ install_puppet_agent
102
+ end
103
+
104
+ replace_facter_3_with_facter_4
105
+
106
+ Dir.chdir(FACTER_3_ACCEPTANCE_PATH) do
107
+ _, status = run_acceptance_tests
108
+ exit(status.exitstatus)
109
+ end
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: Acceptance tests
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - master
8
+ pull_request:
9
+ branches:
10
+ - master
11
+
12
+ jobs:
13
+ acceptance_tests:
14
+ name: Platform
15
+ strategy:
16
+ matrix:
17
+ os: [ubuntu-18.04, ubuntu-16.04, macos-10.15]
18
+ runs-on: ${{ matrix.os }}
19
+ env:
20
+ FACTER_3_ROOT: facter_3
21
+ FACTER_4_ROOT: facter_4
22
+ BEAKER_ROOT: beaker
23
+ SHA: latest
24
+ BEAKER_VERSION: 4.21.0
25
+
26
+ steps:
27
+ - name: Checkout current PR
28
+ uses: actions/checkout@v2
29
+ with:
30
+ path: facter_4
31
+
32
+ - name: Clone facter 3 repo
33
+ uses: actions/checkout@v2
34
+ with:
35
+ repository: puppetlabs/facter
36
+ ref: skip_failures_on_ng
37
+ path: facter_3
38
+
39
+ - name: Clone custom beaker fork
40
+ uses: actions/checkout@v2
41
+ with:
42
+ repository: mihaibuzgau/beaker
43
+ ref: master
44
+ path: beaker
45
+
46
+ - name: Install Ruby 2.6
47
+ uses: ruby/setup-ruby@v1
48
+ with:
49
+ ruby-version: '2.6'
50
+
51
+ - name: Fix common permissions
52
+ run: sudo chmod a-w /opt
53
+
54
+ - name: Fix Linux permissions
55
+ if: runner.os == 'Linux'
56
+ run: |
57
+ sudo chmod a-w /home/runner /usr/share &&
58
+ sudo chmod -R a-w /usr/share/rust /home/runner/.config /home/linuxbrew
59
+
60
+ - name: Run acceptance tests
61
+ run: sudo -E "PATH=$PATH" ruby facter_4/.github/actions/presuite.rb
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: Checks
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - master
8
+ pull_request:
9
+ branches:
10
+ - master
11
+
12
+ jobs:
13
+ rubocop_checks:
14
+ runs-on: ubuntu-18.04
15
+ name: RuboCop
16
+ steps:
17
+ - name: Checkout current PR
18
+ uses: actions/checkout@v2
19
+
20
+ - name: Rubocop checks
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: 2.6
24
+ - run: bundle install --jobs 3 --retry 3
25
+ - run: bundle exec rubocop --parallel
26
+
27
+ rtc:
28
+ runs-on: ubuntu-latest
29
+ name: RuboCop TODO
30
+ steps:
31
+ - uses: actions/checkout@v1
32
+ - uses: gimmyxd/rtc-action@0.0.5
33
+
34
+ commit_checks:
35
+ runs-on: ubuntu-18.04
36
+ name: commit message
37
+ steps:
38
+ - name: Checkout current PR
39
+ uses: actions/checkout@v2
40
+
41
+ - name: Commit message checks
42
+ uses: ruby/setup-ruby@v1
43
+ with:
44
+ ruby-version: 2.6
45
+ - run: bundle install --jobs 3 --retry 3
46
+ - run: bundle exec rake commits
47
+
48
+ coverage_checks:
49
+ runs-on: ubuntu-18.04
50
+ name: coverage
51
+ steps:
52
+ - name: Checkout current PR
53
+ uses: actions/checkout@v2
54
+
55
+ - name: Setup Code Climate test-reporter
56
+ run: |
57
+ curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
58
+ chmod +x ./cc-test-reporter
59
+ ./cc-test-reporter before-build
60
+
61
+ - name: Commit message checks
62
+ uses: ruby/setup-ruby@v1
63
+ with:
64
+ ruby-version: 2.6
65
+ - run: bundle install --jobs 3 --retry 3
66
+ - run: bundle exec rake spec
67
+
68
+ - name: Publish code coverage
69
+ run: |
70
+ export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
71
+ ./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: Unit tests
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - master
8
+ pull_request:
9
+ branches:
10
+ - master
11
+
12
+ jobs:
13
+ linux_unit_tests:
14
+ name: Ruby version
15
+ strategy:
16
+ matrix:
17
+ ruby: [ 2.3, 2.7, jruby ]
18
+ runs-on: ubuntu-18.04
19
+ steps:
20
+ - name: Checkout current PR
21
+ uses: actions/checkout@v2
22
+
23
+ - name: Rspec checks
24
+ uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: ${{ matrix.ruby }}
27
+ - run: bundle install --jobs 3 --retry 3
28
+ - run: bundle exec rake spec
29
+
30
+ windows_unit_tests:
31
+ runs-on: windows-2019
32
+ steps:
33
+ - name: Checkout current PR
34
+ uses: actions/checkout@v2
35
+
36
+ - name: Rspec checks
37
+ uses: ruby/setup-ruby@v1
38
+ with:
39
+ ruby-version: 2.7
40
+ - run: bundle install --jobs 3 --retry 3
41
+ - run: bundle exec rake spec
@@ -1,18 +1,25 @@
1
1
  ---
2
2
  inherit_from: .rubocop_todo.yml
3
3
 
4
+ AllCops:
5
+ TargetRubyVersion: 2.3
6
+
4
7
  require:
5
8
  - rubocop-performance
6
9
  - rubocop-rspec
7
10
 
8
- Documentation:
9
- Enabled: false
11
+ Layout/LineLength:
12
+ Max: 120
10
13
 
11
- Style/TrivialAccessors:
12
- AllowDSLWriters: true
14
+ Lint/RescueException:
15
+ Exclude:
16
+ - 'lib/custom_facts/util/parser.rb'
13
17
 
14
- Metrics/LineLength:
15
- Max: 120
18
+ Lint/RaiseException:
19
+ Enabled: true
20
+
21
+ Lint/StructNewOverride:
22
+ Enabled: true
16
23
 
17
24
  Metrics/MethodLength:
18
25
  Max: 20
@@ -33,10 +40,6 @@ Metrics/BlockLength:
33
40
  Exclude:
34
41
  - !ruby/regexp /(?:(?!.+_spec.rb).)*$/
35
42
 
36
- Style/ClassVars:
37
- Exclude:
38
- - !ruby/regexp /(?:(?!.+_resolver.rb).)*$/
39
-
40
43
  Naming/ClassAndModuleCamelCase:
41
44
  Exclude:
42
45
  - 'spec/mocks/**/*'
@@ -54,21 +57,6 @@ Metrics/AbcSize:
54
57
  - 'lib/custom_facts/core/execution/base.rb'
55
58
  - 'lib/custom_facts/core/resolvable.rb'
56
59
 
57
- Style/FrozenStringLiteralComment:
58
- Exclude:
59
- - 'spec/custom_facts/util/normalization_spec.rb'
60
- - 'spec/custom_facts/shared_contexts/platform.rb'
61
- - 'spec/custom_facts/core/execution/windows_spec.rb'
62
- - 'spec/custom_facts/core/execution/posix_spec.rb'
63
- - 'lib/custom_facts/util/resolution.rb'
64
- - 'lib/custom_facts/core/execution/windows.rb'
65
- - 'lib/custom_facts/core/execution/posix.rb'
66
-
67
- Style/CaseEquality:
68
- Exclude:
69
- - 'spec/custom_facts/util/confine_spec.rb'
70
- - 'lib/custom_facts/util/confine.rb'
71
-
72
60
  Metrics/PerceivedComplexity:
73
61
  Exclude:
74
62
  - 'lib/custom_facts/util/values.rb'
@@ -84,10 +72,6 @@ Metrics/CyclomaticComplexity:
84
72
  - 'lib/custom_facts/core/execution/posix.rb'
85
73
  - 'lib/framework/detector/os_detector.rb'
86
74
 
87
- Lint/RescueException:
88
- Exclude:
89
- - 'lib/custom_facts/util/parser.rb'
90
-
91
75
  Metrics/ClassLength:
92
76
  Exclude:
93
77
  - 'lib/custom_facts/util/fact.rb'
@@ -95,26 +79,12 @@ Metrics/ClassLength:
95
79
  - 'lib/custom_facts/util/collection.rb'
96
80
  - 'lib/framework/core/options/option_store.rb'
97
81
  - 'lib/framework/cli/cli.rb'
98
-
99
- Style/DoubleNegation:
100
- Exclude:
101
- - 'lib/custom_facts/util/confine.rb'
102
- - 'lib/custom_facts/util/confine.rb'
103
- - 'lib/custom_facts/core/execution/windows.rb'
104
- - 'lib/custom_facts/core/execution/posix.rb'
82
+ - 'lib/resolvers/networking_linux_resolver.rb'
105
83
 
106
84
  Naming/AccessorMethodName:
107
85
  Exclude:
108
86
  - 'lib/custom_facts/core/suitable.rb'
109
87
 
110
- Style/StderrPuts:
111
- Exclude:
112
- - 'lib/custom_facts/core/logging.rb'
113
-
114
- Style/ModuleFunction:
115
- Exclude:
116
- - 'lib/custom_facts/core/logging.rb'
117
-
118
88
  Naming/MethodName:
119
89
  Exclude:
120
90
  - 'spec/mocks/**/*'
@@ -123,14 +93,6 @@ Naming/PredicateName:
123
93
  Exclude:
124
94
  - 'lib/custom_facts/core/suitable.rb'
125
95
 
126
- Style/MethodMissingSuper:
127
- Exclude:
128
- - 'lib/facter.rb'
129
-
130
- Style/MissingRespondToMissing:
131
- Exclude:
132
- - 'lib/facter.rb'
133
-
134
96
  Naming/FileName:
135
97
  Exclude:
136
98
  - 'lib/facter.rb'
@@ -144,3 +106,60 @@ RSpec/DescribedClass:
144
106
 
145
107
  RSpec/NestedGroups:
146
108
  Max: 5
109
+
110
+ Style/Documentation:
111
+ Enabled: false
112
+
113
+ Style/ClassVars:
114
+ Exclude:
115
+ - !ruby/regexp /(?:(?!.+_resolver.rb).)*$/
116
+
117
+ Style/FrozenStringLiteralComment:
118
+ Exclude:
119
+ - 'spec/custom_facts/util/normalization_spec.rb'
120
+ - 'spec/custom_facts/shared_contexts/platform.rb'
121
+ - 'spec/custom_facts/core/execution/windows_spec.rb'
122
+ - 'spec/custom_facts/core/execution/posix_spec.rb'
123
+ - 'lib/custom_facts/util/resolution.rb'
124
+ - 'lib/custom_facts/core/execution/windows.rb'
125
+ - 'lib/custom_facts/core/execution/posix.rb'
126
+
127
+ Style/TrivialAccessors:
128
+ AllowDSLWriters: true
129
+
130
+ Style/CaseEquality:
131
+ Exclude:
132
+ - 'spec/custom_facts/util/confine_spec.rb'
133
+ - 'lib/custom_facts/util/confine.rb'
134
+
135
+ Style/DoubleNegation:
136
+ Exclude:
137
+ - 'lib/custom_facts/util/confine.rb'
138
+ - 'lib/custom_facts/util/confine.rb'
139
+ - 'lib/custom_facts/core/execution/windows.rb'
140
+ - 'lib/custom_facts/core/execution/posix.rb'
141
+
142
+ Style/MethodMissingSuper:
143
+ Exclude:
144
+ - 'lib/facter.rb'
145
+
146
+ Style/MissingRespondToMissing:
147
+ Exclude:
148
+ - 'lib/facter.rb'
149
+
150
+ Style/StderrPuts:
151
+ Exclude:
152
+ - 'lib/custom_facts/core/logging.rb'
153
+
154
+ Style/ModuleFunction:
155
+ Exclude:
156
+ - 'lib/custom_facts/core/logging.rb'
157
+
158
+ Style/HashEachMethods:
159
+ Enabled: false # not implemted in ruby 2.3
160
+
161
+ Style/HashTransformKeys:
162
+ Enabled: false # not implemted in ruby 2.3
163
+
164
+ Style/HashTransformValues:
165
+ Enabled: false # not implemted in ruby 2.3