beaker-hostgenerator 3.4.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 +5 -5
- data/.rubocop_todo.yml +9 -2
- data/CHANGELOG.md +14 -1
- data/beaker-hostgenerator.gemspec +1 -1
- data/lib/beaker-hostgenerator/hypervisor/lima.rb +83 -0
- data/lib/beaker-hostgenerator/hypervisor/vagrant.rb +1 -6
- data/lib/beaker-hostgenerator/hypervisor.rb +2 -0
- data/lib/beaker-hostgenerator/version.rb +1 -1
- metadata +5 -4
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
|
|
@@ -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/.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
|
|
@@ -201,6 +201,13 @@ Style/MutableConstant:
|
|
|
201
201
|
- 'lib/beaker-hostgenerator/version.rb'
|
|
202
202
|
- 'spec/helpers.rb'
|
|
203
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
|
+
|
|
204
211
|
# Offense count: 1
|
|
205
212
|
Style/OpenStructUse:
|
|
206
213
|
Exclude:
|
|
@@ -233,7 +240,7 @@ Style/StringConcatenation:
|
|
|
233
240
|
|
|
234
241
|
# Offense count: 2
|
|
235
242
|
# This cop supports safe autocorrection (--autocorrect).
|
|
236
|
-
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes,
|
|
243
|
+
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
|
|
237
244
|
# URISchemes: http, https
|
|
238
245
|
Layout/LineLength:
|
|
239
246
|
Max: 168
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
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
|
+
|
|
5
18
|
## [3.4.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/3.4.0) (2025-12-27)
|
|
6
19
|
|
|
7
20
|
[Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/3.3.0...3.4.0)
|
|
@@ -852,7 +865,7 @@ All notable changes to this project will be documented in this file.
|
|
|
852
865
|
|
|
853
866
|
**Merged pull requests:**
|
|
854
867
|
|
|
855
|
-
- \(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))
|
|
856
869
|
|
|
857
870
|
## [1.1.27](https://github.com/voxpupuli/beaker-hostgenerator/tree/1.1.27) (2019-04-25)
|
|
858
871
|
|
|
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
|
|
|
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', '~> 5.
|
|
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'
|
|
@@ -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
|
|
@@ -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
|
|
@@ -120,14 +120,14 @@ dependencies:
|
|
|
120
120
|
requirements:
|
|
121
121
|
- - "~>"
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: 5.
|
|
123
|
+
version: 5.2.0
|
|
124
124
|
type: :development
|
|
125
125
|
prerelease: false
|
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
|
127
127
|
requirements:
|
|
128
128
|
- - "~>"
|
|
129
129
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: 5.
|
|
130
|
+
version: 5.2.0
|
|
131
131
|
- !ruby/object:Gem::Dependency
|
|
132
132
|
name: deep_merge
|
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -181,6 +181,7 @@ files:
|
|
|
181
181
|
- lib/beaker-hostgenerator/hypervisor/abs.rb
|
|
182
182
|
- lib/beaker-hostgenerator/hypervisor/docker.rb
|
|
183
183
|
- lib/beaker-hostgenerator/hypervisor/hcloud.rb
|
|
184
|
+
- lib/beaker-hostgenerator/hypervisor/lima.rb
|
|
184
185
|
- lib/beaker-hostgenerator/hypervisor/unknown.rb
|
|
185
186
|
- lib/beaker-hostgenerator/hypervisor/vagrant.rb
|
|
186
187
|
- lib/beaker-hostgenerator/hypervisor/vmpooler.rb
|
|
@@ -206,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
206
207
|
- !ruby/object:Gem::Version
|
|
207
208
|
version: '0'
|
|
208
209
|
requirements: []
|
|
209
|
-
rubygems_version: 4.0.
|
|
210
|
+
rubygems_version: 4.0.6
|
|
210
211
|
specification_version: 4
|
|
211
212
|
summary: Beaker Host Generator Utility
|
|
212
213
|
test_files: []
|