beaker-hostgenerator 3.3.0 → 3.5.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.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +6 -6
- data/.github/workflows/test.yml +5 -5
- data/.rubocop.yml +0 -3
- data/.rubocop_todo.yml +14 -6
- data/CHANGELOG.md +29 -1
- data/beaker-hostgenerator.gemspec +2 -2
- data/lib/beaker-hostgenerator/data.rb +45 -227
- data/lib/beaker-hostgenerator/hypervisor/abs.rb +20 -1
- data/lib/beaker-hostgenerator/hypervisor/lima.rb +83 -0
- data/lib/beaker-hostgenerator/hypervisor/vagrant.rb +1 -6
- data/lib/beaker-hostgenerator/hypervisor/vmpooler.rb +29 -1
- data/lib/beaker-hostgenerator/hypervisor.rb +2 -0
- data/lib/beaker-hostgenerator/version.rb +1 -1
- metadata +13 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d684b7c52b23c91818f1c412732a5804a971086dc4ea96e3bc17291a6af736e
|
|
4
|
+
data.tar.gz: 367d300c983a2c19ac39363c0ee03ec18c69c12e6322dff265b876f396a9b65a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1f89e7e60e9ffa3b538698f7fcce73b87fab82be0f723f6a8da3a2344ec1ed6cc87c553ef6dd3d8b7ddc48840f5161098b4b019d74fdfa4ad6ea41dfc55469ed
|
|
7
|
+
data.tar.gz: 35d714392a9e7f9a2fa56643d1fd3755b986bd48024c3b156b6c96c7055d167173876cdad75d755807835e1b5e05d675e7b514bf7104bcd2faae8cce2cb3d0bc
|
|
@@ -15,7 +15,7 @@ jobs:
|
|
|
15
15
|
name: Build the gem
|
|
16
16
|
runs-on: ubuntu-24.04
|
|
17
17
|
steps:
|
|
18
|
-
- uses: actions/checkout@
|
|
18
|
+
- uses: actions/checkout@v6
|
|
19
19
|
- name: Install Ruby
|
|
20
20
|
uses: ruby/setup-ruby@v1
|
|
21
21
|
with:
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
shell: bash
|
|
25
25
|
run: gem build --verbose *.gemspec
|
|
26
26
|
- name: Upload gem to GitHub cache
|
|
27
|
-
uses: actions/upload-artifact@
|
|
27
|
+
uses: actions/upload-artifact@v7
|
|
28
28
|
with:
|
|
29
29
|
name: gem-artifact
|
|
30
30
|
path: '*.gem'
|
|
@@ -39,7 +39,7 @@ jobs:
|
|
|
39
39
|
contents: write # clone repo and create release
|
|
40
40
|
steps:
|
|
41
41
|
- name: Download gem from GitHub cache
|
|
42
|
-
uses: actions/download-artifact@
|
|
42
|
+
uses: actions/download-artifact@v8
|
|
43
43
|
with:
|
|
44
44
|
name: gem-artifact
|
|
45
45
|
- name: Create Release
|
|
@@ -56,7 +56,7 @@ jobs:
|
|
|
56
56
|
packages: write # publish to rubygems.pkg.github.com
|
|
57
57
|
steps:
|
|
58
58
|
- name: Download gem from GitHub cache
|
|
59
|
-
uses: actions/download-artifact@
|
|
59
|
+
uses: actions/download-artifact@v8
|
|
60
60
|
with:
|
|
61
61
|
name: gem-artifact
|
|
62
62
|
- name: Publish gem to GitHub packages
|
|
@@ -73,7 +73,7 @@ jobs:
|
|
|
73
73
|
id-token: write # rubygems.org authentication
|
|
74
74
|
steps:
|
|
75
75
|
- name: Download gem from GitHub cache
|
|
76
|
-
uses: actions/download-artifact@
|
|
76
|
+
uses: actions/download-artifact@v8
|
|
77
77
|
with:
|
|
78
78
|
name: gem-artifact
|
|
79
79
|
- uses: rubygems/configure-rubygems-credentials@v1.0.0
|
|
@@ -92,7 +92,7 @@ jobs:
|
|
|
92
92
|
- release-to-rubygems
|
|
93
93
|
steps:
|
|
94
94
|
- name: Download gem from GitHub cache
|
|
95
|
-
uses: actions/download-artifact@
|
|
95
|
+
uses: actions/download-artifact@v8
|
|
96
96
|
with:
|
|
97
97
|
name: gem-artifact
|
|
98
98
|
- name: Install Ruby
|
data/.github/workflows/test.yml
CHANGED
|
@@ -15,16 +15,16 @@ jobs:
|
|
|
15
15
|
outputs:
|
|
16
16
|
ruby: ${{ steps.ruby.outputs.versions }}
|
|
17
17
|
steps:
|
|
18
|
-
- uses: actions/checkout@
|
|
19
|
-
- name: Install Ruby
|
|
18
|
+
- uses: actions/checkout@v6
|
|
19
|
+
- name: Install Ruby 4.0
|
|
20
20
|
uses: ruby/setup-ruby@v1
|
|
21
21
|
with:
|
|
22
|
-
ruby-version: '
|
|
22
|
+
ruby-version: '4.0'
|
|
23
23
|
bundler-cache: true
|
|
24
24
|
- name: Run RuboCop
|
|
25
25
|
run: bundle exec rake rubocop
|
|
26
26
|
- id: ruby
|
|
27
|
-
uses: voxpupuli/ruby-version@
|
|
27
|
+
uses: voxpupuli/ruby-version@v2
|
|
28
28
|
|
|
29
29
|
test:
|
|
30
30
|
name: "Ruby ${{ matrix.ruby }}"
|
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
matrix:
|
|
36
36
|
ruby: ${{ fromJSON(needs.rubocop_and_matrix.outputs.ruby) }}
|
|
37
37
|
steps:
|
|
38
|
-
- uses: actions/checkout@
|
|
38
|
+
- uses: actions/checkout@v6
|
|
39
39
|
- name: Setup ruby
|
|
40
40
|
uses: ruby/setup-ruby@v1
|
|
41
41
|
with:
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
|
|
3
|
-
# using RuboCop version 1.
|
|
3
|
+
# using RuboCop version 1.85.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
@@ -60,7 +60,7 @@ Naming/HeredocDelimiterNaming:
|
|
|
60
60
|
# ForbiddenPrefixes: is_, has_, have_, does_
|
|
61
61
|
# AllowedMethods: is_a?
|
|
62
62
|
# MethodDefinitionMacros: define_method, define_singleton_method
|
|
63
|
-
Naming/
|
|
63
|
+
Naming/PredicatePrefix:
|
|
64
64
|
Exclude:
|
|
65
65
|
- 'spec/**/*'
|
|
66
66
|
- 'lib/beaker-hostgenerator/parser.rb'
|
|
@@ -100,9 +100,10 @@ RSpec/DescribedClass:
|
|
|
100
100
|
RSpec/ExampleLength:
|
|
101
101
|
Max: 35
|
|
102
102
|
|
|
103
|
-
# Offense count:
|
|
104
|
-
RSpec/
|
|
105
|
-
|
|
103
|
+
# Offense count: 1
|
|
104
|
+
RSpec/LeakyLocalVariable:
|
|
105
|
+
Exclude:
|
|
106
|
+
- 'spec/beaker-hostgenerator/generator_spec.rb'
|
|
106
107
|
|
|
107
108
|
# Offense count: 2
|
|
108
109
|
# Configuration parameters: AllowSubject.
|
|
@@ -200,6 +201,13 @@ Style/MutableConstant:
|
|
|
200
201
|
- 'lib/beaker-hostgenerator/version.rb'
|
|
201
202
|
- 'spec/helpers.rb'
|
|
202
203
|
|
|
204
|
+
# Offense count: 2
|
|
205
|
+
# Configuration parameters: AllowedClasses.
|
|
206
|
+
Style/OneClassPerFile:
|
|
207
|
+
Exclude:
|
|
208
|
+
- 'spec/helpers.rb'
|
|
209
|
+
- 'test/util/generator_helpers.rb'
|
|
210
|
+
|
|
203
211
|
# Offense count: 1
|
|
204
212
|
Style/OpenStructUse:
|
|
205
213
|
Exclude:
|
|
@@ -232,7 +240,7 @@ Style/StringConcatenation:
|
|
|
232
240
|
|
|
233
241
|
# Offense count: 2
|
|
234
242
|
# This cop supports safe autocorrection (--autocorrect).
|
|
235
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes,
|
|
243
|
+
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
|
|
236
244
|
# URISchemes: http, https
|
|
237
245
|
Layout/LineLength:
|
|
238
246
|
Max: 168
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [3.5.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.5.0) (2026-03-18)
|
|
6
|
+
|
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.4.0...3.5.0)
|
|
8
|
+
|
|
9
|
+
**Implemented enhancements:**
|
|
10
|
+
|
|
11
|
+
- Add Lima hypervisor support with template and arch support on qemu [\#452](https://github.com/voxpupuli/beaker-hostgenerator/pull/452) ([Valantin](https://github.com/Valantin))
|
|
12
|
+
- Pull CentOS vagrant boxes from the registry [\#451](https://github.com/voxpupuli/beaker-hostgenerator/pull/451) ([silug](https://github.com/silug))
|
|
13
|
+
|
|
14
|
+
**Fixed bugs:**
|
|
15
|
+
|
|
16
|
+
- Correct non-stream CentOS boxes [\#448](https://github.com/voxpupuli/beaker-hostgenerator/pull/448) ([ekohl](https://github.com/ekohl))
|
|
17
|
+
|
|
18
|
+
## [3.4.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.4.0) (2025-12-27)
|
|
19
|
+
|
|
20
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.3.0...3.4.0)
|
|
21
|
+
|
|
22
|
+
**Implemented enhancements:**
|
|
23
|
+
|
|
24
|
+
- Add Ruby 4.0 support [\#445](https://github.com/voxpupuli/beaker-hostgenerator/pull/445) ([bastelfreak](https://github.com/bastelfreak))
|
|
25
|
+
- Add Amazonlinux 2023 support [\#440](https://github.com/voxpupuli/beaker-hostgenerator/pull/440) ([bastelfreak](https://github.com/bastelfreak))
|
|
26
|
+
- Use a loop for SLES [\#433](https://github.com/voxpupuli/beaker-hostgenerator/pull/433) ([traylenator](https://github.com/traylenator))
|
|
27
|
+
- Generate Rocky, Alma and RedHat dynamically [\#432](https://github.com/voxpupuli/beaker-hostgenerator/pull/432) ([traylenator](https://github.com/traylenator))
|
|
28
|
+
|
|
29
|
+
**Merged pull requests:**
|
|
30
|
+
|
|
31
|
+
- Remove debug statement [\#434](https://github.com/voxpupuli/beaker-hostgenerator/pull/434) ([ekohl](https://github.com/ekohl))
|
|
32
|
+
|
|
5
33
|
## [3.3.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.3.0) (2025-08-19)
|
|
6
34
|
|
|
7
35
|
[Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.2.1...3.3.0)
|
|
@@ -837,7 +865,7 @@ All notable changes to this project will be documented in this file.
|
|
|
837
865
|
|
|
838
866
|
**Merged pull requests:**
|
|
839
867
|
|
|
840
|
-
- \(QENG-7134\) Individualize cisco IOS platforms [\#153](https://github.com/voxpupuli/beaker-hostgenerator/pull/153) ([
|
|
868
|
+
- \(QENG-7134\) Individualize cisco IOS platforms [\#153](https://github.com/voxpupuli/beaker-hostgenerator/pull/153) ([junebug-spencer](https://github.com/junebug-spencer))
|
|
841
869
|
|
|
842
870
|
## [1.1.27](https://github.com/voxpupuli/beaker-hostgenerator/tree/1.1.27) (2019-04-25)
|
|
843
871
|
|
|
@@ -23,12 +23,12 @@ Gem::Specification.new do |s|
|
|
|
23
23
|
|
|
24
24
|
# Testing dependencies
|
|
25
25
|
s.add_development_dependency 'fakefs', '>= 0.6', '< 4.0'
|
|
26
|
-
s.add_development_dependency 'minitest', '
|
|
26
|
+
s.add_development_dependency 'minitest', '>= 5.18', '< 7'
|
|
27
27
|
s.add_development_dependency 'pry', '~> 0.10'
|
|
28
28
|
s.add_development_dependency 'rake', '~> 13.0'
|
|
29
29
|
s.add_development_dependency 'rspec', '~> 3.0'
|
|
30
30
|
s.add_development_dependency 'rspec-its', '>= 1.3.1', '< 3'
|
|
31
|
-
s.add_development_dependency 'voxpupuli-rubocop', '~>
|
|
31
|
+
s.add_development_dependency 'voxpupuli-rubocop', '~> 5.2.0'
|
|
32
32
|
|
|
33
33
|
# Run time dependencies
|
|
34
34
|
s.add_dependency 'deep_merge', '~> 1.0'
|
|
@@ -123,6 +123,14 @@ module BeakerHostGenerator
|
|
|
123
123
|
'template' => 'amazon-7-arm64',
|
|
124
124
|
},
|
|
125
125
|
},
|
|
126
|
+
'amazon2023-64' => {
|
|
127
|
+
general: {
|
|
128
|
+
'platform' => 'el-9-x86_64',
|
|
129
|
+
},
|
|
130
|
+
docker: {
|
|
131
|
+
'image' => 'amazonlinux:2023',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
126
134
|
'archlinuxrolling-64' => {
|
|
127
135
|
general: {
|
|
128
136
|
'platform' => 'archlinux-rolling-x64',
|
|
@@ -134,11 +142,6 @@ module BeakerHostGenerator
|
|
|
134
142
|
'image' => 'archlinux/archlinux',
|
|
135
143
|
},
|
|
136
144
|
},
|
|
137
|
-
'redhat7-64' => {
|
|
138
|
-
general: {
|
|
139
|
-
'platform' => 'el-7-x86_64',
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
145
|
'redhatfips7-64' => {
|
|
143
146
|
general: {
|
|
144
147
|
'platform' => 'el-7-x86_64',
|
|
@@ -148,35 +151,6 @@ module BeakerHostGenerator
|
|
|
148
151
|
'template' => 'redhat-fips-7-x86_64',
|
|
149
152
|
},
|
|
150
153
|
},
|
|
151
|
-
'redhat7-POWER' => {
|
|
152
|
-
general: {
|
|
153
|
-
'platform' => 'el-7-ppc64le',
|
|
154
|
-
},
|
|
155
|
-
abs: {
|
|
156
|
-
'template' => 'redhat-7.3-power8',
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
'redhat7-S390X' => {
|
|
160
|
-
general: {
|
|
161
|
-
'platform' => 'el-7-s390x',
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
'redhat7-AARCH64' => {
|
|
165
|
-
general: {
|
|
166
|
-
'platform' => 'el-7-aarch64',
|
|
167
|
-
},
|
|
168
|
-
abs: {
|
|
169
|
-
'template' => 'centos-7-arm64',
|
|
170
|
-
},
|
|
171
|
-
vmpooler: {
|
|
172
|
-
'template' => 'redhat-7-x86_64',
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
'redhat8-64' => {
|
|
176
|
-
general: {
|
|
177
|
-
'platform' => 'el-8-x86_64',
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
154
|
'redhatfips8-64' => {
|
|
181
155
|
general: {
|
|
182
156
|
'platform' => 'el-8-x86_64',
|
|
@@ -186,30 +160,6 @@ module BeakerHostGenerator
|
|
|
186
160
|
'template' => 'redhat-fips-8-x86_64',
|
|
187
161
|
},
|
|
188
162
|
},
|
|
189
|
-
'redhat8-AARCH64' => {
|
|
190
|
-
general: {
|
|
191
|
-
'platform' => 'el-8-aarch64',
|
|
192
|
-
},
|
|
193
|
-
abs: {
|
|
194
|
-
'template' => 'redhat-8-arm64',
|
|
195
|
-
},
|
|
196
|
-
vmpooler: {
|
|
197
|
-
'template' => 'redhat-8-x86_64',
|
|
198
|
-
},
|
|
199
|
-
},
|
|
200
|
-
'redhat8-POWER' => {
|
|
201
|
-
general: {
|
|
202
|
-
'platform' => 'el-8-ppc64le',
|
|
203
|
-
},
|
|
204
|
-
abs: {
|
|
205
|
-
'template' => 'redhat-8-power8',
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
'redhat9-64' => {
|
|
209
|
-
general: {
|
|
210
|
-
'platform' => 'el-9-x86_64',
|
|
211
|
-
},
|
|
212
|
-
},
|
|
213
163
|
'redhatfips9-64' => {
|
|
214
164
|
general: {
|
|
215
165
|
'platform' => 'el-9-x86_64',
|
|
@@ -219,174 +169,12 @@ module BeakerHostGenerator
|
|
|
219
169
|
'template' => 'redhat-fips-9-x86_64',
|
|
220
170
|
},
|
|
221
171
|
},
|
|
222
|
-
'
|
|
223
|
-
general: {
|
|
224
|
-
'platform' => 'el-9-aarch64',
|
|
225
|
-
},
|
|
226
|
-
abs: {
|
|
227
|
-
'template' => 'redhat-9-arm64',
|
|
228
|
-
},
|
|
229
|
-
vmpooler: {
|
|
230
|
-
'template' => 'redhat-9-arm64',
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
|
-
'redhat10-64' => {
|
|
234
|
-
general: {
|
|
235
|
-
'platform' => 'el-10-x86_64',
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
'redhat10-AARCH64' => {
|
|
239
|
-
general: {
|
|
240
|
-
'platform' => 'el-10-aarch64',
|
|
241
|
-
},
|
|
242
|
-
abs: {
|
|
243
|
-
'template' => 'redhat-10-arm64',
|
|
244
|
-
},
|
|
245
|
-
vmpooler: {
|
|
246
|
-
'template' => 'redhat-10-arm64',
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
|
-
'rocky8-64' => {
|
|
250
|
-
general: {
|
|
251
|
-
'platform' => 'el-8-x86_64',
|
|
252
|
-
},
|
|
253
|
-
},
|
|
254
|
-
'rocky9-64' => {
|
|
255
|
-
general: {
|
|
256
|
-
'platform' => 'el-9-x86_64',
|
|
257
|
-
},
|
|
258
|
-
},
|
|
259
|
-
'rocky9-AARCH64' => {
|
|
260
|
-
general: {
|
|
261
|
-
'platform' => 'el-9-aarch64',
|
|
262
|
-
},
|
|
263
|
-
abs: {
|
|
264
|
-
'template' => 'rocky-9-arm64',
|
|
265
|
-
},
|
|
266
|
-
vmpooler: {
|
|
267
|
-
'template' => 'rocky-9-arm64',
|
|
268
|
-
},
|
|
269
|
-
},
|
|
270
|
-
'rocky10-64' => {
|
|
271
|
-
general: {
|
|
272
|
-
'platform' => 'el-10-x86_64',
|
|
273
|
-
},
|
|
274
|
-
},
|
|
275
|
-
'rocky10-AARCH64' => {
|
|
276
|
-
general: {
|
|
277
|
-
'platform' => 'el-10-aarch64',
|
|
278
|
-
},
|
|
279
|
-
abs: {
|
|
280
|
-
'template' => 'rocky-10-arm64',
|
|
281
|
-
},
|
|
282
|
-
vmpooler: {
|
|
283
|
-
'template' => 'rocky-10-arm64',
|
|
284
|
-
},
|
|
285
|
-
},
|
|
286
|
-
'almalinux8-64' => {
|
|
287
|
-
general: {
|
|
288
|
-
'platform' => 'el-8-x86_64',
|
|
289
|
-
},
|
|
290
|
-
},
|
|
291
|
-
'almalinux9-64' => {
|
|
292
|
-
general: {
|
|
293
|
-
'platform' => 'el-9-x86_64',
|
|
294
|
-
},
|
|
295
|
-
},
|
|
296
|
-
'almalinux9-AARCH64' => {
|
|
297
|
-
general: {
|
|
298
|
-
'platform' => 'el-9-aarch64',
|
|
299
|
-
},
|
|
300
|
-
abs: {
|
|
301
|
-
'template' => 'almalinux-9-arm64',
|
|
302
|
-
},
|
|
303
|
-
vmpooler: {
|
|
304
|
-
'template' => 'almalinux-9-arm64',
|
|
305
|
-
},
|
|
306
|
-
},
|
|
307
|
-
'almalinux10-64' => {
|
|
308
|
-
general: {
|
|
309
|
-
'platform' => 'el-10-x86_64',
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
'almalinux10-AARCH64' => {
|
|
313
|
-
general: {
|
|
314
|
-
'platform' => 'el-10-aarch64',
|
|
315
|
-
},
|
|
316
|
-
abs: {
|
|
317
|
-
'template' => 'almalinux-10-arm64',
|
|
318
|
-
},
|
|
319
|
-
vmpooler: {
|
|
320
|
-
'template' => 'almalinux-10-arm64',
|
|
321
|
-
},
|
|
322
|
-
},
|
|
323
|
-
'redhat9-POWER' => {
|
|
324
|
-
general: {
|
|
325
|
-
'platform' => 'el-9-ppc64le',
|
|
326
|
-
},
|
|
327
|
-
abs: {
|
|
328
|
-
'template' => 'redhat-9-power9',
|
|
329
|
-
},
|
|
330
|
-
},
|
|
331
|
-
'oracle9-AARCH64' => {
|
|
332
|
-
general: {
|
|
333
|
-
'platform' => 'el-9-aarch64',
|
|
334
|
-
},
|
|
335
|
-
abs: {
|
|
336
|
-
'template' => 'oracle-9-arm64',
|
|
337
|
-
},
|
|
338
|
-
vmpooler: {
|
|
339
|
-
'template' => 'oracle-9-arm64',
|
|
340
|
-
},
|
|
341
|
-
},
|
|
342
|
-
'sles11-32' => {
|
|
343
|
-
general: {
|
|
344
|
-
'platform' => 'sles-11-i386',
|
|
345
|
-
},
|
|
346
|
-
vmpooler: {
|
|
347
|
-
'template' => 'sles-11-i386',
|
|
348
|
-
},
|
|
349
|
-
},
|
|
350
|
-
'sles11-64' => {
|
|
351
|
-
general: {
|
|
352
|
-
'platform' => 'sles-11-x86_64',
|
|
353
|
-
},
|
|
354
|
-
vmpooler: {
|
|
355
|
-
'template' => 'sles-11-x86_64',
|
|
356
|
-
},
|
|
357
|
-
},
|
|
358
|
-
'sles11-S390X' => {
|
|
359
|
-
general: {
|
|
360
|
-
'platform' => 'sles-11-s390x',
|
|
361
|
-
},
|
|
362
|
-
},
|
|
363
|
-
'sles12-64' => {
|
|
364
|
-
general: {
|
|
365
|
-
'platform' => 'sles-12-x86_64',
|
|
366
|
-
},
|
|
367
|
-
vmpooler: {
|
|
368
|
-
'template' => 'sles-12-x86_64',
|
|
369
|
-
},
|
|
370
|
-
},
|
|
371
|
-
'sles12-S390X' => {
|
|
372
|
-
general: {
|
|
373
|
-
'platform' => 'sles-12-s390x',
|
|
374
|
-
},
|
|
375
|
-
},
|
|
376
|
-
'sles12-POWER' => {
|
|
172
|
+
'redhat7-POWER' => {
|
|
377
173
|
general: {
|
|
378
|
-
'platform' => '
|
|
174
|
+
'platform' => 'el-7-ppc64le',
|
|
379
175
|
},
|
|
380
176
|
abs: {
|
|
381
|
-
'template' => '
|
|
382
|
-
},
|
|
383
|
-
},
|
|
384
|
-
'sles15-64' => {
|
|
385
|
-
general: {
|
|
386
|
-
'platform' => 'sles-15-x86_64',
|
|
387
|
-
},
|
|
388
|
-
vmpooler: {
|
|
389
|
-
'template' => 'sles-15-x86_64',
|
|
177
|
+
'template' => 'redhat-7.3-power8', # special case ?
|
|
390
178
|
},
|
|
391
179
|
},
|
|
392
180
|
'windows2008-64' => {
|
|
@@ -932,11 +720,45 @@ module BeakerHostGenerator
|
|
|
932
720
|
# AIX
|
|
933
721
|
yield %w[aix73-POWER aix-7.3-power]
|
|
934
722
|
|
|
723
|
+
# SLES
|
|
724
|
+
[11, 12, 15].each do |release|
|
|
725
|
+
yield ["sles#{release}-32", "sles-#{release}-i386"] if release == 11
|
|
726
|
+
yield ["sles#{release}-64", "sles-#{release}-x86_64"]
|
|
727
|
+
yield ["sles#{release}-S390X", "sles-#{release}-s390x"]
|
|
728
|
+
yield ["sles#{release}-POWER", "sles-#{release}-ppc64le"] if release >= 12
|
|
729
|
+
end
|
|
730
|
+
|
|
935
731
|
# CentOS
|
|
936
732
|
(7..10).each do |release|
|
|
937
733
|
yield ["centos#{release}-64", "el-#{release}-x86_64"]
|
|
938
734
|
end
|
|
939
735
|
|
|
736
|
+
# AlmaLinux
|
|
737
|
+
(8..10).each do |release|
|
|
738
|
+
yield ["almalinux#{release}-64", "el-#{release}-x86_64"]
|
|
739
|
+
yield ["almalinux#{release}-AARCH64", "el-#{release}-aarch64"] if release >= 9
|
|
740
|
+
end
|
|
741
|
+
|
|
742
|
+
# RedHat
|
|
743
|
+
(7..10).each do |release|
|
|
744
|
+
yield ["redhat#{release}-64", "el-#{release}-x86_64"]
|
|
745
|
+
yield ["redhat#{release}-AARCH64", "el-#{release}-aarch64"]
|
|
746
|
+
yield ["redhat#{release}-POWER", "el-#{release}-ppc64le"] if release <= 9
|
|
747
|
+
yield ["redhat#{release}-S390X", "el-#{release}-s390x"] if release == 7
|
|
748
|
+
end
|
|
749
|
+
|
|
750
|
+
# Rocky
|
|
751
|
+
(8..10).each do |release|
|
|
752
|
+
yield ["rocky#{release}-64", "el-#{release}-x86_64"]
|
|
753
|
+
yield ["rocky#{release}-AARCH64", "el-#{release}-aarch64"] if release >= 9
|
|
754
|
+
end
|
|
755
|
+
|
|
756
|
+
# Oracle
|
|
757
|
+
(7..10).each do |release|
|
|
758
|
+
yield ["oracle#{release}-64", "el-#{release}-x86_64"]
|
|
759
|
+
yield ["oracle#{release}-AARCH64", "el-#{release}-aarch64"] if release == 9
|
|
760
|
+
end
|
|
761
|
+
|
|
940
762
|
# Debian
|
|
941
763
|
(10..13).each do |release|
|
|
942
764
|
yield ["debian#{release}-32", "debian-#{release}-i386"] if release < 11
|
|
@@ -987,10 +809,6 @@ module BeakerHostGenerator
|
|
|
987
809
|
yield %w[amazonfips2023-64 amazonfips-2023-x86_64]
|
|
988
810
|
# Azure Linux
|
|
989
811
|
yield %w[azure3-64 azure-3-x86_64]
|
|
990
|
-
# Oracle / OracleLinux
|
|
991
|
-
(7..10).each do |release|
|
|
992
|
-
yield ["oracle#{release}-64", "el-#{release}-x86_64"]
|
|
993
|
-
end
|
|
994
812
|
|
|
995
813
|
# Scientific Linux
|
|
996
814
|
yield ['scientific7-64', 'el-7-x86_64']
|
|
@@ -24,7 +24,26 @@ module BeakerHostGenerator
|
|
|
24
24
|
|
|
25
25
|
case node_info['ostype']
|
|
26
26
|
when /^(almalinux|centos|oracle|redhat|rocky|scientific)/
|
|
27
|
-
|
|
27
|
+
os = Regexp.last_match(1)
|
|
28
|
+
arch = case node_info['bits']
|
|
29
|
+
when '64'
|
|
30
|
+
'x86_64'
|
|
31
|
+
when 'AARCH64'
|
|
32
|
+
'arm64'
|
|
33
|
+
when 'POWER'
|
|
34
|
+
"power#{node_info['ostype'].sub(os, '')}"
|
|
35
|
+
end
|
|
36
|
+
base_config['template'] ||= "#{node_info['ostype'].sub(os, "#{os}-")}-#{arch}" if arch
|
|
37
|
+
|
|
38
|
+
when /^(sles)/
|
|
39
|
+
os = Regexp.last_match(1)
|
|
40
|
+
version = node_info['ostype'].sub(os, '')
|
|
41
|
+
arch = case node_info['bits']
|
|
42
|
+
when 'POWER'
|
|
43
|
+
'power8'
|
|
44
|
+
end
|
|
45
|
+
base_config['template'] ||= "#{os}-#{version}-#{arch}" if arch
|
|
46
|
+
|
|
28
47
|
when /^aix/, /^fedora/, /^opensuse/, /^panos/
|
|
29
48
|
base_config['template'] ||= base_config['platform']
|
|
30
49
|
when /^(debian|ubuntu|amazon(fips)?)/
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
require 'beaker-hostgenerator/data'
|
|
2
|
+
require 'beaker-hostgenerator/hypervisor'
|
|
3
|
+
|
|
4
|
+
module BeakerHostGenerator
|
|
5
|
+
module Hypervisor
|
|
6
|
+
# Implementation of the Lima hypervisor interface to generate host configurations
|
|
7
|
+
# for nodes that use Lima as their hypervisor.
|
|
8
|
+
class Lima < BeakerHostGenerator::Hypervisor::Interface
|
|
9
|
+
include BeakerHostGenerator::Data
|
|
10
|
+
|
|
11
|
+
def generate_node(node_info, base_config, bhg_version)
|
|
12
|
+
# Generate the Lima template URL based on the OS type
|
|
13
|
+
template = get_template(node_info['ostype'])
|
|
14
|
+
arch = case node_info['bits']
|
|
15
|
+
when '64'
|
|
16
|
+
'x86_64'
|
|
17
|
+
when 'AARCH64'
|
|
18
|
+
'aarch64'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
base_config['lima'] = {
|
|
22
|
+
'config' => {
|
|
23
|
+
'arch' => arch,
|
|
24
|
+
'vmType' => 'qemu',
|
|
25
|
+
'base' => [template],
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
base_generate_node(node_info, base_config, bhg_version, :lima)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
def get_template(ostype)
|
|
35
|
+
case ostype
|
|
36
|
+
# Ubuntu - use ubuntu-lts for LTS releases
|
|
37
|
+
when /^ubuntu(\d+)$/
|
|
38
|
+
version = Regexp.last_match(1)
|
|
39
|
+
"template:ubuntu-#{version[0, 2]}.#{version[2, 2]}"
|
|
40
|
+
|
|
41
|
+
# Debian
|
|
42
|
+
when /^debian(\d+)$/
|
|
43
|
+
version = Regexp.last_match(1)
|
|
44
|
+
"template:debian-#{version}"
|
|
45
|
+
|
|
46
|
+
# CentOS and variants
|
|
47
|
+
when /^centos(\d+)$/
|
|
48
|
+
version = Regexp.last_match(1)
|
|
49
|
+
(version.to_i == 7) ? "template:centos-#{version}" : "template:centos-stream-#{version}"
|
|
50
|
+
|
|
51
|
+
# AlmaLinux
|
|
52
|
+
when /^almalinux(\d+)$/
|
|
53
|
+
version = Regexp.last_match(1)
|
|
54
|
+
"template:almalinux-#{version}"
|
|
55
|
+
|
|
56
|
+
# Rocky Linux
|
|
57
|
+
when /^rocky(\d+)$/
|
|
58
|
+
version = Regexp.last_match(1)
|
|
59
|
+
"template:rocky-#{version}"
|
|
60
|
+
|
|
61
|
+
# Oracle Linux
|
|
62
|
+
when /^oracle(\d+)$/
|
|
63
|
+
version = Regexp.last_match(1)
|
|
64
|
+
"template:oraclelinux-#{version}"
|
|
65
|
+
|
|
66
|
+
# Fedora
|
|
67
|
+
when /^fedora(\d+)$/
|
|
68
|
+
version = Regexp.last_match(1)
|
|
69
|
+
"template:fedora-#{version}"
|
|
70
|
+
|
|
71
|
+
# OpenSUSE
|
|
72
|
+
when /^opensuse(\d+)$/
|
|
73
|
+
version = Regexp.last_match(1)
|
|
74
|
+
"template:opensuse-leap-#{version}"
|
|
75
|
+
|
|
76
|
+
# Default fallback - use ostype as-is
|
|
77
|
+
else
|
|
78
|
+
"template:#{ostype}"
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -33,12 +33,7 @@ module BeakerHostGenerator
|
|
|
33
33
|
end
|
|
34
34
|
when /^centos(\d+)-64/
|
|
35
35
|
version = Regexp.last_match(1)
|
|
36
|
-
|
|
37
|
-
base_config['box'] = "centos/stream#{version}"
|
|
38
|
-
base_config['box_url'] = "https://cloud.centos.org/centos/#{version}-stream/x86_64/images/CentOS-Stream-Vagrant-#{version}-latest.x86_64.vagrant-libvirt.box"
|
|
39
|
-
else
|
|
40
|
-
base_config = "centos/#{version}"
|
|
41
|
-
end
|
|
36
|
+
base_config['box'] = (version.to_i >= 8) ? "centos/stream#{version}" : "centos/#{version}"
|
|
42
37
|
end
|
|
43
38
|
|
|
44
39
|
# We don't use this by default
|
|
@@ -19,7 +19,35 @@ module BeakerHostGenerator
|
|
|
19
19
|
|
|
20
20
|
case node_info['ostype']
|
|
21
21
|
when /^(almalinux|centos|oracle|redhat|rocky|scientific)/
|
|
22
|
-
|
|
22
|
+
os = Regexp.last_match(1)
|
|
23
|
+
arch = case node_info['bits']
|
|
24
|
+
when '64'
|
|
25
|
+
'x86_64'
|
|
26
|
+
when 'AARCH64'
|
|
27
|
+
case node_info['ostype'].sub(os, '')
|
|
28
|
+
when '7', '8'
|
|
29
|
+
'x86_64'
|
|
30
|
+
else
|
|
31
|
+
'arm64'
|
|
32
|
+
end
|
|
33
|
+
when 'POWER'
|
|
34
|
+
'ppc64le'
|
|
35
|
+
when 'S390X'
|
|
36
|
+
's390x'
|
|
37
|
+
end
|
|
38
|
+
base_config['template'] ||= "#{node_info['ostype'].sub(os, "#{os}-")}-#{arch}" if arch
|
|
39
|
+
|
|
40
|
+
when /^(sles)/
|
|
41
|
+
os = Regexp.last_match(1)
|
|
42
|
+
version = node_info['ostype'].sub(os, '')
|
|
43
|
+
arch = case node_info['bits']
|
|
44
|
+
when '64'
|
|
45
|
+
'x86_64'
|
|
46
|
+
when '32'
|
|
47
|
+
'i386'
|
|
48
|
+
end
|
|
49
|
+
base_config['template'] ||= "#{os}-#{version}-#{arch}" if arch
|
|
50
|
+
|
|
23
51
|
when /^fedora/, /^opensuse/, /^panos/
|
|
24
52
|
base_config['template'] ||= base_config['platform']
|
|
25
53
|
when /^(debian|ubuntu|vro)/
|
|
@@ -46,6 +46,7 @@ module BeakerHostGenerator
|
|
|
46
46
|
'container_swarm' => BeakerHostGenerator::Hypervisor::Docker,
|
|
47
47
|
'docker' => BeakerHostGenerator::Hypervisor::Docker,
|
|
48
48
|
'hcloud' => BeakerHostGenerator::Hypervisor::Hcloud,
|
|
49
|
+
'lima' => BeakerHostGenerator::Hypervisor::Lima,
|
|
49
50
|
'vagrant' => BeakerHostGenerator::Hypervisor::Vagrant,
|
|
50
51
|
'vagrant_libvirt' => BeakerHostGenerator::Hypervisor::Vagrant,
|
|
51
52
|
'vmpooler' => BeakerHostGenerator::Hypervisor::Vmpooler,
|
|
@@ -118,3 +119,4 @@ require 'beaker-hostgenerator/hypervisor/vagrant'
|
|
|
118
119
|
require 'beaker-hostgenerator/hypervisor/docker'
|
|
119
120
|
require 'beaker-hostgenerator/hypervisor/abs'
|
|
120
121
|
require 'beaker-hostgenerator/hypervisor/hcloud'
|
|
122
|
+
require 'beaker-hostgenerator/hypervisor/lima'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker-hostgenerator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Branan Purvine-Riley
|
|
@@ -36,16 +36,22 @@ dependencies:
|
|
|
36
36
|
name: minitest
|
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
|
-
- - "
|
|
39
|
+
- - ">="
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '5.18'
|
|
42
|
+
- - "<"
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: '7'
|
|
42
45
|
type: :development
|
|
43
46
|
prerelease: false
|
|
44
47
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
48
|
requirements:
|
|
46
|
-
- - "
|
|
49
|
+
- - ">="
|
|
47
50
|
- !ruby/object:Gem::Version
|
|
48
51
|
version: '5.18'
|
|
52
|
+
- - "<"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '7'
|
|
49
55
|
- !ruby/object:Gem::Dependency
|
|
50
56
|
name: pry
|
|
51
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -114,14 +120,14 @@ dependencies:
|
|
|
114
120
|
requirements:
|
|
115
121
|
- - "~>"
|
|
116
122
|
- !ruby/object:Gem::Version
|
|
117
|
-
version:
|
|
123
|
+
version: 5.2.0
|
|
118
124
|
type: :development
|
|
119
125
|
prerelease: false
|
|
120
126
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
127
|
requirements:
|
|
122
128
|
- - "~>"
|
|
123
129
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
130
|
+
version: 5.2.0
|
|
125
131
|
- !ruby/object:Gem::Dependency
|
|
126
132
|
name: deep_merge
|
|
127
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -175,6 +181,7 @@ files:
|
|
|
175
181
|
- lib/beaker-hostgenerator/hypervisor/abs.rb
|
|
176
182
|
- lib/beaker-hostgenerator/hypervisor/docker.rb
|
|
177
183
|
- lib/beaker-hostgenerator/hypervisor/hcloud.rb
|
|
184
|
+
- lib/beaker-hostgenerator/hypervisor/lima.rb
|
|
178
185
|
- lib/beaker-hostgenerator/hypervisor/unknown.rb
|
|
179
186
|
- lib/beaker-hostgenerator/hypervisor/vagrant.rb
|
|
180
187
|
- lib/beaker-hostgenerator/hypervisor/vmpooler.rb
|
|
@@ -200,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
200
207
|
- !ruby/object:Gem::Version
|
|
201
208
|
version: '0'
|
|
202
209
|
requirements: []
|
|
203
|
-
rubygems_version:
|
|
210
|
+
rubygems_version: 4.0.6
|
|
204
211
|
specification_version: 4
|
|
205
212
|
summary: Beaker Host Generator Utility
|
|
206
213
|
test_files: []
|