foreman_discovery 22.0.2 → 22.0.4

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/discovered_hosts_controller.rb +1 -1
  3. data/app/models/host/discovered.rb +3 -3
  4. data/app/services/foreman_discovery/import_hooks/lock_templates.rb +1 -1
  5. data/app/views/discovered_hosts/_discovered_host.html.erb +1 -1
  6. data/app/views/discovered_hosts/_discovered_hosts_list.html.erb +1 -1
  7. data/db/migrate/20221102065954_fix_discovery_settings_category_to_dsl.rb +1 -1
  8. data/db/migrate/20221102075151_migrate_discovery_hostname_and_fact_column_to_array.rb +13 -0
  9. data/lib/foreman_discovery/engine.rb +6 -12
  10. data/lib/foreman_discovery/version.rb +1 -1
  11. data/locale/ca/LC_MESSAGES/foreman_discovery.mo +0 -0
  12. data/locale/ca/foreman_discovery.po +8 -8
  13. data/locale/de/LC_MESSAGES/foreman_discovery.mo +0 -0
  14. data/locale/de/foreman_discovery.po +6 -6
  15. data/locale/en/LC_MESSAGES/foreman_discovery.mo +0 -0
  16. data/locale/en/foreman_discovery.po +5 -5
  17. data/locale/en_GB/LC_MESSAGES/foreman_discovery.mo +0 -0
  18. data/locale/en_GB/foreman_discovery.po +6 -6
  19. data/locale/es/LC_MESSAGES/foreman_discovery.mo +0 -0
  20. data/locale/es/foreman_discovery.po +65 -61
  21. data/locale/foreman_discovery.pot +212 -211
  22. data/locale/fr/LC_MESSAGES/foreman_discovery.mo +0 -0
  23. data/locale/fr/foreman_discovery.po +19 -15
  24. data/locale/gl/LC_MESSAGES/foreman_discovery.mo +0 -0
  25. data/locale/gl/foreman_discovery.po +5 -5
  26. data/locale/it/LC_MESSAGES/foreman_discovery.mo +0 -0
  27. data/locale/it/foreman_discovery.po +7 -6
  28. data/locale/ja/LC_MESSAGES/foreman_discovery.mo +0 -0
  29. data/locale/ja/foreman_discovery.po +18 -18
  30. data/locale/ka/LC_MESSAGES/foreman_discovery.mo +0 -0
  31. data/locale/ka/foreman_discovery.po +834 -0
  32. data/locale/ko/LC_MESSAGES/foreman_discovery.mo +0 -0
  33. data/locale/ko/foreman_discovery.po +5 -5
  34. data/locale/pt_BR/LC_MESSAGES/foreman_discovery.mo +0 -0
  35. data/locale/pt_BR/foreman_discovery.po +45 -41
  36. data/locale/ru/LC_MESSAGES/foreman_discovery.mo +0 -0
  37. data/locale/ru/foreman_discovery.po +5 -5
  38. data/locale/sv_SE/LC_MESSAGES/foreman_discovery.mo +0 -0
  39. data/locale/sv_SE/foreman_discovery.po +5 -5
  40. data/locale/zh_CN/LC_MESSAGES/foreman_discovery.mo +0 -0
  41. data/locale/zh_CN/foreman_discovery.po +15 -15
  42. data/locale/zh_TW/LC_MESSAGES/foreman_discovery.mo +0 -0
  43. data/locale/zh_TW/foreman_discovery.po +5 -5
  44. data/test/functional/api/v2/fact_value_extensions_test.rb +1 -1
  45. data/test/functional/discovered_hosts_controller_test.rb +1 -1
  46. data/test/migrations/20221102075151_migrate_discovery_hostname_and_fact_column_to_array_test.rb +89 -0
  47. data/test/test_helper_discovery.rb +1 -1
  48. data/test/unit/discovery_attribute_set_test.rb +1 -1
  49. data/test/unit/host_discovered_test.rb +3 -3
  50. metadata +21 -17
  51. data/app/models/setting/discovered.rb +0 -22
