simp-rspec-puppet-facts 3.13.0 → 4.0.0

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +121 -7
  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 +84 -67
  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 +21 -19
  51. data/spec/fixtures/metadata.json +6 -23
  52. data/spec/spec_helper_acceptance.rb +9 -52
  53. data/spec/unit/data_normalization_spec.rb +35 -0
  54. data/spec/unit/simp_rspec_puppet_facts_spec.rb +206 -0
  55. metadata +276 -236
  56. data/facts/Gemfile +0 -11
  57. data/facts/Vagrantfile +0 -236
  58. data/spec/acceptance/nodesets/centos7-vault.sh +0 -6
  59. data/spec/acceptance/nodesets/centos8-vault.sh +0 -8
  60. data/spec/acceptance/nodesets/oel7.yml +0 -23
  61. data/spec/data_normalization_spec.rb +0 -34
  62. data/spec/fixtures/metadata.json_with_missing_operatingsystem_support +0 -25
  63. 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: d7a12d6bcf5fdd2521b56df92db28ae803dd532d0072bbc956b3a9e5622e9cf6
4
+ data.tar.gz: 2f2555883a27c9846fa786d0bad11c93f4ebd763b1f570f47705395bd844a842
5
5
  SHA512:
6
- metadata.gz: 4106eaf72a627b5f344c9f52edbd671bd1603130c195f775b8f847c2d5778e144850a8fb649c2b3af3b542ab3f3c0921417ce833c8495a5e8ddd97c36b7a7231
7
- data.tar.gz: b2a141d645085814329d0f5cb2536593fbbdf3946614425ceb67730b2ab896f686add7e9265df76df311b01b4dd4a20c05cfe7d243b31b40c20c25e912631812
6
+ metadata.gz: 7086aae58dcd5bb341c1b93fe2709b13d3e9dec51cc6bbda51667e400dcc1d9aa5edd0368d470dd06be83cff8307aecebf4ae8fa51b253c03f930a2a98e9882b
7
+ data.tar.gz: c8fa84b8332bb0bf5f267ef7efca4bfd02ce94826e96c5047149d57e95f4d54a65c19cfdeff3d88e224189cf0a28c47824e05191c11608c5f9017431634af4ed
data/Rakefile CHANGED
@@ -3,15 +3,15 @@ require 'bundler/gem_tasks'
3
3
 
4
4
  Simp::Rake::Beaker.new(__dir__)
5
5
 
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
6
+ def syntax_check(task, glob)
7
+ warn "---> #{task.name}"
8
+ Dir.glob(glob).map do |file|
9
+ puts '------| Attempting to load: ' + file
10
+ yield(file)
13
11
  end
12
+ end
14
13
 
14
+ namespace :syntax do
15
15
  desc 'Syntax check for facts files under facts/'
16
16
  task :facts do |t|
17
17
  require 'json'
@@ -19,3 +19,117 @@ namespace :syntax do
19
19
  end
20
20
  end
21
21
 
