simp-rspec-puppet-facts 3.2.0 → 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -3
  3. data/facts/2.5/almalinux-8-x86_64.facts +1337 -0
  4. data/facts/2.5/almalinux-9-x86_64.facts +1309 -0
  5. data/facts/2.5/amazon-2-x86_64.facts +357 -336
  6. data/facts/2.5/centos-7-x86_64.facts +215 -148
  7. data/facts/2.5/centos-8-x86_64.facts +244 -240
  8. data/facts/2.5/centos-9-x86_64.facts +1290 -0
  9. data/facts/2.5/oraclelinux-7-x86_64.facts +231 -163
  10. data/facts/2.5/oraclelinux-8-x86_64.facts +180 -188
  11. data/facts/2.5/redhat-7.9-x86_64.facts +1202 -0
  12. data/facts/2.5/redhat-8-x86_64.facts +189 -196
  13. data/facts/2.5/redhat-9-x86_64.facts +1291 -0
  14. data/facts/2.5/rocky-8-x86_64.facts +425 -270
  15. data/facts/2.5/windows-2012_r2-x64.facts +470 -0
  16. data/facts/2.5/windows-2016-x64.facts +514 -0
  17. data/facts/2.5/windows-2019-x64.facts +514 -0
  18. data/facts/2.5/windows-2022-x64.facts +516 -0
  19. data/facts/4.2/almalinux-8-x86_64.facts +1366 -0
  20. data/facts/4.2/almalinux-9-x86_64.facts +1335 -0
  21. data/facts/4.2/amazon-2-x86_64.facts +1218 -0
  22. data/facts/4.2/centos-7-x86_64.facts +1267 -0
  23. data/facts/4.2/centos-8-x86_64.facts +1316 -0
  24. data/facts/4.2/centos-9-x86_64.facts +1308 -0
  25. data/facts/4.2/oraclelinux-7-x86_64.facts +1251 -0
  26. data/facts/4.2/oraclelinux-8-x86_64.facts +1307 -0
  27. data/facts/4.2/redhat-7-x86_64.facts +1220 -0
  28. data/facts/4.2/redhat-8-x86_64.facts +1300 -0
  29. data/facts/4.2/redhat-9-x86_64.facts +1312 -0
  30. data/facts/4.2/rocky-8-x86_64.facts +1507 -0
  31. data/facts/4.2/windows-2012_r2-x64.facts +473 -0
  32. data/facts/4.2/windows-2016-x64.facts +517 -0
  33. data/facts/4.2/windows-2019-x64.facts +517 -0
  34. data/facts/4.2/windows-2022-x64.facts +519 -0
  35. data/lib/simp/rspec-puppet-facts.rb +48 -24
  36. data/lib/simp/version.rb +1 -1
  37. data/spec/acceptance/nodesets/almalinux8.yml +23 -0
  38. data/spec/acceptance/nodesets/almalinux9.yml +23 -0
  39. data/spec/acceptance/nodesets/amzn2.yml +23 -0
  40. data/spec/acceptance/nodesets/centos8.yml +1 -1
  41. data/spec/acceptance/nodesets/centos9.yml +23 -0
  42. data/spec/acceptance/nodesets/rhel8.yml +2 -1
  43. data/spec/acceptance/nodesets/rhel9.yml +23 -0
  44. data/spec/acceptance/nodesets/rocky8.yml +1 -1
  45. data/spec/acceptance/nodesets/win_2012r2.yml +12 -2
  46. data/spec/acceptance/nodesets/win_2016.yml +12 -2
  47. data/spec/acceptance/nodesets/win_2019.yml +12 -1
  48. data/spec/acceptance/nodesets/win_2022.yml +38 -0
  49. data/spec/acceptance/suites/default/00_default_spec.rb +7 -3
  50. data/spec/acceptance/suites/default/nodesets +1 -1
  51. data/spec/fixtures/metadata.json +17 -13
  52. data/spec/simp_rspec_puppet_facts_spec.rb +12 -10
  53. data/spec/spec_helper_acceptance.rb +32 -1
  54. metadata +116 -55
