foreman_discovery 17.0.5 → 18.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/discovered_hosts_controller.rb +10 -3
- data/app/controllers/discovery_rules_controller.rb +1 -1
- data/app/helpers/discovered_hosts_helper.rb +3 -2
- data/app/models/discovery_fact_name.rb +9 -0
- data/app/services/discovery_fact_importer.rb +5 -0
- data/app/services/foreman_discovery/host_converter.rb +3 -3
- data/app/views/discovered_hosts/welcome.html.erb +1 -2
- data/app/views/discovery_rules/welcome.html.erb +1 -2
- data/lib/foreman_discovery/engine.rb +3 -1
- data/lib/foreman_discovery/version.rb +1 -1
- data/locale/ca/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ca/foreman_discovery.po +13 -7
- data/locale/de/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/de/foreman_discovery.po +11 -5
- data/locale/en/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/en/foreman_discovery.po +7 -1
- data/locale/en_GB/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/en_GB/foreman_discovery.po +8 -2
- data/locale/es/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/es/foreman_discovery.po +11 -5
- data/locale/foreman_discovery.pot +38 -30
- data/locale/fr/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/fr/foreman_discovery.po +57 -51
- data/locale/gl/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/gl/foreman_discovery.po +11 -5
- data/locale/it/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/it/foreman_discovery.po +11 -5
- data/locale/ja/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ja/foreman_discovery.po +43 -37
- data/locale/ko/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ko/foreman_discovery.po +11 -5
- data/locale/pt_BR/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/pt_BR/foreman_discovery.po +11 -5
- data/locale/ru/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ru/foreman_discovery.po +15 -9
- data/locale/sv_SE/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/sv_SE/foreman_discovery.po +11 -5
- data/locale/zh_CN/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/zh_CN/foreman_discovery.po +59 -53
- data/locale/zh_TW/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/zh_TW/foreman_discovery.po +11 -5
- data/package.json +1 -1
- data/test/functional/api/v2/fact_value_extensions_test.rb +1 -4
- data/test/functional/discovered_hosts_controller_test.rb +6 -5
- data/test/integration/discovered_hosts_test.rb +10 -4
- data/test/test_helper_discovery.rb +35 -27
- data/test/test_plugin_helper.rb +7 -0
- data/test/unit/discovered_extensions_test.rb +36 -16
- data/test/unit/discovery_attribute_set_test.rb +2 -8
- data/test/unit/fact_parser_test.rb +1 -4
- metadata +7 -10
- data/test/functional/api/v2/settings_controller_test.rb +0 -22
- data/test/models/setting_test.rb +0 -11
- data/test/unit/setting_discovered_test.rb +0 -9
@@ -156,7 +156,17 @@ class DiscoveredExtensionsTest < ActiveSupport::TestCase
|
|
156
156
|
subnet = FactoryBot.create(:subnet_ipv4, :tftp, :dhcp, :name => 'subnet_100', :network => '192.168.100.0', :organizations => [Organization.find_by_name("Organization 1")], :locations => [Location.find_by_name("Location 1")])
|
157
157
|
host = discover_host_from_facts(facts)
|
158
158
|
assert_equal subnet, host.subnet
|
159
|
-
|
159
|
+
if defined? ForemanPuppet
|
160
|
+
hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, :with_rootpass, :with_os,
|
161
|
+
pxe_loader: "PXELinux BIOS",
|
162
|
+
subnet: subnet,
|
163
|
+
domain: domain)
|
164
|
+
else
|
165
|
+
hostgroup = FactoryBot.create(:hostgroup, :with_rootpass, :with_os,
|
166
|
+
pxe_loader: "PXELinux BIOS",
|
167
|
+
subnet: subnet,
|
168
|
+
domain: domain)
|
169
|
+
end
|
160
170
|
r1 = FactoryBot.create(:discovery_rule, :priority => 1, :search => "facts.somefact = abc", :organizations => [host.organization], :locations => [host.location], :hostgroup => hostgroup)
|
161
171
|
host.primary_interface.expects(:queue_tftp).at_least(1)
|
162
172
|
host.primary_interface.expects(:queue_dhcp).at_least(1)
|
@@ -174,12 +184,12 @@ class DiscoveredExtensionsTest < ActiveSupport::TestCase
|
|
174
184
|
assert_equal hostgroup.subnet, managed_host.provision_interface.subnet
|
175
185
|
refute_nil hostgroup.domain, managed_host.domain
|
176
186
|
assert_equal hostgroup.domain, managed_host.domain
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
187
|
+
if defined? ForemanPuppet
|
188
|
+
refute_nil hostgroup.environment, managed_host.environment
|
189
|
+
assert_equal hostgroup.environment, managed_host.environment
|
190
|
+
refute_nil hostgroup.puppet_proxy, managed_host.puppet_proxy
|
191
|
+
assert_equal hostgroup.puppet_proxy, managed_host.puppet_proxy
|
192
|
+
end
|
183
193
|
end
|
184
194
|
|
185
195
|
class StubIPAM
|
@@ -196,7 +206,7 @@ class DiscoveredExtensionsTest < ActiveSupport::TestCase
|
|
196
206
|
subnet2 = FactoryBot.create(:subnet_ipv4, :tftp, :dhcp, :name => 'subnet_101', :network => '192.168.101.0', :organizations => [Organization.find_by_name("Organization 1")], :locations => [Location.find_by_name("Location 1")])
|
197
207
|
host = discover_host_from_facts(facts)
|
198
208
|
assert_equal subnet, host.subnet
|
199
|
-
hostgroup = FactoryBot.create(:hostgroup, :
|
209
|
+
hostgroup = FactoryBot.create(:hostgroup, :with_rootpass, :with_os, :pxe_loader => "PXELinux BIOS", :subnet => subnet2, :domain => domain)
|
200
210
|
r1 = FactoryBot.create(:discovery_rule, :priority => 1, :search => "facts.somefact = abc", :organizations => [host.organization], :locations => [host.location], :hostgroup => hostgroup)
|
201
211
|
Subnet.any_instance.expects(:unused_ip).with(host.mac).returns(StubIPAM.new)
|
202
212
|
host.primary_interface.stubs(:queue_tftp)
|
@@ -219,7 +229,7 @@ class DiscoveredExtensionsTest < ActiveSupport::TestCase
|
|
219
229
|
subnet2 = FactoryBot.create(:subnet_ipv6, :tftp, :dhcp, :network => "2001:db9::/32", :mask => "ffff:ffff::", :name => "ipv6_provision", :ipam => IPAM::MODES[:eui64], :organizations => [Organization.find_by_name("Organization 1")], :locations => [Location.find_by_name("Location 1")])
|
220
230
|
host = discover_host_from_facts(facts)
|
221
231
|
assert_equal subnet, host.subnet6
|
222
|
-
hostgroup = FactoryBot.create(:hostgroup, :
|
232
|
+
hostgroup = FactoryBot.create(:hostgroup, :with_rootpass, :with_os, :pxe_loader => "PXELinux BIOS", :subnet6 => subnet2, :domain => domain)
|
223
233
|
r1 = FactoryBot.create(:discovery_rule, :priority => 1, :search => "facts.somefact = abc", :organizations => [host.organization], :locations => [host.location], :hostgroup => hostgroup)
|
224
234
|
host.primary_interface.stubs(:queue_tftp)
|
225
235
|
host.primary_interface.stubs(:queue_dhcp)
|
@@ -239,7 +249,17 @@ class DiscoveredExtensionsTest < ActiveSupport::TestCase
|
|
239
249
|
refute host.subnet
|
240
250
|
domain = FactoryBot.create(:domain)
|
241
251
|
subnet = FactoryBot.create(:subnet_ipv4, :tftp, :dhcp, :name => 'subnet_100', :network => '192.168.100.0', :organizations => [Organization.find_by_name("Organization 1")], :locations => [Location.find_by_name("Location 1")])
|
242
|
-
|
252
|
+
if defined? ForemanPuppet
|
253
|
+
hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, :with_rootpass, :with_os,
|
254
|
+
pxe_loader: "PXELinux BIOS",
|
255
|
+
subnet: subnet,
|
256
|
+
domain: domain)
|
257
|
+
else
|
258
|
+
hostgroup = FactoryBot.create(:hostgroup, :with_rootpass, :with_os,
|
259
|
+
pxe_loader: "PXELinux BIOS",
|
260
|
+
subnet: subnet,
|
261
|
+
domain: domain)
|
262
|
+
end
|
243
263
|
r1 = FactoryBot.create(:discovery_rule, :priority => 1, :search => "facts.somefact = abc", :organizations => [host.organization], :locations => [host.location], :hostgroup => hostgroup)
|
244
264
|
host.primary_interface.expects(:queue_tftp).at_least(1)
|
245
265
|
host.primary_interface.expects(:queue_dhcp).at_least(1)
|
@@ -257,12 +277,12 @@ class DiscoveredExtensionsTest < ActiveSupport::TestCase
|
|
257
277
|
assert_equal hostgroup.subnet, managed_host.provision_interface.subnet
|
258
278
|
refute_nil hostgroup.domain, managed_host.domain
|
259
279
|
assert_equal hostgroup.domain, managed_host.domain
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
280
|
+
if defined? ForemanPuppet
|
281
|
+
refute_nil hostgroup.environment, managed_host.environment
|
282
|
+
assert_equal hostgroup.environment, managed_host.environment
|
283
|
+
refute_nil hostgroup.puppet_proxy, managed_host.puppet_proxy
|
284
|
+
assert_equal hostgroup.puppet_proxy, managed_host.puppet_proxy
|
285
|
+
end
|
266
286
|
end
|
267
287
|
|
268
288
|
def setup_normal_renderer
|
@@ -6,14 +6,8 @@ class DiscoveryAttributeSetTest < ActiveSupport::TestCase
|
|
6
6
|
|
7
7
|
setup do
|
8
8
|
@facts = parse_json_fixture('regular_host', true)
|
9
|
-
|
10
|
-
|
11
|
-
:value => 'discovery_bootif',
|
12
|
-
:category => 'Setting::Discovered')
|
13
|
-
FactoryBot.create(:setting,
|
14
|
-
:name => 'discovery_prefix',
|
15
|
-
:value => 'mac',
|
16
|
-
:category => 'Setting::Discovered')
|
9
|
+
Setting['discovery_hostname'] = 'discovery_bootif'
|
10
|
+
Setting['discovery_prefix'] = 'mac'
|
17
11
|
::ForemanDiscovery::HostConverter.stubs(:unused_ip_for_host)
|
18
12
|
end
|
19
13
|
|
@@ -55,10 +55,7 @@ class FactParserTest < ActiveSupport::TestCase
|
|
55
55
|
end
|
56
56
|
|
57
57
|
test "#suggested_primary_interface detects interface even when 'ignore_puppet_facts_for_provisioning' is set" do
|
58
|
-
|
59
|
-
:name => 'ignore_puppet_facts_for_provisioning',
|
60
|
-
:value => true,
|
61
|
-
:category => 'Setting::Provisioning')
|
58
|
+
Setting['ignore_puppet_facts_for_provisioning'] = true
|
62
59
|
assert_equal 'eth2', @parser.suggested_primary_interface(@host).try(:first)
|
63
60
|
end
|
64
61
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_discovery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 18.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aditi Puntambekar
|
@@ -41,6 +41,7 @@ authors:
|
|
41
41
|
- Lukáš Zapletal
|
42
42
|
- Marek Hulan
|
43
43
|
- Marek Hulán
|
44
|
+
- MariaAga
|
44
45
|
- Martin Bačovský
|
45
46
|
- Matt Jarvis
|
46
47
|
- Michael Moll
|
@@ -73,7 +74,7 @@ authors:
|
|
73
74
|
autorequire:
|
74
75
|
bindir: bin
|
75
76
|
cert_chain: []
|
76
|
-
date: 2021-
|
77
|
+
date: 2021-09-20 00:00:00.000000000 Z
|
77
78
|
dependencies: []
|
78
79
|
description: MaaS Discovery Plugin engine for Foreman
|
79
80
|
email: gsutclif@redhat.com
|
@@ -100,12 +101,14 @@ files:
|
|
100
101
|
- app/mailers/discovered_mailer.rb
|
101
102
|
- app/models/concerns/discovery_taxonomy_extensions.rb
|
102
103
|
- app/models/discovery_attribute_set.rb
|
104
|
+
- app/models/discovery_fact_name.rb
|
103
105
|
- app/models/discovery_rule.rb
|
104
106
|
- app/models/host/discovered.rb
|
105
107
|
- app/models/host/managed_extensions.rb
|
106
108
|
- app/models/hostgroup_extensions.rb
|
107
109
|
- app/models/nic/managed_extensions.rb
|
108
110
|
- app/models/setting/discovered.rb
|
111
|
+
- app/services/discovery_fact_importer.rb
|
109
112
|
- app/services/foreman_discovery/fact_parser.rb
|
110
113
|
- app/services/foreman_discovery/fact_to_category_resolver.rb
|
111
114
|
- app/services/foreman_discovery/host_converter.rb
|
@@ -266,12 +269,10 @@ files:
|
|
266
269
|
- test/functional/api/v2/discovered_hosts_controller_test.rb
|
267
270
|
- test/functional/api/v2/discovery_rules_controller_test.rb
|
268
271
|
- test/functional/api/v2/fact_value_extensions_test.rb
|
269
|
-
- test/functional/api/v2/settings_controller_test.rb
|
270
272
|
- test/functional/discovered_hosts_controller_test.rb
|
271
273
|
- test/functional/discovery_rules_controller_test.rb
|
272
274
|
- test/functional/foreman_discovery/concerns/hosts_controller_extensions_test.rb
|
273
275
|
- test/integration/discovered_hosts_test.rb
|
274
|
-
- test/models/setting_test.rb
|
275
276
|
- test/test_helper_discovery.rb
|
276
277
|
- test/test_plugin_helper.rb
|
277
278
|
- test/unit/discovered_extensions_test.rb
|
@@ -284,7 +285,6 @@ files:
|
|
284
285
|
- test/unit/host_discovered_test.rb
|
285
286
|
- test/unit/lldp_neighbors_test.rb
|
286
287
|
- test/unit/managed_extensions_test.rb
|
287
|
-
- test/unit/setting_discovered_test.rb
|
288
288
|
- test/unit/ui_notifications/destroy_host_test.rb
|
289
289
|
- test/unit/ui_notifications/new_host_test.rb
|
290
290
|
- webpack/__mocks__/foremanReact/common/I18n.js
|
@@ -351,7 +351,6 @@ test_files:
|
|
351
351
|
- test/functional/api/v2/discovery_rules_controller_test.rb
|
352
352
|
- test/functional/api/v2/discovered_hosts_controller_test.rb
|
353
353
|
- test/functional/api/v2/fact_value_extensions_test.rb
|
354
|
-
- test/functional/api/v2/settings_controller_test.rb
|
355
354
|
- test/functional/foreman_discovery/concerns/hosts_controller_extensions_test.rb
|
356
355
|
- test/functional/discovery_rules_controller_test.rb
|
357
356
|
- test/functional/discovered_hosts_controller_test.rb
|
@@ -361,14 +360,12 @@ test_files:
|
|
361
360
|
- test/unit/discovered_mailer_test.rb
|
362
361
|
- test/unit/discovery_taxonomy_extensions_test.rb
|
363
362
|
- test/unit/lldp_neighbors_test.rb
|
363
|
+
- test/unit/host_discovered_test.rb
|
364
364
|
- test/unit/discovery_rule_test.rb
|
365
365
|
- test/unit/fact_to_category_resolver_test.rb
|
366
366
|
- test/unit/managed_extensions_test.rb
|
367
|
-
- test/unit/host_discovered_test.rb
|
368
|
-
- test/unit/discovered_extensions_test.rb
|
369
367
|
- test/unit/discovery_attribute_set_test.rb
|
370
368
|
- test/unit/fact_parser_test.rb
|
371
|
-
- test/unit/
|
372
|
-
- test/models/setting_test.rb
|
369
|
+
- test/unit/discovered_extensions_test.rb
|
373
370
|
- test/test_helper_discovery.rb
|
374
371
|
- test/test_plugin_helper.rb
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require_relative '../../../test_plugin_helper'
|
2
|
-
|
3
|
-
class Api::V2::SettingsControllerTest < ActionController::TestCase
|
4
|
-
setup do
|
5
|
-
FactoryBot.create(:setting, :name => 'discovery_prefix', :value => 'mac', :category => 'Setting::Discovered')
|
6
|
-
end
|
7
|
-
|
8
|
-
test_attributes :pid => '2c5ecb7e-87bc-4980-9620-7ae00e3f360e'
|
9
|
-
test "should not update hostname prefix without value" do
|
10
|
-
setting = Setting.find_by_name("discovery_prefix")
|
11
|
-
put :update, params: { :id => setting.id, :setting => { :value => '' } }
|
12
|
-
assert_nil JSON.parse(@response.body)['value']
|
13
|
-
end
|
14
|
-
|
15
|
-
test_attributes :pid => '4969994d-f934-4f0e-9a98-476b87eb0527'
|
16
|
-
test "should update hostname prefix" do
|
17
|
-
value = RFauxFactory.gen_alpha
|
18
|
-
setting = Setting.find_by_name("discovery_prefix")
|
19
|
-
put :update, params: { :id => setting.id, :setting => { :value => value } }
|
20
|
-
assert_equal JSON.parse(@response.body)['value'], value, "Can't update discovery_prefix setting with valid value #{value}"
|
21
|
-
end
|
22
|
-
end
|
data/test/models/setting_test.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require_relative '../test_plugin_helper'
|
2
|
-
|
3
|
-
class SettingTest < ActiveSupport::TestCase
|
4
|
-
test "should update hostname prefix with multiple valid values" do
|
5
|
-
setting = FactoryBot.create(:setting, :name => 'discovery_prefix', :value => 'mac', :category => 'Setting::Discovered')
|
6
|
-
RFauxFactory.gen_strings(exclude: [:numeric, :alphanumeric]).values.each do |value|
|
7
|
-
setting.value = value
|
8
|
-
assert setting.valid?, "Can't update discovery_prefix setting with valid value #{value}"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
require_relative '../test_plugin_helper'
|
2
|
-
|
3
|
-
class SettingDiscoveredTest < ActiveSupport::TestCase
|
4
|
-
test "can create setting of discovered type" do
|
5
|
-
assert Setting.create(:name => "foo", :default => "bar", :description => "test foo", :category => "Setting::Discovered")
|
6
|
-
s = Setting::Discovered.first
|
7
|
-
assert_equal "foo", s.name
|
8
|
-
end
|
9
|
-
end
|