beaker-hostgenerator 1.1.24 → 1.1.25
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/lib/beaker-hostgenerator/hypervisor.rb +19 -6
- data/lib/beaker-hostgenerator/hypervisor/abs.rb +1 -10
- data/lib/beaker-hostgenerator/hypervisor/docker.rb +1 -6
- data/lib/beaker-hostgenerator/hypervisor/unknown.rb +1 -9
- data/lib/beaker-hostgenerator/hypervisor/vagrant.rb +1 -7
- data/lib/beaker-hostgenerator/hypervisor/vmpooler.rb +1 -6
- data/lib/beaker-hostgenerator/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f9ec0f62cd53894b1235937709ff9b686cf33ae8
|
|
4
|
+
data.tar.gz: 317ffd0a1a70de086b6930a8f01f46385952f5ed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 20812e4e1cd762ea6f4b3c4dfd15538bd49c24399cc13a4c3987aca1128c884aa65e48befc53ac36b5b8f54be2e4be2c16249ea53b9773d70dd1b5d6338bf566
|
|
7
|
+
data.tar.gz: 5df19f73742c052f280fb188a895d25a875464c6833be0091647532b89b59ed0405a25038154100cb06f581d6ff213fad27370d8aa6b4bc4c46a6dba9bde88a9
|
|
@@ -26,12 +26,8 @@ module BeakerHostGenerator
|
|
|
26
26
|
# create.
|
|
27
27
|
def self.create(node_info, options)
|
|
28
28
|
name = node_info['host_settings']['hypervisor'] || options[:hypervisor]
|
|
29
|
-
hypervisor = builtin_hypervisors[name]
|
|
30
|
-
|
|
31
|
-
hypervisor.new
|
|
32
|
-
else
|
|
33
|
-
BeakerHostGenerator::Hypervisor::Unknown.new(name)
|
|
34
|
-
end
|
|
29
|
+
hypervisor = builtin_hypervisors[name] || BeakerHostGenerator::Hypervisor::Unknown
|
|
30
|
+
hypervisor.new(name)
|
|
35
31
|
end
|
|
36
32
|
|
|
37
33
|
# Returns a map of all built-in hypervisor implementations, where the keys
|
|
@@ -54,6 +50,10 @@ module BeakerHostGenerator
|
|
|
54
50
|
end
|
|
55
51
|
|
|
56
52
|
class Interface
|
|
53
|
+
def initialize(name)
|
|
54
|
+
@name = name
|
|
55
|
+
end
|
|
56
|
+
|
|
57
57
|
# Returns a map containing any general configuration required by this
|
|
58
58
|
# hypervisor. This map will be merged into the 'CONFIG' section of the
|
|
59
59
|
# final hosts configuration output.
|
|
@@ -88,6 +88,19 @@ module BeakerHostGenerator
|
|
|
88
88
|
def generate_node(node_info, base_config, bhg_version)
|
|
89
89
|
raise "Method 'generate_node' not implemented!"
|
|
90
90
|
end
|
|
91
|
+
|
|
92
|
+
private
|
|
93
|
+
|
|
94
|
+
def base_generate_node(node_info, base_config, bhg_version, *hypervisors)
|
|
95
|
+
platform = node_info['platform']
|
|
96
|
+
hypervisors.map do |hypervisor|
|
|
97
|
+
base_config.deep_merge! get_platform_info(bhg_version, platform, hypervisor)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
base_config['hypervisor'] = @name
|
|
101
|
+
|
|
102
|
+
return base_config
|
|
103
|
+
end
|
|
91
104
|
end
|
|
92
105
|
end
|
|
93
106
|
end
|
|
@@ -15,21 +15,12 @@ module BeakerHostGenerator
|
|
|
15
15
|
include BeakerHostGenerator::Data
|
|
16
16
|
|
|
17
17
|
def generate_node(node_info, base_config, bhg_version)
|
|
18
|
-
base_config['hypervisor'] = 'abs'
|
|
19
|
-
|
|
20
18
|
# Grab vmpooler data for this platform and any hardware (ABS) data.
|
|
21
19
|
# The assumption here is that these are mutually exclusive; that is,
|
|
22
20
|
# any given platform will have *either* :vmpooler data or :abs data
|
|
23
21
|
# so we're not worried about one overriding the other when we merge
|
|
24
22
|
# the hashes together.
|
|
25
|
-
|
|
26
|
-
vmpooler_platform_info = get_platform_info(bhg_version, platform, :vmpooler)
|
|
27
|
-
abs_platform_info = get_platform_info(bhg_version, platform, :abs)
|
|
28
|
-
|
|
29
|
-
base_config.deep_merge! vmpooler_platform_info
|
|
30
|
-
base_config.deep_merge! abs_platform_info
|
|
31
|
-
|
|
32
|
-
return base_config
|
|
23
|
+
return base_generate_node(node_info, base_config, bhg_version, :vmpooler, :abs)
|
|
33
24
|
end
|
|
34
25
|
end
|
|
35
26
|
end
|
|
@@ -8,16 +8,11 @@ module BeakerHostGenerator
|
|
|
8
8
|
include BeakerHostGenerator::Data
|
|
9
9
|
|
|
10
10
|
def generate_node(node_info, base_config, bhg_version)
|
|
11
|
-
base_config['hypervisor'] = 'docker'
|
|
12
11
|
base_config['docker_cmd'] = ['/sbin/init']
|
|
13
12
|
base_config['image'] = node_info['ostype'].sub(/(\d)/, ':\1')
|
|
14
13
|
base_config['image'].sub!(/(\d{2})/, '\1.') if node_info['ostype'] =~ /^ubuntu/
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
platform_info = get_platform_info(bhg_version, platform, :docker)
|
|
18
|
-
base_config.deep_merge! platform_info
|
|
19
|
-
|
|
20
|
-
return base_config
|
|
15
|
+
return base_generate_node(node_info, base_config, bhg_version, :docker)
|
|
21
16
|
end
|
|
22
17
|
end
|
|
23
18
|
end
|
|
@@ -6,16 +6,8 @@ module BeakerHostGenerator::Hypervisor
|
|
|
6
6
|
class Unknown < BeakerHostGenerator::Hypervisor::Interface
|
|
7
7
|
include BeakerHostGenerator::Data
|
|
8
8
|
|
|
9
|
-
def initialize(name)
|
|
10
|
-
@name = name
|
|
11
|
-
end
|
|
12
|
-
|
|
13
9
|
def generate_node(node_info, base_config, bhg_version)
|
|
14
|
-
|
|
15
|
-
general_info = get_platform_info(bhg_version, platform, :general)
|
|
16
|
-
base_config.deep_merge! general_info
|
|
17
|
-
base_config['hypervisor'] = @name
|
|
18
|
-
return base_config
|
|
10
|
+
return base_generate_node(node_info, base_config, bhg_version, :general)
|
|
19
11
|
end
|
|
20
12
|
end
|
|
21
13
|
end
|
|
@@ -8,8 +8,6 @@ module BeakerHostGenerator
|
|
|
8
8
|
include BeakerHostGenerator::Data
|
|
9
9
|
|
|
10
10
|
def generate_node(node_info, base_config, bhg_version)
|
|
11
|
-
base_config['hypervisor'] = 'vagrant'
|
|
12
|
-
|
|
13
11
|
if node_info['ostype'] =~ /^centos/
|
|
14
12
|
base_config['box'] = node_info['ostype'].sub(/(\d)/, '/\1')
|
|
15
13
|
elsif node_info['ostype'] =~ /^fedora/
|
|
@@ -21,11 +19,7 @@ module BeakerHostGenerator
|
|
|
21
19
|
# We don't use this by default
|
|
22
20
|
base_config['synced_folder'] = 'disabled'
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
platform_info = get_platform_info(bhg_version, platform, :vagrant)
|
|
26
|
-
base_config.deep_merge! platform_info
|
|
27
|
-
|
|
28
|
-
return base_config
|
|
22
|
+
return base_generate_node(node_info, base_config, bhg_version, :vagrant)
|
|
29
23
|
end
|
|
30
24
|
end
|
|
31
25
|
end
|
|
@@ -15,12 +15,7 @@ module BeakerHostGenerator
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def generate_node(node_info, base_config, bhg_version)
|
|
18
|
-
|
|
19
|
-
base_config['hypervisor'] = 'vmpooler'
|
|
20
|
-
|
|
21
|
-
platform = node_info['platform']
|
|
22
|
-
platform_info = get_platform_info(bhg_version, platform, :vmpooler)
|
|
23
|
-
base_config.deep_merge! platform_info
|
|
18
|
+
base_config = base_generate_node(node_info, base_config, bhg_version, :vmpooler)
|
|
24
19
|
|
|
25
20
|
# Some vmpooler/vsphere platforms have special requirements.
|
|
26
21
|
# We munge the node host config here if that is necessary.
|
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: 1.1.
|
|
4
|
+
version: 1.1.25
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Branan Purvine-Riley
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2019-01-
|
|
13
|
+
date: 2019-01-07 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: minitest
|