@@ -0,0 +1,519 @@
1
+ {
2
+ "ssh": {
3
+ "rsa": {
4
+ "fingerprints": {
5
+ "sha1": "SSHFP 1 1 c9c6a7d705c6774c7829f67fc72b3d7c29e0d163",
6
+ "sha256": "SSHFP 1 2 9f9f5cac7819706485a13d0eb3c2583880cab465d5394585224024c7e6a74382"
7
+ },
8
+ "key": "AAAAB3NzaC1yc2EAAAADAQABAAABgQC7vsBNvIkSkalOPAYB1pn4I62w59SA/5VUkUp3fuDyNv3RPxMBFLBfygeU0qkrMR0qM/hsQYH9Grfk7WeXpKr7TYWB7d/Tp4drlYCsqa0apbTKo7pIeIXn7lfpI63dymau/y3QNl8NUF9jwdWro+EA0RBjUClDycv2v0ILoLkrAxtB5zluwCSxWvd2rfpbyAfjT93basoJLJjJqDvdDwC3xgwHzqF+Vy7dmPMhrjgdqgIoQDnhMjrq+KJE6MCz1CPvmPJGMhVxp8fXDBe78qc5SAeYUfL04PxI1Mmzr4Vueo2LgGoAG9dEGuN+ln9KaxjUFj/r1R95YTSq3DKKZQ4PkVbOctdOEKBE9HVGy1hAjrmNYjH54ZQR+YAhiVoK2Xm/l6/f+KQdcwxFnqCvV5BYKRTLRty/uiHOSVOOt06CYxtF9WLF8sEUwoolKvHiqhdeb6zVP7OdFT8uIBPndrRvlwvRIvR/FtUMq8dAjmzfFLDI2ED7GKPTbjwIvNTa83U=",
9
+ "type": "ssh-rsa"
10
+ },
11
+ "dsa": {
12
+ "fingerprints": {
13
+ "sha1": "SSHFP 2 1 cd9116d2dece7e130e2ee3e9fe72da9fcc0adc07",
14
+ "sha256": "SSHFP 2 2 8ba42d8e2836f480c32f5c5ead41dfe26615144d48f8512e9b06a59535cb0cd9"
15
+ },
16
+ "key": "AAAAB3NzaC1kc3MAAACBAKvSZ2Dhkcpn+BG5mvBhQ4rIH6kYm6XPItJGvtKMXHWnSzsiIBgONmrAbNs+TEwItRDa2RFCdFW4grXU4GDhaWmUdBaHVr8+CkBrM4ngeq7t05bx8fPHcSYmw9XjwprHekjbVO4EEMEloiOpmvQXDquQsaYcwByH+Pwnv/NSP9MfAAAAFQDE9zf4lkeAApcjMLfkYOFVspIp4QAAAIB7HguAoHacDJHqJ6pJPRResYKbw0wF/YrAZ0Il01KY8dH5JAqc66XEZ0oR95TC7kHt+3i36iPWL4YDqxCxAqmIIT0vU+QoYXxbtmrB5a7wiaNVQSHkI8UC+Yw8N/XsXLnCywzub4c2MK2kGL+f3cpqcM3jMq7NWcqIvCpKRxCm7QAAAIAf9brgdRTqeFx/C2iP2xKmRb9K29XgRFEaXxswrk3uI3S1iblr6npMzQcOZTlUevV/iOtir9Kv/FFt346zm+y90y9NJhoF3FsrW1tjFVd2udF4g96vXzhkXI77HIAf+GV7ZzWrsBIditH8Wu/T34vHsx5xzY66InxxvMnLmpd3QA==",
17
+ "type": "ssh-dss"
18
+ },
19
+ "ecdsa": {
20
+ "fingerprints": {
21
+ "sha1": "SSHFP 3 1 c05b1330ee86c3438954273f5a5d12969c876bfd",
22
+ "sha256": "SSHFP 3 2 2bfbdc7213a7fe6ba1bb66bd5fa364368d5f107113a4f686e43dda6f66cba787"
23
+ },
24
+ "key": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNK5J0+zdMXmvXdzOWqcjg7AzsGWQ87sDUnAuHqhuZnN3XnOZD7Nw2BUESrl1oEprzlfJMzkvCPaZ1hKoDyKIhY=",
25
+ "type": "ecdsa-sha2-nistp256"
26
+ },
27
+ "ed25519": {
28
+ "fingerprints": {
29
+ "sha1": "SSHFP 4 1 14c52e3566db68750f6075f7c611427772ba7819",
30
+ "sha256": "SSHFP 4 2 33f687ad531eaafb627934af72613ca89371aea3ab6c4c4d583d27d013a06122"
31
+ },
32
+ "key": "AAAAC3NzaC1lZDI1NTE5AAAAIDm2KwSiM8yjT5o4BP2jhnQgPAWDZDgPcHyO3H8Ldkpv",
33
+ "type": "ssh-ed25519"
34
+ }
35
+ },
36
+ "aio_agent_version": "6.27.1",
37
+ "identity": {
38
+ "privileged": true,
39
+ "user": "WIN\\vagrant"
40
+ },
41
+ "id": "WIN\\vagrant",
42
+ "facterversion": "4.2.8",
43
+ "interfaces": "Ethernet",
44
+ "ipaddress6_Ethernet": "fe80::3511:26f9:2160:7b9e",
45
+ "is_virtual": true,
46
+ "scope6_Ethernet": "link",
47
+ "fips_enabled": false,
48
+ "kernelmajversion": "10.0",
49
+ "kernelrelease": "10.0.20348",
50
+ "ipaddress_Ethernet": "10.0.2.15",
51
+ "macaddress_Ethernet": "08:00:27:B7:BA:D5",
52
+ "kernelversion": "10.0.20348",
53
+ "sshrsakey": "AAAAB3NzaC1yc2EAAAADAQABAAABgQC7vsBNvIkSkalOPAYB1pn4I62w59SA/5VUkUp3fuDyNv3RPxMBFLBfygeU0qkrMR0qM/hsQYH9Grfk7WeXpKr7TYWB7d/Tp4drlYCsqa0apbTKo7pIeIXn7lfpI63dymau/y3QNl8NUF9jwdWro+EA0RBjUClDycv2v0ILoLkrAxtB5zluwCSxWvd2rfpbyAfjT93basoJLJjJqDvdDwC3xgwHzqF+Vy7dmPMhrjgdqgIoQDnhMjrq+KJE6MCz1CPvmPJGMhVxp8fXDBe78qc5SAeYUfL04PxI1Mmzr4Vueo2LgGoAG9dEGuN+ln9KaxjUFj/r1R95YTSq3DKKZQ4PkVbOctdOEKBE9HVGy1hAjrmNYjH54ZQR+YAhiVoK2Xm/l6/f+KQdcwxFnqCvV5BYKRTLRty/uiHOSVOOt06CYxtF9WLF8sEUwoolKvHiqhdeb6zVP7OdFT8uIBPndrRvlwvRIvR/FtUMq8dAjmzfFLDI2ED7GKPTbjwIvNTa83U=",
54
+ "sshdsakey": "AAAAB3NzaC1kc3MAAACBAKvSZ2Dhkcpn+BG5mvBhQ4rIH6kYm6XPItJGvtKMXHWnSzsiIBgONmrAbNs+TEwItRDa2RFCdFW4grXU4GDhaWmUdBaHVr8+CkBrM4ngeq7t05bx8fPHcSYmw9XjwprHekjbVO4EEMEloiOpmvQXDquQsaYcwByH+Pwnv/NSP9MfAAAAFQDE9zf4lkeAApcjMLfkYOFVspIp4QAAAIB7HguAoHacDJHqJ6pJPRResYKbw0wF/YrAZ0Il01KY8dH5JAqc66XEZ0oR95TC7kHt+3i36iPWL4YDqxCxAqmIIT0vU+QoYXxbtmrB5a7wiaNVQSHkI8UC+Yw8N/XsXLnCywzub4c2MK2kGL+f3cpqcM3jMq7NWcqIvCpKRxCm7QAAAIAf9brgdRTqeFx/C2iP2xKmRb9K29XgRFEaXxswrk3uI3S1iblr6npMzQcOZTlUevV/iOtir9Kv/FFt346zm+y90y9NJhoF3FsrW1tjFVd2udF4g96vXzhkXI77HIAf+GV7ZzWrsBIditH8Wu/T34vHsx5xzY66InxxvMnLmpd3QA==",
55
+ "sshecdsakey": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNK5J0+zdMXmvXdzOWqcjg7AzsGWQ87sDUnAuHqhuZnN3XnOZD7Nw2BUESrl1oEprzlfJMzkvCPaZ1hKoDyKIhY=",
56
+ "sshed25519key": "AAAAC3NzaC1lZDI1NTE5AAAAIDm2KwSiM8yjT5o4BP2jhnQgPAWDZDgPcHyO3H8Ldkpv",
57
+ "sshfp_rsa": "SSHFP 1 1 c9c6a7d705c6774c7829f67fc72b3d7c29e0d163\nSSHFP 1 2 9f9f5cac7819706485a13d0eb3c2583880cab465d5394585224024c7e6a74382",
58
+ "sshfp_dsa": "SSHFP 2 1 cd9116d2dece7e130e2ee3e9fe72da9fcc0adc07\nSSHFP 2 2 8ba42d8e2836f480c32f5c5ead41dfe26615144d48f8512e9b06a59535cb0cd9",
59
+ "sshfp_ecdsa": "SSHFP 3 1 c05b1330ee86c3438954273f5a5d12969c876bfd\nSSHFP 3 2 2bfbdc7213a7fe6ba1bb66bd5fa364368d5f107113a4f686e43dda6f66cba787",
60
+ "sshfp_ed25519": "SSHFP 4 1 14c52e3566db68750f6075f7c611427772ba7819\nSSHFP 4 2 33f687ad531eaafb627934af72613ca89371aea3ab6c4c4d583d27d013a06122",
61
+ "system_uptime": {
62
+ "hours": 0,
63
+ "seconds": 214,
64
+ "uptime": "0:03 hours",
65
+ "days": 0
66
+ },
67
+ "uptime_hours": 0,
68
+ "uptime_seconds": 214,
69
+ "uptime": "0:03 hours",
70
+ "uptime_days": 0,
71
+ "timezone": "Coordinated Universal Time",
72
+ "mtu_Ethernet": 1500,
73
+ "netmask6_Ethernet": "ffff:ffff:ffff:ffff::",
74
+ "netmask_Ethernet": "255.255.0.0",
75
+ "network6_Ethernet": "fe80::",
76
+ "processors": {
77
+ "isa": "x64",
78
+ "models": [
79
+ "Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz"
80
+ ],
81
+ "physicalcount": 1,
82
+ "threads": 1,
83
+ "cores": 2,
84
+ "count": 2
85
+ },
86
+ "hardwareisa": "x64",
87
+ "physicalprocessorcount": 1,
88
+ "processorcount": 2,
89
+ "virtual": "virtualbox",
90
+ "kernel": "windows",
91
+ "networking": {
92
+ "domain": "example.com",
93
+ "fqdn": "foo.example.com",
94
+ "ip": "10.0.2.15",
95
+ "ip6": "fe80::3511:26f9:2160:7b9e",
96
+ "dhcp": "10.0.2.2",
97
+ "mac": "08:00:27:B7:BA:D5",
98
+ "mtu": 1500,
99
+ "netmask": "255.255.0.0",
100
+ "netmask6": "ffff:ffff:ffff:ffff::",
101
+ "interfaces": {
102
+ "Ethernet": {
103
+ "dhcp": "10.0.2.2",
104
+ "mtu": 1500,
105
+ "bindings": [
106
+ {
107
+ "address": "10.0.2.15",
108
+ "netmask": "255.255.0.0",
109
+ "network": "10.0.2.0"
110
+ }
111
+ ],
112
+ "bindings6": [
113
+ {
114
+ "address": "fe80::3511:26f9:2160:7b9e",
115
+ "netmask": "ffff:ffff:ffff:ffff::",
116
+ "network": "fe80::",
117
+ "scope6": "link"
118
+ }
119
+ ],
120
+ "mac": "08:00:27:B7:BA:D5",
121
+ "ip": "10.0.2.15",
122
+ "netmask": "255.255.0.0",
123
+ "network": "10.0.2.0",
124
+ "ip6": "fe80::3511:26f9:2160:7b9e",
125
+ "netmask6": "ffff:ffff:ffff:ffff::",
126
+ "network6": "fe80::",
127
+ "scope6": "link"
128
+ }
129
+ },
130
+ "primary": "Ethernet",
131
+ "network6": "fe80::",
132
+ "scope6": "link",
133
+ "network": "10.0.2.0",
134
+ "hostname": "foo"
135
+ },
136
+ "domain": "example.com",
137
+ "fqdn": "foo.example.com",
138
+ "ipaddress": "10.0.2.15",
139
+ "ipaddress6": "fe80::3511:26f9:2160:7b9e",
140
+ "macaddress": "08:00:27:B7:BA:D5",
141
+ "netmask": "255.255.0.0",
142
+ "netmask6": "ffff:ffff:ffff:ffff::",
143
+ "network6": "fe80::",
144
+ "scope6": "link",
145
+ "network": "10.0.2.0",
146
+ "hostname": "foo",
147
+ "dhcp_servers": {
148
+ "system": "10.0.2.2",
149
+ "Ethernet": "10.0.2.2"
150
+ },
151
+ "dmi": {
152
+ "product": {
153
+ "name": "VirtualBox",
154
+ "serial_number": "0",
155
+ "uuid": "40F8DCA0-462E-43D0-9825-75B06079E200"
156
+ },
157
+ "manufacturer": "innotek GmbH"
158
+ },
159
+ "productname": "VirtualBox",
160
+ "serialnumber": "0",
161
+ "uuid": "40F8DCA0-462E-43D0-9825-75B06079E200",
162
+ "manufacturer": "innotek GmbH",
163
+ "network_Ethernet": "10.0.2.0",
164
+ "os": {
165
+ "windows": {
166
+ "product_name": "Windows Server 2022 Standard Evaluation",
167
+ "display_version": "21H2",
168
+ "release_id": "21H2",
169
+ "system32": "C:\\Windows\\system32",
170
+ "edition_id": "ServerStandardEval",
171
+ "installation_type": "Server"
172
+ },
173
+ "family": "windows",
174
+ "hardware": "x86_64",
175
+ "name": "windows",
176
+ "release": {
177
+ "full": "2022",
178
+ "major": "2022"
179
+ },
180
+ "architecture": "x64"
181
+ },
182
+ "windows_product_name": "Windows Server 2022 Standard Evaluation",
183
+ "windows_display_version": "21H2",
184
+ "windows_release_id": "21H2",
185
+ "system32": "C:\\Windows\\system32",
186
+ "windows_edition_id": "ServerStandardEval",
187
+ "windows_installation_type": "Server",
188
+ "osfamily": "windows",
189
+ "hardwaremodel": "x86_64",
190
+ "operatingsystem": "windows",
191
+ "operatingsystemmajrelease": "2022",
192
+ "operatingsystemrelease": "2022",
193
+ "architecture": "x64",
194
+ "path": "C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/../../../bin;C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/../../../../puppet/bin;C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\OpenSSH-Win64;C:\\opscode\\chef\\bin\\;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Windows\\system32\\config\\systemprofile\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\vagrant\\AppData\\Local\\Microsoft\\WindowsApps;",
195
+ "hypervisors": {
196
+ "virtualbox": {
197
+ "version": "6.1.34",
198
+ "revision": "150636"
199
+ }
200
+ },
201
+ "memory": {
202
+ "system": {
203
+ "available": "1.13 GiB",
204
+ "available_bytes": 1209090048,
205
+ "capacity": "43.34%",
206
+ "total": "1.99 GiB",
207
+ "total_bytes": 2133962752,
208
+ "used": "882.03 MiB",
209
+ "used_bytes": 924872704
210
+ }
211
+ },
212
+ "memoryfree": "1.13 GiB",
213
+ "memoryfree_mb": 1153.078125,
214
+ "memorysize": "1.99 GiB",
215
+ "memorysize_mb": 2035.10546875,
216
+ "processor0": "Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz",
217
+ "ruby": {
218
+ "version": "2.5.9",
219
+ "sitedir": "C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/site_ruby/2.5.0",
220
+ "platform": "x64-mingw32"
221
+ },
222
+ "rubyversion": "2.5.9",
223
+ "rubysitedir": "C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/site_ruby/2.5.0",
224
+ "rubyplatform": "x64-mingw32",
225
+ "env_windows_installdir": "C:\\Program Files\\Puppet Labs\\Puppet",
226
+ "puppetversion": "6.27.0",
227
+ "puppet_ruby_dir": "C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet",
228
+ "init_systems": [
229
+ "rc"
230
+ ],
231
+ "reboot_required": false,
232
+ "puppet_settings": {
233
+ "main": {
234
+ "facterng": "true",
235
+ "confdir": "C:/ProgramData/PuppetLabs/puppet/etc",
236
+ "codedir": "C:/ProgramData/PuppetLabs/code",
237
+ "vardir": "C:/ProgramData/PuppetLabs/puppet/cache",
238
+ "name": "facts",
239
+ "logdir": "C:/ProgramData/PuppetLabs/puppet/var/log",
240
+ "log_level": "notice",
241
+ "disable_warnings": "[]",
242
+ "merge_dependency_warnings": "false",
243
+ "strict": "warning",
244
+ "disable_i18n": "false",
245
+ "priority": "",
246
+ "trace": "false",
247
+ "puppet_trace": "false",
248
+ "profile": "false",
249
+ "future_features": "false",
250
+ "versioned_environment_dirs": "false",
251
+ "static_catalogs": "true",
252
+ "strict_environment_mode": "false",
253
+ "autoflush": "true",
254
+ "syslogfacility": "daemon",
255
+ "statedir": "C:/ProgramData/PuppetLabs/puppet/cache/state",
256
+ "rundir": "C:/ProgramData/PuppetLabs/puppet/var/run",
257
+ "genconfig": "false",
258
+ "genmanifest": "false",
259
+ "color": "ansi",
260
+ "mkusers": "false",
261
+ "manage_internal_file_permissions": "false",
262
+ "onetime": "false",
263
+ "path": "none",
264
+ "libdir": "C:/ProgramData/PuppetLabs/puppet/cache/lib",
265
+ "environment": "production",
266
+ "environmentpath": "C:/ProgramData/PuppetLabs/code/environments",
267
+ "use_last_environment": "true",
268
+ "always_retry_plugins": "true",
269
+ "diff_args": "-u",
270
+ "diff": "",
271
+ "show_diff": "false",
272
+ "daemonize": "false",
273
+ "maximum_uid": "4294967290",
274
+ "route_file": "C:/ProgramData/PuppetLabs/puppet/etc/routes.yaml",
275
+ "node_terminus": "plain",
276
+ "node_cache_terminus": "",
277
+ "data_binding_terminus": "hiera",
278
+ "hiera_config": "C:/ProgramData/PuppetLabs/puppet/etc/hiera.yaml",
279
+ "binder_config": "",
280
+ "catalog_terminus": "compiler",
281
+ "catalog_cache_terminus": "",
282
+ "facts_terminus": "facter",
283
+ "trusted_external_command": "",
284
+ "default_file_terminus": "rest",
285
+ "http_proxy_host": "none",
286
+ "http_proxy_port": "3128",
287
+ "http_proxy_user": "none",
288
+ "http_proxy_password": "none",
289
+ "no_proxy": "localhost, 127.0.0.1",
290
+ "http_keepalive_timeout": "4",
291
+ "http_debug": "false",
292
+ "http_connect_timeout": "120",
293
+ "http_read_timeout": "600",
294
+ "http_user_agent": "Puppet/6.27.0 Ruby/2.5.9-p229 (x64-mingw32)",
295
+ "filetimeout": "15",
296
+ "environment_timeout": "0",
297
+ "environment_timeout_mode": "from_created",
298
+ "environment_data_provider": "",
299
+ "prerun_command": "",
300
+ "postrun_command": "",
301
+ "freeze_main": "false",
302
+ "preview_outputdir": "C:/ProgramData/PuppetLabs/puppet/cache/preview",
303
+ "location_trusted": "false",
304
+ "certname": "foo.example.com",
305
+ "dns_alt_names": "",
306
+ "csr_attributes": "C:/ProgramData/PuppetLabs/puppet/etc/csr_attributes.yaml",
307
+ "certdir": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs",
308
+ "ssldir": "C:/ProgramData/PuppetLabs/puppet/etc/ssl",
309
+ "ssl_lockfile": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/ssl.lock",
310
+ "publickeydir": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys",
311
+ "requestdir": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests",
312
+ "privatekeydir": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys",
313
+ "privatedir": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/private",
314
+ "passfile": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/private/password",
315
+ "hostcert": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/foo.example.com.pem",
316
+ "hostprivkey": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/foo.example.com.pem",
317
+ "hostpubkey": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/foo.example.com.pem",
318
+ "localcacert": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca.pem",
319
+ "ca_fingerprint": "",
320
+ "ssl_trust_store": "",
321
+ "ssl_client_ca_auth": "",
322
+ "hostcrl": "C:/ProgramData/PuppetLabs/puppet/etc/ssl/crl.pem",
323
+ "certificate_revocation": "chain",
324
+ "ciphers": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256",
325
+ "key_type": "rsa",
326
+ "named_curve": "prime256v1",
327
+ "digest_algorithm": "md5",
328
+ "supported_checksum_types": "[\"md5\", \"sha256\", \"sha384\", \"sha512\", \"sha224\"]",
329
+ "logdest": "",
330
+ "plugindest": "C:/ProgramData/PuppetLabs/puppet/cache/lib",
331
+ "pluginsource": "puppet:///plugins",
332
+ "pluginfactdest": "C:/ProgramData/PuppetLabs/puppet/cache/facts.d",
333
+ "pluginfactsource": "puppet:///pluginfacts",
334
+ "localedest": "C:/ProgramData/PuppetLabs/puppet/cache/locales",
335
+ "localesource": "puppet:///locales",
336
+ "pluginsync": "true",
337
+ "pluginsignore": ".svn CVS .git .hg",
338
+ "ignore_plugin_errors": "true",
339
+ "factpath": "C:/ProgramData/PuppetLabs/puppet/cache/lib/facter;C:/ProgramData/PuppetLabs/puppet/cache/facts",
340
+ "external_nodes": "none",
341
+ "rich_data": "true"
342
+ },
343
+ "module_tool": {
344
+ "module_repository": "https://forgeapi.puppet.com",
345
+ "module_working_dir": "C:/Users/vagrant/AppData/Local/Temp",
346
+ "forge_authorization": "",
347
+ "module_groups": ""
348
+ },
349
+ "ca": {
350
+ "ca_name": "Puppet CA: foo.example.com",
351
+ "cadir": "C:/Users/vagrant",
352
+ "cacert": "C:/Users/vagrant/ca_crt.pem",
353
+ "cakey": "C:/Users/vagrant/ca_key.pem",
354
+ "capub": "C:/Users/vagrant/ca_pub.pem",
355
+ "cacrl": "C:/Users/vagrant/ca_crl.pem",
356
+ "csrdir": "C:/Users/vagrant/requests",
357
+ "signeddir": "C:/Users/vagrant/signed",
358
+ "serial": "C:/Users/vagrant/serial",
359
+ "autosign": "C:/ProgramData/PuppetLabs/puppet/etc/autosign.conf",
360
+ "allow_duplicate_certs": "false",
361
+ "ca_ttl": "157680000",
362
+ "crl_refresh_interval": "",
363
+ "keylength": "4096",
364
+ "cert_inventory": "C:/Users/vagrant/inventory.txt"
365
+ },
366
+ "application": {
367
+ "config_file_name": "puppet.conf",
368
+ "config": "C:/ProgramData/PuppetLabs/puppet/etc/puppet.conf",
369
+ "pidfile": "C:/ProgramData/PuppetLabs/puppet/var/run/application.pid",
370
+ "sourceaddress": ""
371
+ },
372
+ "environment": {
373
+ "manifest": "C:/ProgramData/PuppetLabs/code/environments/production/manifests",
374
+ "modulepath": "C:/ProgramData/PuppetLabs/code/environments/production/modules;C:/ProgramData/PuppetLabs/code/modules;C:/Program Files/Puppet Labs/Puppet/puppet/modules",
375
+ "config_version": ""
376
+ },
377
+ "server": {
378
+ "user": "puppet",
379
+ "group": "puppet",
380
+ "default_manifest": "./manifests",
381
+ "disable_per_environment_manifest": "false",
382
+ "code": "",
383
+ "masterport": "8140",
384
+ "serverport": "8140",
385
+ "bucketdir": "C:/ProgramData/PuppetLabs/puppet/cache/bucket",
386
+ "trusted_oid_mapping_file": "C:/ProgramData/PuppetLabs/puppet/etc/custom_trusted_oid_mapping.yaml",
387
+ "basemodulepath": "C:/ProgramData/PuppetLabs/code/modules;C:/Program Files/Puppet Labs/Puppet/puppet/modules",
388
+ "vendormoduledir": "C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\vendor_modules",
389
+ "ssl_client_header": "HTTP_X_CLIENT_DN",
390
+ "ssl_client_verify_header": "HTTP_X_CLIENT_VERIFY",
391
+ "yamldir": "C:/ProgramData/PuppetLabs/puppet/cache/yaml",
392
+ "server_datadir": "C:/ProgramData/PuppetLabs/puppet/cache/server_data",
393
+ "reports": "store",
394
+ "reportdir": "C:/ProgramData/PuppetLabs/puppet/cache/reports",
395
+ "reporturl": "http://localhost:3000/reports/upload",
396
+ "fileserverconfig": "C:/ProgramData/PuppetLabs/puppet/etc/fileserver.conf",
397
+ "strict_hostname_checking": "true",
398
+ "storeconfigs": "false",
399
+ "storeconfigs_backend": "puppetdb"
400
+ },
401
+ "device": {
402
+ "devicedir": "C:/ProgramData/PuppetLabs/puppet/cache/devices",
403
+ "deviceconfig": "C:/ProgramData/PuppetLabs/puppet/etc/device.conf"
404
+ },
405
+ "agent": {
406
+ "node_name_value": "foo.example.com",
407
+ "node_name_fact": "",
408
+ "statefile": "C:/ProgramData/PuppetLabs/puppet/cache/state/state.yaml",
409
+ "statettl": "2764800",
410
+ "transactionstorefile": "C:/ProgramData/PuppetLabs/puppet/cache/state/transactionstore.yaml",
411
+ "clientyamldir": "C:/ProgramData/PuppetLabs/puppet/cache/client_yaml",
412
+ "client_datadir": "C:/ProgramData/PuppetLabs/puppet/cache/client_data",
413
+ "write_catalog_summary": "true",
414
+ "classfile": "C:/ProgramData/PuppetLabs/puppet/cache/state/classes.txt",
415
+ "resourcefile": "C:/ProgramData/PuppetLabs/puppet/cache/state/resources.txt",
416
+ "puppetdlog": "C:/ProgramData/PuppetLabs/puppet/var/log/puppetd.log",
417
+ "deviceconfdir": "C:/ProgramData/PuppetLabs/puppet/etc/devices",
418
+ "server": "puppet",
419
+ "server_list": "[]",
420
+ "use_srv_records": "false",
421
+ "srv_domain": "example.com",
422
+ "http_extra_headers": "[]",
423
+ "ignoreschedules": "false",
424
+ "default_schedules": "true",
425
+ "noop": "false",
426
+ "runinterval": "1800",
427
+ "runtimeout": "3600",
428
+ "ca_server": "puppet",
429
+ "ca_port": "8140",
430
+ "preferred_serialization_format": "json",
431
+ "agent_catalog_run_lockfile": "C:/ProgramData/PuppetLabs/puppet/cache/state/agent_catalog_run.lock",
432
+ "agent_disabled_lockfile": "C:/ProgramData/PuppetLabs/puppet/cache/state/agent_disabled.lock",
433
+ "usecacheonfailure": "true",
434
+ "use_cached_catalog": "false",
435
+ "ignoremissingtypes": "false",
436
+ "splaylimit": "1800",
437
+ "splay": "false",
438
+ "clientbucketdir": "C:/ProgramData/PuppetLabs/puppet/cache/clientbucket",
439
+ "report_server": "puppet",
440
+ "report_port": "8140",
441
+ "report": "true",
442
+ "report_include_system_store": "false",
443
+ "resubmit_facts": "false",
444
+ "lastrunfile": "C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_summary.yaml",
445
+ "lastrunreport": "C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_report.yaml",
446
+ "graph": "false",
447
+ "graphdir": "C:/ProgramData/PuppetLabs/puppet/cache/state/graphs",
448
+ "waitforcert": "120",
449
+ "maxwaitforcert": "Infinity",
450
+ "waitforlock": "0",
451
+ "maxwaitforlock": "60"
452
+ },
453
+ "transaction": {
454
+ "tags": "",
455
+ "skip_tags": "",
456
+ "evaltrace": "false",
457
+ "summarize": "false"
458
+ },
459
+ "ldap": {
460
+ "ldapssl": "false",
461
+ "ldaptls": "false",
462
+ "ldapserver": "ldap",
463
+ "ldapport": "389",
464
+ "ldapstring": "(&(objectclass=puppetClient)(cn=%s))",
465
+ "ldapclassattrs": "puppetclass",
466
+ "ldapstackedattrs": "puppetvar",
467
+ "ldapattrs": "all",
468
+ "ldapparentattr": "parentnode",
469
+ "ldapuser": "",
470
+ "ldappassword": "",
471
+ "ldapbase": ""
472
+ },
473
+ "parser": {
474
+ "max_errors": "10",
475
+ "max_warnings": "10",
476
+ "max_deprecations": "10",
477
+ "strict_variables": "false",
478
+ "func3x_check": "true",
479
+ "tasks": "false"
480
+ },
481
+ "puppetdoc": {
482
+ "document_all": "false"
483
+ },
484
+ "master": {
485
+ "user": "puppet",
486
+ "group": "puppet",
487
+ "default_manifest": "./manifests",
488
+ "disable_per_environment_manifest": "false",
489
+ "code": "",
490
+ "masterport": "8140",
491
+ "serverport": "8140",
492
+ "bucketdir": "C:/ProgramData/PuppetLabs/puppet/cache/bucket",
493
+ "trusted_oid_mapping_file": "C:/ProgramData/PuppetLabs/puppet/etc/custom_trusted_oid_mapping.yaml",
494
+ "basemodulepath": "C:/ProgramData/PuppetLabs/code/modules;C:/Program Files/Puppet Labs/Puppet/puppet/modules",
495
+ "vendormoduledir": "C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\vendor_modules",
496
+ "ssl_client_header": "HTTP_X_CLIENT_DN",
497
+ "ssl_client_verify_header": "HTTP_X_CLIENT_VERIFY",
498
+ "yamldir": "C:/ProgramData/PuppetLabs/puppet/cache/yaml",
499
+ "server_datadir": "C:/ProgramData/PuppetLabs/puppet/cache/server_data",
500
+ "reports": "store",
501
+ "reportdir": "C:/ProgramData/PuppetLabs/puppet/cache/reports",
502
+ "reporturl": "http://localhost:3000/reports/upload",
503
+ "fileserverconfig": "C:/ProgramData/PuppetLabs/puppet/etc/fileserver.conf",
504
+ "strict_hostname_checking": "true",
505
+ "storeconfigs": "false",
506
+ "storeconfigs_backend": "puppetdb"
507
+ }
508
+ },
509
+ "openldap_arch": "i386",
510
+ "package_provider": "windows",
511
+ "is_pe": false,
512
+ "puppet_vardir": "C:/ProgramData/PuppetLabs/puppet/cache",
513
+ "puppet_environmentpath": "C:/ProgramData/PuppetLabs/code/environments",
514
+ "puppet_server": "puppet",
515
+ "service_provider": "windows",
516
+ "clientcert": "foo.example.com",
517
+ "clientversion": "6.27.0",
518
+ "clientnoop": false
519
+ }
@@ -7,38 +7,63 @@ module Simp::RspecPuppetFacts
7
7
 
