simp-rspec-puppet-facts 3.13.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +130 -9
  3. data/facts/3.6/amazon-2-x86_64.facts +6 -6
  4. data/facts/5.1/almalinux-10-x86_64.facts +1437 -0
  5. data/facts/5.1/almalinux-8-x86_64.facts +1551 -0
  6. data/facts/5.1/almalinux-9-x86_64.facts +1600 -0
  7. data/facts/5.1/amazon-2-x86_64.facts +1432 -0
  8. data/facts/5.1/centos-10-x86_64.facts +1396 -0
  9. data/facts/5.1/centos-9-x86_64.facts +1537 -0
  10. data/facts/5.1/oraclelinux-10-x86_64.facts +1419 -0
  11. data/facts/5.1/oraclelinux-8-x86_64.facts +1545 -0
  12. data/facts/5.1/oraclelinux-9-x86_64.facts +1604 -0
  13. data/facts/5.1/redhat-10-x86_64.facts +1439 -0
  14. data/facts/5.1/redhat-8-x86_64.facts +1453 -0
  15. data/facts/5.1/redhat-9-x86_64.facts +1505 -0
  16. data/facts/5.1/rocky-10-x86_64.facts +1348 -0
  17. data/facts/5.1/rocky-8-x86_64.facts +1453 -0
  18. data/facts/5.1/rocky-9-x86_64.facts +1620 -0
  19. data/facts/5.1/windows-2016-x64.facts +525 -0
  20. data/facts/5.1/windows-2019-x64.facts +529 -0
  21. data/facts/5.1/windows-2022-x64.facts +531 -0
  22. data/facts/5.1/windows-2025-x64.facts +527 -0
  23. data/facts/scripts/gce_scrub_data/centos-6-x86_64.scrub.yaml +1 -1
  24. data/facts/scripts/gce_scrub_data/centos-7-x86_64.scrub.yaml +1 -1
  25. data/facts/scripts/gce_scrub_data/oraclelinux-6-x86_64.scrub.yaml +1 -1
  26. data/facts/scripts/gce_scrub_data/oraclelinux-7-x86_64.scrub.yaml +1 -1
  27. data/facts/scripts/gce_scrub_data/redhat-7-x86_64.scrub.yaml +1 -1
  28. data/facts/scripts/gce_scrub_data.rb +15 -15
  29. data/facts/scripts/get_facts.rb +3 -3
  30. data/lib/simp/rspec-puppet-facts.rb +109 -73
  31. data/lib/simp/version.rb +3 -1
  32. data/spec/acceptance/nodesets/{centos7.yml → almalinux10.yml} +5 -7
  33. data/spec/acceptance/nodesets/almalinux8.yml +1 -1
  34. data/spec/acceptance/nodesets/almalinux9.yml +1 -1
  35. data/spec/acceptance/nodesets/{centos8.yml → centos10.yml} +5 -7
  36. data/spec/acceptance/nodesets/centos9.yml +2 -2
  37. data/spec/acceptance/nodesets/oel10.yml +16 -0
  38. data/spec/acceptance/nodesets/oel8.yml +6 -13
  39. data/spec/acceptance/nodesets/oel9.yml +3 -2
  40. data/spec/acceptance/nodesets/{rhel7.yml → rhel10.yml} +5 -5
  41. data/spec/acceptance/nodesets/rhel8.yml +1 -1
  42. data/spec/acceptance/nodesets/rhel9.yml +1 -1
  43. data/spec/acceptance/nodesets/rocky10.yml +18 -0
  44. data/spec/acceptance/nodesets/rocky8.yml +2 -2
  45. data/spec/acceptance/nodesets/rocky9.yml +2 -2
  46. data/spec/acceptance/nodesets/win_2016.yml +1 -1
  47. data/spec/acceptance/nodesets/win_2019.yml +1 -1
  48. data/spec/acceptance/nodesets/win_2022.yml +1 -1
  49. data/spec/acceptance/nodesets/win_2025.yml +30 -0
  50. data/spec/acceptance/suites/default/00_default_spec.rb +24 -23
  51. data/spec/fixtures/metadata.json +6 -23
  52. data/spec/spec_helper.rb +0 -1
  53. data/spec/spec_helper_acceptance.rb +9 -52
  54. data/spec/unit/data_normalization_spec.rb +35 -0
  55. data/spec/unit/shim_dispatch_spec.rb +50 -0
  56. data/spec/unit/simp_rspec_puppet_facts_spec.rb +206 -0
  57. metadata +279 -237
  58. data/facts/Gemfile +0 -11
  59. data/facts/Vagrantfile +0 -236
  60. data/spec/acceptance/nodesets/centos7-vault.sh +0 -6
  61. data/spec/acceptance/nodesets/centos8-vault.sh +0 -8
  62. data/spec/acceptance/nodesets/oel7.yml +0 -23
  63. data/spec/data_normalization_spec.rb +0 -34
  64. data/spec/fixtures/metadata.json_with_missing_operatingsystem_support +0 -25
  65. data/spec/simp_rspec_puppet_facts_spec.rb +0 -198
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76cf35a199188e213ab02143b230f49b2653c50a14c10bc34c56c14115c6ad2b
4
- data.tar.gz: 91d29850a89b3b1ae7c8bddc530fdbe3ef4b7dc745a9e644890f69e83bdea95e
3
+ metadata.gz: 140c028f5870337de6f143ba7c8f73508f312fe10fe0017333b85454d1f8db3e
4
+ data.tar.gz: a0e791c59faff98c6612697b13b755b6d2327d4e58628c4cb15d0fd81faaec01
5
5
  SHA512:
6
- metadata.gz: 4106eaf72a627b5f344c9f52edbd671bd1603130c195f775b8f847c2d5778e144850a8fb649c2b3af3b542ab3f3c0921417ce833c8495a5e8ddd97c36b7a7231
7
- data.tar.gz: b2a141d645085814329d0f5cb2536593fbbdf3946614425ceb67730b2ab896f686add7e9265df76df311b01b4dd4a20c05cfe7d243b31b40c20c25e912631812
6
+ metadata.gz: 9e80e1cf1e316a51ae0bfc00410395fec10b9c95e3473c35ad0574752eea866b0638b7fdade85aa9917a17addaf295497c7f76477c8c669ec6f5dac102409342
7
+ data.tar.gz: a09bfe14fbd0b8bf067d9d8fdc97a036fa82ddcf66842fed692742e7fcd81d1910cda0bfa4cf0cede5d2f1f9139c408805b2d8068e6da87f705a326e25acbeb6
data/Rakefile CHANGED
@@ -1,17 +1,24 @@
1
- require 'simp/rake/beaker'
2
1
  require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
- Simp::Rake::Beaker.new(__dir__)
4
+ begin
5
+ require 'simp/rake/beaker'
6
+ Simp::Rake::Beaker.new(__dir__)
7
+ rescue LoadError => e
8
+ # simp-beaker-helpers' rake tasks need puppetlabs_spec_helper, which isn't
9
+ # installable on Ruby 4 (it requires the legacy `puppet` gem)
10
+ warn "WARNING: skipping Simp::Rake::Beaker tasks (#{e.message})"
11
+ end
5
12
 
6
- namespace :syntax do
7
- def syntax_check(task, glob)
8
- warn "---> #{task.name}"
9
- Dir.glob(glob).map do |file|
10
- puts '------| Attempting to load: ' + file
11
- yield(file)
12
- end
13
+ def syntax_check(task, glob)
14
+ warn "---> #{task.name}"
15
+ Dir.glob(glob).map do |file|
16
+ puts '------| Attempting to load: ' + file
17
+ yield(file)
13
18
  end
19
+ end
14
20
 
21
+ namespace :syntax do
15
22
  desc 'Syntax check for facts files under facts/'
16
23
  task :facts do |t|
17
24
  require 'json'