22
+ desc 'special notes about these rake commands'
23
+ task :help do
24
+ puts %(
25
+ == environment variables ==
26
+ SIMP_RPM_BUILD when set, alters the gem produced by pkg:gem to be RPM-safe.
27
+ 'pkg:gem' sets this automatically.
28
+ )
29
+ end
30
+
31
+ desc 'Run spec tests'
32
+ RSpec::Core::RakeTask.new(:spec) do |t|
33
+ t.rspec_opts = ['--color']
34
+ t.exclude_pattern = '**/{acceptance,fixtures,files}/**/*_spec.rb'
35
+ t.pattern = 'spec/**/*_spec.rb'
36
+ end
37
+
38
+ desc "run all RSpec tests (alias of 'spec')"
39
+ task test: :spec
40
+
41
+ desc 'Run acceptance tests'
42
+ RSpec::Core::RakeTask.new(:acceptance) do |t|
43
+ t.pattern = 'spec/acceptance'
44
+ end
45
+
46
+ namespace :pkg do
47
+ @specfile_template = "rubygem-#{@package}.spec.template"
48
+ @specfile = "build/rubygem-#{@package}.spec"
49
+
50
+ # ----------------------------------------
51
+ # DO NOT UNCOMMENT THIS: the spec file requires a lot of tweaking
52
+ # ----------------------------------------
53
+ # desc "generate RPM spec file for #{@package}"
54
+ # task :spec => [:clean, :gem] do
55
+ # Dir.glob("pkg/#{@package}*.gem") do |pkg|
56
+ # sh %Q{gem2rpm -t "#{@specfile_template}" "#{pkg}" > "#{@specfile}"}
57
+ # end
58
+ # end
59
+
60
+ desc "build rubygem package for #{@package}"
61
+ task gem: :chmod do
62
+ Dir.chdir @rakefile_dir
63
+ Dir['*.gemspec'].each do |spec_file|
64
+ rpm_build = ENV.fetch('SIMP_RPM_BUILD', '1')
65
+ cmd = %(SIMP_RPM_BUILD=#{rpm_build} bundle exec gem build "#{spec_file}")
66
+ sh cmd
67
+ FileUtils.mkdir_p 'dist'
68
+ FileUtils.mv Dir.glob("#{@package}*.gem"), 'dist/'
69
+ end
70
+ end
71
+
72
+ desc "build and install rubygem package for #{@package}"
73
+ task install_gem: [:clean, :gem] do
74
+ Dir.chdir @rakefile_dir
75
+ Dir.glob("dist/#{@package}*.gem") do |pkg|
76
+ sh %(bundle exec gem install #{pkg})
77
+ end
78
+ end
79
+
80
+ desc "generate RPM for #{@package}"
81
+ task :rpm, [:mock_root] => [:clean, :gem] do |_t, args|
82
+ require 'tmpdir'
83
+ mock_root = args[:mock_root]
84
+ # TODO : Get rid of this terrible code. Shoe-horned in until
85
+ # we have a better idea for auto-decet
86
+ if %r{^epel-6}.match?(mock_root) then el_version = '6'
87
+ elsif %r{^epel-7}.match?(mock_root) then el_version = '7'
88
+ else
89
+ puts 'WARNING: Did not detect epel version'
90
+ end
91
+
92
+ if (tmp_dir = ENV.fetch('SIMP_MOCK_SIMPGEM_ASSETS_DIR', false))
93
+ FileUtils.mkdir_p tmp_dir
94
+ else
95
+ tmp_dir = Dir.mktmpdir("build_#{@package}")
96
+ end
97
+
98
+ begin
99
+ Dir.chdir tmp_dir
100
+ specfile = "#{@rakefile_dir}/build/rubygem-#{@package}.el#{el_version}.spec"
101
+ tmp_specfile = "#{tmp_dir}/rubygem-#{@package}.el#{el_version}.spec"
102
+
103
+ # We have to copy to a local directory because mock bugs out in NFS
104
+ # home directories (where SIMP devs often work)
105
+ FileUtils.cp specfile, tmp_specfile, preserve: true
106
+ Dir.glob("#{@rakefile_dir}/dist/#{@package}*.gem") do |pkg|
107
+ FileUtils.cp pkg, tmp_dir, preserve: true
108
+ end
109
+
110
+ # Build SRPM from specfile
111
+ sh %(mock -r #{mock_root} --buildsrpm --source="#{tmp_dir}" --spec="#{tmp_specfile}" --resultdir="#{tmp_dir}")
112
+
113
+ # Build RPM from SRPM
114
+ Dir.glob("#{tmp_dir}/rubygem-#{@package}-*.el#{el_version}*.src.rpm") do |pkg|
115
+ sh %(mock -r #{mock_root} --rebuild "#{pkg}" --resultdir=#{tmp_dir} --no-cleanup-after)
116
+ end
117
+
118
+ sh %(ls -l "#{tmp_dir}")
119
+
120
+ # copy RPM back into pkg/
121
+ Dir.glob("#{tmp_dir}/rubygem-#{@package}-*.el#{el_version}*.rpm") do |pkg|
122
+ sh %(cp "#{pkg}" "#{@rakefile_dir}/dist/")
123
+ FileUtils.cp pkg, "#{@rakefile_dir}/dist/"
124
+ end
125
+ ensure
126
+ Dir.chdir @rakefile_dir
127
+ # cleanup if needed
128
+ unless ENV.fetch('SIMP_MOCK_SIMPGEM_ASSETS_DIR', false)
129
+ FileUtils.remove_entry_secure tmp_dir
130
+ end
131
+ end
132
+ end
133
+ end
134
+
135
+ # 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,