8
8
  SELINUX_MODES = [:enforcing, :disabled, :permissive]
9
9
 
10
- def supported_os_strings( opts )
10
+ def supported_os_strings( opts, known_os_list=[] )
11
11
  supported_os = opts.fetch(:supported_os, RspecPuppetFacts.meta_supported_os)
12
12
  hardwaremodels = opts.fetch(:hardwaremodels, ['x86_64'])
13
13
  os_strings = []
14
14
  supported_os.each do |os|
15
- os['operatingsystemrelease'].each do |rel|
16
- hardwaremodels.each do |hw|
17
- os_strings << [os['operatingsystem'],rel,hw].map{|x| x.downcase.gsub(/\s/,'_') }.join('-')
15
+ os_name = os['operatingsystem'].downcase.gsub(/\s/,'_')
16
+
17
+ os['operatingsystemrelease'] ||= []
18
+ if os['operatingsystemrelease'].empty?
19
+ # Just pick the latest one
20
+ os_strings.push(
21
+ known_os_list
22
+ .select{|x| x.start_with?(os_name)}
23
+ .sort.last
24
+ )
25
+ else
26
+ os['operatingsystemrelease'].each do |rel|
27
+ hardwaremodels.each do |hw|
28
+ os_strings.push([os_name, rel, hw].join('-'))
29
+ end
18
30
  end