@@ -19,3 +26,117 @@ namespace :syntax do
19
26
  end
20
27
  end
21
28
 
29
+ desc 'special notes about these rake commands'
30
+ task :help do
31
+ puts %(
32
+ == environment variables ==
33
+ SIMP_RPM_BUILD when set, alters the gem produced by pkg:gem to be RPM-safe.
34
+ 'pkg:gem' sets this automatically.
35
+ )
36
+ end
37
+
38
+ desc 'Run spec tests'
39
+ RSpec::Core::RakeTask.new(:spec) do |t|
40
+ t.rspec_opts = ['--color']
41
+ t.exclude_pattern = '**/{acceptance,fixtures,files}/**/*_spec.rb'
42
+ t.pattern = 'spec/**/*_spec.rb'
43
+ end
44
+
45
+ desc "run all RSpec tests (alias of 'spec')"
46
+ task test: :spec
47
+
48
+ desc 'Run acceptance tests'
49
+ RSpec::Core::RakeTask.new(:acceptance) do |t|
50
+ t.pattern = 'spec/acceptance'
51
+ end
52
+
53
+ namespace :pkg do
54
+ @specfile_template = "rubygem-#{@package}.spec.template"
55
+ @specfile = "build/rubygem-#{@package}.spec"
56
+
57
+ # ----------------------------------------
58
+ # DO NOT UNCOMMENT THIS: the spec file requires a lot of tweaking
59
+ # ----------------------------------------
60
+ # desc "generate RPM spec file for #{@package}"
61
+ # task :spec => [:clean, :gem] do
62
+ # Dir.glob("pkg/#{@package}*.gem") do |pkg|
63
+ # sh %Q{gem2rpm -t "#{@specfile_template}" "#{pkg}" > "#{@specfile}"}
64
+ # end
65
+ # end
66
+
67
+ desc "build rubygem package for #{@package}"
68
+ task gem: :chmod do
69
+ Dir.chdir @rakefile_dir
70
+ Dir['*.gemspec'].each do |spec_file|
71
+ rpm_build = ENV.fetch('SIMP_RPM_BUILD', '1')
72
+ cmd = %(SIMP_RPM_BUILD=#{rpm_build} bundle exec gem build "#{spec_file}")
73
+ sh cmd
74
+ FileUtils.mkdir_p 'dist'
75
+ FileUtils.mv Dir.glob("#{@package}*.gem"), 'dist/'
76
+ end
77
+ end
78
+
79
+ desc "build and install rubygem package for #{@package}"
80
+ task install_gem: [:clean, :gem] do
81
+ Dir.chdir @rakefile_dir
82
+ Dir.glob("dist/#{@package}*.gem") do |pkg|
83
+ sh %(bundle exec gem install #{pkg})
84
+ end
85
+ end
86
+
87
+ desc "generate RPM for #{@package}"
88
+ task :rpm, [:mock_root] => [:clean, :gem] do |_t, args|
89
+ require 'tmpdir'
90
+ mock_root = args[:mock_root]
91
+ # TODO : Get rid of this terrible code. Shoe-horned in until
92
+ # we have a better idea for auto-decet
93
+ if %r{^epel-6}.match?(mock_root) then el_version = '6'
94
+ elsif %r{^epel-7}.match?(mock_root) then el_version = '7'
95
+ else
96
+ puts 'WARNING: Did not detect epel version'
97
+ end
98
+
99
+ if (tmp_dir = ENV.fetch('SIMP_MOCK_SIMPGEM_ASSETS_DIR', false))
100
+ FileUtils.mkdir_p tmp_dir
101
+ else
102
+ tmp_dir = Dir.mktmpdir("build_#{@package}")
103
+ end
104
+
105
+ begin
106
+ Dir.chdir tmp_dir
107
+ specfile = "#{@rakefile_dir}/build/rubygem-#{@package}.el#{el_version}.spec"
108
+ tmp_specfile = "#{tmp_dir}/rubygem-#{@package}.el#{el_version}.spec"
109
+
110
+ # We have to copy to a local directory because mock bugs out in NFS
111
+ # home directories (where SIMP devs often work)
112
+ FileUtils.cp specfile, tmp_specfile, preserve: true
113
+ Dir.glob("#{@rakefile_dir}/dist/#{@package}*.gem") do |pkg|
114
+ FileUtils.cp pkg, tmp_dir, preserve: true
115
+ end
116
+
117
+ # Build SRPM from specfile
118
+ sh %(mock -r #{mock_root} --buildsrpm --source="#{tmp_dir}" --spec="#{tmp_specfile}" --resultdir="#{tmp_dir}")
119
+
120
+ # Build RPM from SRPM
121
+ Dir.glob("#{tmp_dir}/rubygem-#{@package}-*.el#{el_version}*.src.rpm") do |pkg|
122
+ sh %(mock -r #{mock_root} --rebuild "#{pkg}" --resultdir=#{tmp_dir} --no-cleanup-after)
123
+ end
124
+
125
+ sh %(ls -l "#{tmp_dir}")
126
+
127
+ # copy RPM back into pkg/
128
+ Dir.glob("#{tmp_dir}/rubygem-#{@package}-*.el#{el_version}*.rpm") do |pkg|
129
+ sh %(cp "#{pkg}" "#{@rakefile_dir}/dist/")
130
+ FileUtils.cp pkg, "#{@rakefile_dir}/dist/"
131
+ end
132
+ ensure
133
+ Dir.chdir @rakefile_dir
134
+ # cleanup if needed
135
+ unless ENV.fetch('SIMP_MOCK_SIMPGEM_ASSETS_DIR', false)
136
+ FileUtils.remove_entry_secure tmp_dir
137
+ end
138
+ end
139
+ end
140
+ end
141
+
142
+ # vim: syntax=ruby
@@ -178,7 +178,7 @@
178
178
  "instance-life-cycle": "on-demand",
179
179
  "instance-type": "t2.micro",
180
180
  "local-hostname": "foo.example.com",
181
- "local-ipv4": "10.0.2.254",
181
+ "local-ipv4": "10.0.2.15",
182
182
  "mac": "12:cd:9a:27:0f:2b",
183
183
  "metrics": {
184
184
  "vhostmd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
@@ -190,10 +190,10 @@
190
190
  "device-number": "0",
191
191
  "interface-id": "eni-aaaaaaaaaaaaaaaaa",
192
192
  "ipv4-associations": {
193
- "3.91.239.102": "10.0.2.254"
193
+ "3.91.239.102": "10.0.2.15"
194
194
  },
195
195
  "local-hostname": "foo.example.com",
196
- "local-ipv4s": "10.0.2.254",
196
+ "local-ipv4s": "10.0.2.15",
197
197
  "mac": "12:cd:9a:27:0f:2b",
198
198
  "owner-id": "111111111111",
199
199
  "public-hostname": "",
@@ -617,7 +617,7 @@
617
617
  "eth0": {
618
618
  "bindings": [
619
619
  {
620
- "address": "10.0.2.254",
620
+ "address": "10.0.2.15",
621
621
  "netmask": "255.255.255.0",
622
622
  "network": "10.0.2.0"
623
623
  }
@@ -630,7 +630,7 @@
630
630
  }
631
631
  ],
632
632
  "dhcp": "10.0.2.1",
633
- "ip": "10.0.2.254",
633
+ "ip": "10.0.2.15",
634
634
  "ip6": "fe80::10cd:9aff:fe27:f2b",
635
635
  "mac": "12:cd:9a:27:0f:2b",
636
636
  "mtu": 9001,
@@ -665,7 +665,7 @@
665
665
  "scope6": "host"
666
666
  }
667
667
  },
668
- "ip": "10.0.2.254",
668
+ "ip": "10.0.2.15",
669
669
  "ip6": "fe80::10cd:9aff:fe27:f2b",
670
670
  "mac": "12:cd:9a:27:0f:2b",
671
671
  "mtu": 9001,