@@ -0,0 +1,89 @@
1
+ require_relative '../test_plugin_helper'
2
+ require ForemanDiscovery::Engine.root.join('db/migrate/20221102075151_migrate_discovery_hostname_and_fact_column_to_array')
3
+
4
+ class MigrateDiscoveryHostnameAndFactColumnToArrayTest < ActiveSupport::TestCase
5
+ let(:migrations_paths) { ActiveRecord::Migrator.migrations_paths + [ForemanDiscovery::Engine.root.join('db/migrate/').to_s] }
6
+
7
+ let(:previous_version) { '20221102065954'.to_i }
8
+ let(:current_version) { '20221102075151'.to_i }
9
+
10
+ #only load the two migrations we care about (previous one and current one)
11
+ let(:migrations) do
12
+ [
13
+ ActiveRecord::MigrationProxy.new("FixDiscoverySettingsCategoryToDsl", previous_version, "#{ForemanDiscovery::Engine.root}/db/migrate/20221102065954_fix_discovery_settings_category_to_dsl.rb", ""),
14
+ ActiveRecord::MigrationProxy.new("MigrateDiscoveryHostnameAndFactColumnToArray", current_version, "#{ForemanDiscovery::Engine.root}/db/migrate/20221102075151_migrate_discovery_hostname_and_fact_column_to_array.rb", "")
15
+ ]
16
+ end
17
+
18
+ def migrate_up
19
+ ActiveRecord::Migrator.new(:up, migrations, ActiveRecord::SchemaMigration, current_version).migrate
20
+ end
21
+
22
+ def setup
23
+ ActiveRecord::Migration.suppress_messages do
24
+ ActiveRecord::Migrator.new(:down, migrations, ActiveRecord::SchemaMigration, previous_version).migrate
25
+ end
26
+ end
27
+
28
+ def test_discovery_hostname_string
29
+ Setting['discovery_hostname'] = 'discovery_bootif'
30
+
31
+ migrate_up
32
+
33
+ assert_equal ['discovery_bootif'], Setting['discovery_hostname']
34
+ end
35
+
36
+ def test_discovery_hostname_multistring
37
+ setting = Setting.find_or_create_by(name: 'discovery_hostname')
38
+ setting.value = 'discovery_bootif, fqdn'
39
+ setting.save(validate: false)
40
+
41
+ migrate_up
42
+
43
+ assert_equal ['discovery_bootif', 'fqdn'], Setting['discovery_hostname']
44
+ end
45
+
46
+ def test_discovery_hostname_array
47
+ Setting['discovery_hostname'] = ['discovery_bootif']
48
+
49
+ migrate_up
50
+
51
+ assert_equal ['discovery_bootif'], Setting['discovery_hostname']
52
+ end
53
+
54
+ def test_discovery_fact_column_empty
55
+ setting = Setting.find_or_create_by(name: 'discovery_fact_column')
56
+ setting.value = ''
57
+ setting.save(validate: false)
58
+
59
+ migrate_up
60
+
61
+ assert_equal [], Setting['discovery_fact_column']
62
+ end
63
+
64
+ def test_discovery_fact_column_string
65
+ Setting['discovery_fact_column'] = 'bios_vendor'
66
+
67
+ migrate_up
68
+
69
+ assert_equal ['bios_vendor'], Setting['discovery_fact_column']
70
+ end
71
+
72
+ def test_discovery_fact_column_multistring
73
+ setting = Setting.find_or_create_by(name: 'discovery_fact_column')
74
+ setting.value = 'bios_vendor, fqdn'
75
+ setting.save(validate: false)
76
+
77
+ migrate_up
78
+
79
+ assert_equal ['bios_vendor', 'fqdn'], Setting['discovery_fact_column']
80
+ end
81
+
82
+ def test_discovery_fact_column_array
83
+ Setting['discovery_fact_column'] = ['bios_vendor']
84
+
85
+ migrate_up
86
+
87
+ assert_equal ['bios_vendor'], Setting['discovery_fact_column']
88
+ end
89
+ end
@@ -53,7 +53,7 @@ end
53
53
 
54
54
  def set_default_settings
55
55
  Setting['discovery_fact'] = 'discovery_bootif'
56
- Setting['discovery_hostname'] = 'discovery_bootif'
56
+ Setting['discovery_hostname'] = ['discovery_bootif']
57
57
  Setting['discovery_auto'] = true
58
58
  Setting['discovery_reboot'] = true
59
59
  Setting['discovery_organization'] = "Organization 1"