19
31
  end
20
32
  end
21
- os_strings
33
+
34
+ os_strings.compact
22
35
  end
23
36
 
24
37
  # Don't ask rspec-puppet-facts for operatingsystems we've already recorded
25
38
  # because if it doesn't have them it will crash
26
- def filter_opts( opts, simp_h, filter_type = :reject )
39
+ def filter_opts( opts, simp_h )
27
40
  rfh_hw = opts.fetch(:hardwaremodels, ['x86_64'])
28
41
  rfh_os = opts.fetch(:supported_os, RspecPuppetFacts.meta_supported_os).dup
29
- _os = rfh_os.send(filter_type) do |os|
30
- _name = os['operatingsystem']
31
- _rels = os['operatingsystemrelease'].send(filter_type) do |rel|
32
- _hw = rfh_hw.send(filter_type) do |hw|
33
- simp_h.key? [_name,rel,hw].map{|x| x.downcase.gsub(/\s/,'_') }.join('-')
42
+
43
+ filtered_opts = []
44
+ rfh_os.each do |os|
45
+ os['operatingsystemrelease'] ||= []
46
+ if os['operatingsystemrelease'].empty?
47
+ os_release = simp_h.keys
48
+ .select{|x| x.start_with?(os['operatingsystem'].downcase) }
49
+ .sort
50
+ .last
51
+
52
+ os['operatingsystemrelease'] = [os_release.split('-')[1]] if os_release
53
+ end
54
+
55
+ next if os['operatingsystemrelease'].empty?
56
+
57
+ rfh_hw.each do |hw|
58
+ os['operatingsystemrelease'].each do |rel|
59
+ filtered_opts.push(os) unless simp_h.key?([os['operatingsystem'].downcase, rel, hw].join('-'))
34
60
  end