@@ -6,7 +6,7 @@ class DiscoveryAttributeSetTest < ActiveSupport::TestCase
6
6
 
7
7
  setup do
8
8
  @facts = parse_json_fixture('regular_host', true)
9
- Setting['discovery_hostname'] = 'discovery_bootif'
9
+ Setting['discovery_hostname'] = ['discovery_bootif']
10
10
  Setting['discovery_prefix'] = 'mac'
11
11
  ::ForemanDiscovery::HostConverter.stubs(:unused_ip_for_host)
12
12
  end
@@ -181,7 +181,7 @@ class HostDiscoveredTest < ActiveSupport::TestCase
181
181
  end
182
182
 
183
183
  test "should create discovered host with hostname if a fact was supplied" do
184
- Setting[:discovery_hostname] = 'somefact'
184
+ Setting[:discovery_hostname] = ['somefact']
185
185
  facts = @facts.merge({"somefact" => "somename"})
186
186
  host = discover_host_from_facts(facts)
187
187
  assert_equal 'macsomename', host.name
@@ -219,7 +219,7 @@ class HostDiscoveredTest < ActiveSupport::TestCase
219
219
 
220
220
  test "should create discovered host with fact_name as a name if it is a valid mac" do
221
221
  Setting[:discovery_fact] = 'somefact'
222
- Setting[:discovery_hostname] = 'somefact'
222
+ Setting[:discovery_hostname] = ['somefact']
223
223
  facts = @facts.merge({"somefact" => "E4:1F:13:CC:36:5A"})
224
224
  host = discover_host_from_facts(facts)
225
225
  assert_equal 'mace41f13cc365a', host.name
@@ -277,7 +277,7 @@ class HostDiscoveredTest < ActiveSupport::TestCase
277
277
  end
278
278
 
279
279
  test "should raise when hostname fact cannot be found" do
280
- Setting[:discovery_hostname] = 'macaddress_foo'
280
+ Setting[:discovery_hostname] = ['macaddress_foo']
281
281
  exception = assert_raises(::Foreman::Exception) do
282
282
  discover_host_from_facts(@facts)
283
283
  end
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: 22.0.2
4
+ version: 22.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aditi Puntambekar
@@ -76,7 +76,7 @@ authors:
76
76
  autorequire:
77
77
  bindir: bin
78
78
  cert_chain: []
79
- date: 2022-11-03 00:00:00.000000000 Z
79
+ date: 2023-03-09 00:00:00.000000000 Z
80
80
  dependencies: []
81
81
  description: MaaS Discovery Plugin engine for Foreman
82
82
  email: gsutclif@redhat.com
@@ -109,7 +109,6 @@ files:
109
109
  - app/models/host/managed_extensions.rb
110
110
  - app/models/hostgroup_extensions.rb
111
111
  - app/models/nic/managed_extensions.rb
112
- - app/models/setting/discovered.rb
113
112
  - app/services/discovery_fact_importer.rb
114
113
  - app/services/foreman_discovery/fact_parser.rb
115
114
  - app/services/foreman_discovery/fact_to_category_resolver.rb
@@ -190,6 +189,7 @@ files:
190
189
  - db/migrate/20171222120314_add_constraints_on_discovery_rules_hostgroups.rb
191
190
  - db/migrate/20180412124505_add_priority_score_to_discovery_rules.rb
192
191
  - db/migrate/20221102065954_fix_discovery_settings_category_to_dsl.rb
192
+ - db/migrate/20221102075151_migrate_discovery_hostname_and_fact_column_to_array.rb
193
193
  - db/seeds.d/60_discovery_proxy_feature.rb
194
194
  - db/seeds.d/70_discovery_mail_notification.rb
195
195
  - db/seeds.d/80_discovery_ui_notification.rb
@@ -219,6 +219,8 @@ files:
219
219
  - locale/it/foreman_discovery.po
220
220
  - locale/ja/LC_MESSAGES/foreman_discovery.mo
221
221
  - locale/ja/foreman_discovery.po
222
+ - locale/ka/LC_MESSAGES/foreman_discovery.mo
223
+ - locale/ka/foreman_discovery.po
222
224
  - locale/ko/LC_MESSAGES/foreman_discovery.mo