35
- !_hw.empty?
36
61
  end
37
- !_rels.empty?
38
62
  end
39
- _opts = opts.dup
40
- _opts[:supported_os] = _os
41
- _opts
63
+
64
+ ret_opts = opts.dup
65
+ ret_opts[:supported_os] = filtered_opts
66
+ ret_opts
42
67
  end
43
68
 
44
69
  def on_supported_os( opts = {} )
@@ -46,12 +71,13 @@ module Simp::RspecPuppetFacts
46
71
 
47
72
  simp_h = load_facts(opts[:simp_fact_dir_path])
48
73
 
49
- masked_opts = filter_opts(opts, simp_h, :reject)
74
+ masked_opts = filter_opts(opts, simp_h)
50
75
 
51
76
  rfh_h = {}
52
77
  rfh_h = Simp::RspecPuppetFacts::Shim.on_supported_os(masked_opts) unless masked_opts[:supported_os]&.empty?
53
78
 
54
- h = rfh_h.merge(simp_h).select{|k,v| supported_os_strings(opts).include? k}
79
+ merged_os_hash = rfh_h.merge(simp_h)
80
+ h = merged_os_hash.select{|k,v| supported_os_strings(opts, merged_os_hash.keys).include? k}
55
81
 
56
82
  h.each do | os, facts |