223
225
  - locale/ko/foreman_discovery.po
224
226
  - locale/pt_BR/LC_MESSAGES/foreman_discovery.mo
@@ -257,6 +259,7 @@ files:
257
259
  - test/functional/discovery_rules_controller_test.rb
258
260
  - test/functional/foreman_discovery/concerns/hosts_controller_extensions_test.rb
259
261
  - test/integration/discovered_hosts_test.rb
262
+ - test/migrations/20221102075151_migrate_discovery_hostname_and_fact_column_to_array_test.rb
260
263
  - test/static_fixtures/redhat_kexec.erb
261
264
  - test/test_helper_discovery.rb
262
265
  - test/test_plugin_helper.rb
@@ -315,6 +318,18 @@ signing_key:
315
318
  specification_version: 4
316
319
  summary: MaaS Discovery Plugin for Foreman
317
320
  test_files:
321
+ - test/unit/discovered_extensions_test.rb
322
+ - test/unit/discovered_mailer_test.rb
323
+ - test/unit/discovery_rule_test.rb
324
+ - test/unit/discovery_taxonomy_extensions_test.rb
325
+ - test/unit/fact_parser_test.rb
326
+ - test/unit/fact_to_category_resolver_test.rb
327
+ - test/unit/lldp_neighbors_test.rb
328
+ - test/unit/ui_notifications/destroy_host_test.rb
329
+ - test/unit/ui_notifications/new_host_test.rb
330
+ - test/unit/discovery_attribute_set_test.rb
331
+ - test/unit/host_discovered_test.rb
332
+ - test/unit/managed_extensions_test.rb
318
333
  - test/factories/discovery_host_related.rb
319
334
  - test/factories/discovery_rule_related.rb
320
335
  - test/facts/bond0-eth0-eth1-active-passive.json
@@ -336,22 +351,11 @@ test_files:
336
351
  - test/functional/api/v2/discovered_hosts_controller_test.rb
337
352
  - test/functional/api/v2/discovery_rules_controller_test.rb
338
353
  - test/functional/api/v2/fact_value_extensions_test.rb
339
- - test/functional/foreman_discovery/concerns/hosts_controller_extensions_test.rb
340
354
  - test/functional/discovery_rules_controller_test.rb
355
+ - test/functional/foreman_discovery/concerns/hosts_controller_extensions_test.rb
341
356
  - test/functional/discovered_hosts_controller_test.rb
342
357
  - test/integration/discovered_hosts_test.rb
343
- - test/unit/ui_notifications/destroy_host_test.rb
344
- - test/unit/ui_notifications/new_host_test.rb
345
- - test/unit/discovered_mailer_test.rb
346
- - test/unit/discovery_attribute_set_test.rb
347
- - test/unit/discovery_rule_test.rb
348
- - test/unit/discovery_taxonomy_extensions_test.rb
349
- - test/unit/fact_parser_test.rb
350
- - test/unit/fact_to_category_resolver_test.rb
351
- - test/unit/lldp_neighbors_test.rb
352
- - test/unit/discovered_extensions_test.rb
353
- - test/unit/host_discovered_test.rb
354
- - test/unit/managed_extensions_test.rb
355
- - test/test_helper_discovery.rb
356
358
  - test/test_plugin_helper.rb
359
+ - test/migrations/20221102075151_migrate_discovery_hostname_and_fact_column_to_array_test.rb
357
360
  - test/static_fixtures/redhat_kexec.erb
361
+ - test/test_helper_discovery.rb
@@ -1,22 +0,0 @@
1
- class Setting::Discovered
2
- def self.discovery_fact_column_array
3
- from_array(Setting['discovery_fact_column'])
4
- end
5
-
6
- def self.discovery_hostname_fact_array
7
- return [] if !Setting['discovery_hostname'].present?
8
- from_array Setting['discovery_hostname']
9
- end
10
-
11
- def self.discovery_lock?
12
- Foreman::Cast.to_bool(Setting['discovery_lock'])
13
- end
14
-
15
- def self.from_array(setting)
16
- return [] unless setting.present?
17
- setting.to_s.split(",").map(&:strip)
18
- rescue Exception => e
19
- logger.warn "Failed to parse discovery_fact_column, ignoring: #{e}"
20
- []
21
- end
22
- end