57
83
  facter_ver=Facter.version.split('.')[0..1].join('.')
@@ -73,10 +99,10 @@ module Simp::RspecPuppetFacts
73
99
  facts.merge! opts.fetch( :extra_facts_immutable, {} )
74
100
  end
75
101
 
76
- if ( ENV.fetch('SIMP_FACTS_OS',nil) &&
77
- !ENV['SIMP_FACTS_OS'].strip.empty? &&
102
+ if ( ENV['SIMP_FACTS_OS'] &&
103
+ !ENV['SIMP_FACTS_OS'].to_s.strip.empty? &&
78
104
  ENV['SIMP_FACTS_OS'] !~ /all/i )
79
- unless ENV['SIMP_FACTS_OS'].strip.split(/[ ,]+/).include? os
105
+ unless ENV['SIMP_FACTS_OS'].strip.split(/[ ,]+/).any?{|str| os == str || os.match?(%r[#{str}]) }
80
106
  h.delete(os)
81
107
  end
82
108
  end
@@ -92,9 +118,7 @@ module Simp::RspecPuppetFacts
92
118
  # attempt to massage a major release version if missing (for facter 1.6)
93
119
  unless ENV['SIMP_FACTS_lsb'] == 'no'
94
120
  puts "==== mocking lsb facts [disable with SIMP_FACTS_lsb=no]" if ENV['VERBOSE']
95
- rel = facts.fetch(:operatingsystemmajrelease,
96
- facts.fetch(:operatingsystemrelease).split('.').first)
97
- lsb_facts[:lsbmajdistrelease] = rel
121
+ lsb_facts[:lsbmajdistrelease] = facts[:os][:release][:major]
98
122
  end
99
123
  lsb_facts
100
124
  end
data/lib/simp/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Simp; end
2
2
  module Simp::RspecPuppetFacts
3
- VERSION = '3.2.0'
3
+ VERSION = '3.5.1'
4
4
  end