foreman_default_hostgroup 5.0.0 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7312b3c6f0f24f26aa86fe8930f3c05bb41f844c8b1e968e24a96d980233a5be
4
- data.tar.gz: 88c9aec69371906eed99689c20729b10e9a0e09a1cf506aa35b6b6fdfd972582
3
+ metadata.gz: 8e1266d987eb1c009c18ccbcb3d3b7c93da09b277465cead1fce9436bb7547d4
4
+ data.tar.gz: 88fe5230bca03cdef1808dd28d8f1778e7942db64b1b8716726f7d744cac9136
5
5
  SHA512:
6
- metadata.gz: 126d928a10e32954e5a9e3661c2243b85668f3373da902deace6ce2e1f24b63c90190e5e9b8fe8ceba221bb7e3920a4c29191bd56ad228416b028d6ce52de577
7
- data.tar.gz: 8b1d8acdf52bf758b689965cd3817bd6f00c05d7043e045f78c4d1f1f527ff4a504fd197acc23c2212213e0ed19a7cf6e73563ece0f0631a8d9ea7ef62be8663
6
+ metadata.gz: 937af6365b281ddd5cfc5131d7d4251c3d377bf13fa87e37329345e9dd69368ffbdf855cc26a1a11b937a81f9b9347d0a51ecf5e260d147855c04a59058fda58
7
+ data.tar.gz: 6d618171ba97d86e839d849dcac811f3ce6d42e92f5338c0f9cacf7010be3168fcc6422ec22ce37d83ce25f786fd649f9a97c6fb42cc64c5fdc02963b2f04cdd
data/README.md CHANGED
@@ -10,15 +10,17 @@ See Foreman's [plugin installation documentation](https://theforeman.org/plugins
10
10
  ## Compatibility
11
11
 
12
12
  | Foreman Version | Plugin Version |
13
- | --------------- | --------------:|
14
- | <= 1.2 | 0.1.0 |
15
- | 1.3 | 1.0.1 |
16
- | 1.4 | 1.1.0 |
17
- | 1.5 | 2.0.1 |
18
- | 1.6 - 1.11 | 3.0.0 |
19
- | >= 1.12 | 4.0.0 |
20
- | >= 1.16 | 4.0.1 |
21
- | >= 1.16 | 5.0.0 |
13
+ | --------------- | -------------: |
14
+ | <= 1.2 | 0.1.0 |
15
+ | 1.3 | 1.0.1 |
16
+ | 1.4 | 1.1.0 |
17
+ | 1.5 | 2.0.1 |
18
+ | 1.6 - 1.11 | 3.0.0 |
19
+ | >= 1.12 | 4.0.0 |
20
+ | >= 1.16 | 4.0.1 |
21
+ | >= 1.16 | 5.0.0 |
22
+ | >= 2.2.0 | 6.0.0 |
23
+ | >= 3.0 | 7.0.0 |
22
24
 
23
25
  ## Usage
24
26
 
@@ -35,6 +37,12 @@ your needs. The format is shown in the example. The simplest form would be:
35
37
  "Default":
36
38
  "hostname": ".*"
37
39
  ```
40
+
41
+ `Default` is the host group name (more precisely title) that will be assigned if all its the rules matches.
42
+ Under the host group name, there's a list of rules. If all of them (in this example just one) is matching,
43
+ the host is assigned to the `Default` host group. The `hostname` is the name of the fact while the value `.*`
44
+ is used as a regular expression. This rule means host with any `hostname` is added to the `Default` host group.
45
+
38
46
  If you are ugrading from plugin version 2.0.1 or older the format of this
39
47
  file changes and you will need modify `default_hostgroup.yaml.example` to
40
48
  follow the format above.
@@ -44,9 +52,9 @@ follow the format above.
44
52
 
45
53
  There are also two more settings under `Settings -> DefaultHostgroup`
46
54
 
47
- | Setting | Description |
48
- | ------- | ----------- |
49
- | `force_hostgroup_match` | Setting this to `true` will perform matching even on hosts that already have a hostgroup set. Enabling this needs `force_hostgroup_match_only_new` to be `false`. Default: `false` |
55
+ | Setting | Description |
56
+ | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
57
+ | `force_hostgroup_match` | Setting this to `true` will perform matching even on hosts that already have a hostgroup set. Enabling this needs `force_hostgroup_match_only_new` to be `false`. Default: `false` |
50
58
  | `force_hostgroup_match_only_new` | Setting this to `true` will only perform matching when a host uploads its facts for the first time, i.e. after provisioning or when adding an existing puppetmaster and thus its nodes into foreman. Default: `true` |
51
59
 
52
60
  ## TODO
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FixDefaultHostgroupSettingsCategoryToDsl < ActiveRecord::Migration[6.0]
4
+ def up
5
+ # rubocop:disable Rails/SkipsModelValidations
6
+ Setting.where(category: 'Setting::DefaultHostgroup').update_all(category: 'Setting')
7
+ # rubocop:enable Rails/SkipsModelValidations
8
+ end
9
+ end
@@ -2,13 +2,18 @@ module DefaultHostgroupBaseHostPatch
2
2
  extend ActiveSupport::Concern
3
3
 
4
4
  module ManagedOverrides
5
- def import_facts(facts, source_proxy = nil, without = false)
5
+ # rubocop:disable Lint/UnusedMethodArgument
6
+ def import_facts(facts, source_proxy = nil, without_alias = false)
7
+ # rubocop:enable Lint/UnusedMethodArgument
6
8
  super(facts, source_proxy)
7
9
  end
8
10
  end
9
11
 
10
12
  module Overrides
13
+ # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity
11
14
  def import_facts(facts, source_proxy = nil, without_alias = false)
15
+ # rubocop:enable Metrics/AbcSize,Metrics/CyclomaticComplexity
16
+
12
17
  # Load the facts anyway, hook onto the end of it
13
18
  result = super(facts, source_proxy)
14
19
 
@@ -19,7 +24,7 @@ module DefaultHostgroupBaseHostPatch
19
24
  # Check settings are created
20
25
  return result unless settings_exist?
21
26
 
22
- Rails.logger.debug 'DefaultHostgroupMatch: performing Hostgroup match'
27
+ Rails.logger.debug "DefaultHostgroupMatch: performing Hostgroup match"
23
28
 
24
29
  return result unless host_new_or_forced?
25
30
  return result unless host_has_no_hostgroup_or_forced?
@@ -29,12 +34,10 @@ module DefaultHostgroupBaseHostPatch
29
34
 
30
35
  return result unless new_hostgroup
31
36
 
32
- self.hostgroup = new_hostgroup
33
- if Setting[:force_host_environment] == true
34
- self.environment = new_hostgroup.environment
35
- end
36
- save(validate: false)
37
- Rails.logger.info "DefaultHostgroupMatch: #{hostname} added to #{new_hostgroup}"
37
+ self.host.hostgroup = new_hostgroup
38
+ self.host.environment = new_hostgroup.environment if Setting[:force_host_environment] == true and facts[:_type] == :puppet
39
+ self.host.save(validate: false)
40
+ Rails.logger.info "DefaultHostgroupMatch: #{facts["hostname"]} added to #{new_hostgroup}"
38
41
 
39
42
  result
40
43
  end
@@ -46,27 +49,27 @@ module DefaultHostgroupBaseHostPatch
46
49
 
47
50
  def find_match(facts_map)
48
51
  facts_map.each do |group_name, facts|
49
- hg = Hostgroup.find_by_title(group_name)
52
+ hg = Hostgroup.find_by(title: group_name)
50
53
  return hg if hg.present? && group_matches?(facts)
51
54
  end
52
- Rails.logger.info 'No match ...'
55
+ Rails.logger.info "No match ..."
53
56
  false
54
57
  end
55
58
 
56
59
  def group_matches?(facts)
57
60
  facts.each do |fact_name, fact_regex|
58
- fact_regex.gsub!(%r{(\A/|/\z)}, '')
59
- host_fact_value = facts_hash[fact_name]
61
+ fact_regex.gsub!(%r{(\A/|/\z)}, "")
62
+ host_fact_value = self.host.facts[fact_name]
60
63
  Rails.logger.info "Fact = #{fact_name}"
61
64
  Rails.logger.info "Regex = #{fact_regex}"
62
- return true if Regexp.new(fact_regex).match(host_fact_value)
65
+ return true if Regexp.new(fact_regex).match?(host_fact_value)
63
66
  end
64
67
  false
65
68
  end
66
69
 
67
70
  def settings_exist?
68
71
  unless SETTINGS[:default_hostgroup] && SETTINGS[:default_hostgroup][:facts_map]
69
- Rails.logger.warn 'DefaultHostgroupMatch: Could not load :default_hostgroup map from Settings.'
72
+ Rails.logger.warn "DefaultHostgroupMatch: Could not load :default_hostgroup map from Settings."
70
73
  return false
71
74
  end
72
75
  true
@@ -75,9 +78,9 @@ module DefaultHostgroupBaseHostPatch
75
78
  def host_new_or_forced?
76
79
  if Setting[:force_hostgroup_match_only_new]
77
80
  # hosts have already been saved during import_host, so test the creation age instead
78
- new_host = ((Time.current - created_at) < 300)
79
- unless new_host && hostgroup.nil? && reports.empty?
80
- Rails.logger.debug 'DefaultHostgroupMatch: skipping, host exists'
81
+ new_host = ((Time.current - self.host.created_at) < 300)
82
+ unless new_host && self.host.hostgroup.nil? && self.host.reports.empty?
83
+ Rails.logger.debug "DefaultHostgroupMatch: skipping, host exists"
81
84
  return false
82
85
  end
83
86
  end
@@ -86,8 +89,8 @@ module DefaultHostgroupBaseHostPatch
86
89
 
87
90
  def host_has_no_hostgroup_or_forced?
88
91
  unless Setting[:force_hostgroup_match]
89
- if hostgroup.present?
90
- Rails.logger.debug 'DefaultHostgroupMatch: skipping, host has hostgroup'
92
+ if self.host.hostgroup.present?
93
+ Rails.logger.debug "DefaultHostgroupMatch: skipping, host has hostgroup"
91
94
  return false
92
95
  end
93
96
  end
@@ -1,32 +1,49 @@
1
- require 'default_hostgroup_base_host_patch'
1
+ require "default_hostgroup_base_host_patch"
2
2
 
3
3
  module ForemanDefaultHostgroup
4
4
  class Engine < ::Rails::Engine
5
- engine_name 'foreman_default_hostgroup'
5
+ engine_name "foreman_default_hostgroup"
6
6
 
7
7
  config.autoload_paths += Dir["#{config.root}/app/models"]
8
8
 
9
- initializer 'foreman_default_hostgroup.load_default_settings',
10
- before: :load_config_initializers do
11
- require_dependency File.expand_path(
12
- '../../../app/models/setting/default_hostgroup.rb', __FILE__)
9
+ # Add any db migrations
10
+ initializer 'foreman_default_hostgroup.load_app_instance_data' do |app|
11
+ ForemanDefaultHostgroup::Engine.paths['db/migrate'].existent.each do |path|
12
+ app.config.paths['db/migrate'] << path
13
+ end
13
14
  end
14
15
 
15
- initializer 'foreman_default_hostgroup.register_plugin',
16
+ initializer "foreman_default_hostgroup.register_plugin",
16
17
  before: :finisher_hook do
17
18
  Foreman::Plugin.register :foreman_default_hostgroup do
18
- requires_foreman '>= 1.17'
19
+ requires_foreman ">= 3.0"
20
+
21
+ settings do
22
+ category(:default_hostgroup, N_('Default Hostgroup')) do
23
+ setting('force_hostgroup_match',
24
+ type: :boolean,
25
+ description: 'Apply hostgroup matching even if a host already has one.',
26
+ default: false)
27
+ setting('force_hostgroup_match_only_new',
28
+ type: :boolean,
29
+ description: 'Apply hostgroup matching only on new hosts',
30
+ default: true)
31
+ setting('force_host_environment',
32
+ type: :boolean,
33
+ description: "Apply hostgroup's environment to host even if a host already has a different one",
34
+ default: true)
35
+ end
36
+ end
19
37
  end
20
38
  end
21
39
 
22
40
  config.to_prepare do
23
41
  begin
24
- ::Host::Base.send(:include, DefaultHostgroupBaseHostPatch)
25
- ::Host::Managed.send(:prepend, DefaultHostgroupBaseHostPatch::ManagedOverrides)
26
- rescue => e
42
+ ::HostFactImporter.include DefaultHostgroupBaseHostPatch
43
+ ::HostFactImporter.prepend DefaultHostgroupBaseHostPatch::ManagedOverrides
44
+ rescue StandardError => e
27
45
  Rails.logger.warn "ForemanDefaultHostgroup: skipping engine hook (#{e})"
28
46
  end
29
47
  end
30
-
31
48
  end
32
49
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanDefaultHostgroup
2
- VERSION = '5.0.0'.freeze
2
+ VERSION = '7.0.0'.freeze
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require 'rake/testtask'
2
2
  # Tests
3
3
  namespace :test do
4
- desc "Test DefaultHostgroup plugin"
4
+ desc 'Test DefaultHostgroup plugin'
5
5
  Rake::TestTask.new(:foreman_default_hostgroup) do |t|
6
6
  test_dir = File.join(File.dirname(__FILE__), '../..', 'test')
7
7
  t.libs << ['test', test_dir]
@@ -20,7 +20,7 @@ namespace :foreman_default_hostgroup do
20
20
  "#{ForemanDefaultHostgroup::Engine.root}/lib/**/*.rb",
21
21
  "#{ForemanDefaultHostgroup::Engine.root}/test/**/*.rb"]
22
22
  end
23
- rescue
23
+ rescue StandardError
24
24
  puts 'Rubocop not loaded.'
25
25
  end
26
26
 
@@ -18,20 +18,20 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
18
18
  # so we use FactoryBot to re-create it
19
19
  FactoryBot.create(:setting,
20
20
  name: 'force_hostgroup_match',
21
- category: 'Setting::DefaultHostgroup')
21
+ category: 'Setting')
22
22
  FactoryBot.create(:setting,
23
23
  name: 'force_hostgroup_match_only_new',
24
- category: 'Setting::DefaultHostgroup')
24
+ category: 'Setting')
25
25
  FactoryBot.create(:setting,
26
26
  name: 'force_host_environment',
27
- category: 'Setting::DefaultHostgroup')
27
+ category: 'Setting')
28
28
  # Set the defaults
29
29
  Setting[:force_hostgroup_match] = false
30
30
  Setting[:force_hostgroup_match_only_new] = true
31
31
  Setting[:force_host_environment] = true
32
32
 
33
33
  # Mimic plugin config fron config file
34
- FactoryBot.create(:hostgroup, :with_environment, name: 'Test Default')
34
+ FactoryBot.create(:hostgroup, name: 'Test Default')
35
35
  SETTINGS[:default_hostgroup] = {}
36
36
  SETTINGS[:default_hostgroup][:facts_map] = {
37
37
  'Test Default' => { 'hostname' => '.*' }
@@ -40,15 +40,15 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
40
40
 
41
41
  def setup_host_and_facts
42
42
  raw = JSON.parse(File.read(File.expand_path(File.dirname(__FILE__) + '/facts.json')))
43
- @name = raw['name']
44
- @host = Host.import_host(raw['name'], 'puppet')
43
+ @name = raw['name']
44
+ @host = Host.import_host(raw['name'], 'puppet')
45
45
  @facts = raw['facts']
46
46
  end
47
47
 
48
48
  context 'import_facts_with_match_hostgroup' do
49
49
  test 'matched host is saved with new hostgroup' do
50
50
  assert @host.import_facts(@facts)
51
- assert_equal Hostgroup.find_by_name('Test Default'), Host.find_by_name(@name).hostgroup
51
+ assert_equal Hostgroup.find_by(name: 'Test Default'), Host.find_by(name: @name).hostgroup
52
52
  end
53
53
 
54
54
  test 'matched host not updated if host already has a hostgroup' do
@@ -57,7 +57,7 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
57
57
  @host.save(validate: false)
58
58
 
59
59
  assert @host.import_facts(@facts)
60
- assert_equal hostgroup, Host.find_by_name(@name).hostgroup
60
+ assert_equal hostgroup, Host.find_by(name: @name).hostgroup
61
61
  end
62
62
 
63
63
  test 'hostgroup is not updated if host is not new' do
@@ -65,22 +65,7 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
65
65
  @host.save(validate: false)
66
66
 
67
67
  assert @host.import_facts(@facts)
68
- refute Host.find_by_name(@name).hostgroup
69
- end
70
- end
71
-
72
- context 'force host environment setting' do
73
- test 'environment is updated if enabled' do
74
- h = FactoryBot.create(:host, :with_environment, created_at: Time.current)
75
- h.import_facts(@facts)
76
- assert_equal Hostgroup.find_by_name('Test Default').environment, h.environment
77
- end
78
-
79
- test 'environment not updated if disabled' do
80
- Setting[:force_host_environment] = false
81
- h = FactoryBot.create(:host, :with_environment, created_at: Time.current)
82
- h.import_facts(@facts)
83
- refute_equal Hostgroup.find_by_name('Test Default').environment, h.environment
68
+ assert_not Host.find_by(name: @name).hostgroup
84
69
  end
85
70
  end
86
71
 
@@ -89,33 +74,33 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
89
74
  test 'match a single hostgroup' do
90
75
  facts_map = SETTINGS[:default_hostgroup][:facts_map]
91
76
  assert @host.import_facts(@facts, nil, true)
92
- assert_equal Hostgroup.find_by_name('Test Default'), @host.find_match(facts_map)
77
+ assert_equal Hostgroup.find_by(name: 'Test Default'), @host.find_match(facts_map)
93
78
  end
94
79
 
95
80
  test 'returns false for no match' do
96
81
  facts_map = SETTINGS[:default_hostgroup][:facts_map] = {
97
- 'Test Default' => { 'hostname' => 'nosuchhost' }
82
+ 'Test Default' => { 'hostname' => 'nosuchhost' }
98
83
  }
99
84
  assert @host.import_facts(@facts, nil, true)
100
- refute @host.find_match(facts_map)
85
+ assert_not @host.find_match(facts_map)
101
86
  end
102
87
 
103
88
  test 'matches first available hostgroup' do
104
89
  facts_map = SETTINGS[:default_hostgroup][:facts_map] = {
105
- 'Test Default' => { 'hostname' => '.*' },
90
+ 'Test Default' => { 'hostname' => '.*' },
106
91
  'Some Other Group' => { 'hostname' => '/\.lan$/' }
107
92
  }
108
93
  assert @host.import_facts(@facts, nil, true)
109
- assert_equal Hostgroup.find_by_name('Test Default'), @host.find_match(facts_map)
94
+ assert_equal Hostgroup.find_by(name: 'Test Default'), @host.find_match(facts_map)
110
95
  end
111
96
 
112
97
  test 'nonexistant groups are ignored' do
113
98
  facts_map = SETTINGS[:default_hostgroup][:facts_map] = {
114
99
  'Some Other Group' => { 'hostname' => '.*' },
115
- 'Test Default' => { 'hostname' => '/\.lan$/' }
100
+ 'Test Default' => { 'hostname' => '/\.lan$/' }
116
101
  }
117
102
  assert @host.import_facts(@facts, nil, true)
118
- assert_equal Hostgroup.find_by_name('Test Default'), @host.find_match(facts_map)
103
+ assert_equal Hostgroup.find_by(name: 'Test Default'), @host.find_match(facts_map)
119
104
  end
120
105
  end
121
106
 
@@ -142,20 +127,20 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
142
127
  test 'invalid keys are ignored' do
143
128
  regex = { 'nosuchfact' => '.*' }
144
129
  assert @host.import_facts(@facts, nil, true)
145
- refute @host.group_matches?(regex)
130
+ assert_not @host.group_matches?(regex)
146
131
  end
147
132
 
148
133
  test 'unmatched values are ignored' do
149
134
  regex = { 'hostname' => 'nosuchname' }
150
135
  assert @host.import_facts(@facts, nil, true)
151
- refute @host.group_matches?(regex)
136
+ assert_not @host.group_matches?(regex)
152
137
  end
153
138
 
154
139
  test 'multiple entries with invalid keys / values match' do
155
140
  regex = {
156
141
  'nosuchfact' => '.*',
157
- 'osfamily' => 'nosuchos',
158
- 'hostname' => '.lan$'
142
+ 'osfamily' => 'nosuchos',
143
+ 'hostname' => '.lan$'
159
144
  }
160
145
  assert @host.import_facts(@facts, nil, true)
161
146
  assert @host.group_matches?(regex)
@@ -171,7 +156,7 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
171
156
  test 'false when Settings are missing' do
172
157
  SETTINGS[:default_hostgroup] = {}
173
158
  h = FactoryBot.create(:host)
174
- refute h.settings_exist?
159
+ assert_not h.settings_exist?
175
160
  end
176
161
  end
177
162
 
@@ -183,17 +168,17 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
183
168
 
184
169
  test 'false when host has existed for > 300s' do
185
170
  h = FactoryBot.create(:host, created_at: Time.current - 1000)
186
- refute h.host_new_or_forced?
171
+ assert_not h.host_new_or_forced?
187
172
  end
188
173
 
189
174
  test 'false when host has a hostgroup' do
190
175
  h = FactoryBot.create(:host, :with_hostgroup, created_at: Time.current)
191
- refute h.host_new_or_forced?
176
+ assert_not h.host_new_or_forced?
192
177
  end
193
178
 
194
179
  test 'false when host has reports' do
195
180
  h = FactoryBot.create(:host, :with_reports, created_at: Time.current)
196
- refute h.host_new_or_forced?
181
+ assert_not h.host_new_or_forced?
197
182
  end
198
183
 
199
184
  test 'true when setting is forced' do
@@ -211,7 +196,7 @@ class DefaultHostgroupTest < ActiveSupport::TestCase
211
196
 
212
197
  test 'false if host has hostgroup' do
213
198
  h = FactoryBot.create(:host, :with_hostgroup)
214
- refute h.host_has_no_hostgroup_or_forced?
199
+ assert_not h.host_has_no_hostgroup_or_forced?
215
200
  end
216
201
 
217
202
  test 'true if host has hostgroup and setting forced' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_default_hostgroup
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Sutcliffe
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-21 00:00:00.000000000 Z
11
+ date: 2023-01-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Adds the option to specify a default hostgroup for new hosts created
14
14
  from facts/reports
@@ -21,7 +21,7 @@ extra_rdoc_files:
21
21
  files:
22
22
  - LICENSE
23
23
  - README.md
24
- - app/models/setting/default_hostgroup.rb
24
+ - db/migrate/20221103122801_fix_default_hostgroup_settings_category_to_dsl.rb
25
25
  - default_hostgroup.yaml.example
26
26
  - lib/default_hostgroup_base_host_patch.rb
27
27
  - lib/foreman_default_hostgroup.rb
@@ -31,11 +31,11 @@ files:
31
31
  - test/test_plugin_helper.rb
32
32
  - test/unit/default_hostgroup_test.rb
33
33
  - test/unit/facts.json
34
- homepage: http://github.com/GregSutcliffe/foreman_default_hostgroup
34
+ homepage: https://github.com/theforeman/foreman_default_hostgroup
35
35
  licenses:
36
- - GPL-3
36
+ - GPL-3.0
37
37
  metadata: {}
38
- post_install_message:
38
+ post_install_message:
39
39
  rdoc_options: []
40
40
  require_paths:
41
41
  - lib
@@ -50,9 +50,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
50
50
  - !ruby/object:Gem::Version
51
51
  version: '0'
52
52
  requirements: []
53
- rubyforge_project:
54
- rubygems_version: 2.7.6
55
- signing_key:
53
+ rubygems_version: 3.3.26
54
+ signing_key:
56
55
  specification_version: 4
57
56
  summary: Default Hostgroup Plugin for Foreman
58
57
  test_files:
@@ -1,19 +0,0 @@
1
- class Setting::DefaultHostgroup < ::Setting
2
- BLANK_ATTRS << 'default_hostgroup'
3
-
4
- def self.load_defaults
5
- # Check the table exists
6
- return unless ActiveRecord::Base.connection.table_exists?('settings')
7
- return unless super
8
-
9
- Setting.transaction do
10
- [
11
- set('force_hostgroup_match', 'Apply hostgroup matching even if a host already has one.', false),
12
- set('force_hostgroup_match_only_new', 'Apply hostgroup matching only on new hosts', true),
13
- set('force_host_environment', "Apply hostgroup's environment to host even if a host already has a different one", true)
14
- ].compact.each { |s| create s.update(category: 'Setting::DefaultHostgroup') }
15
- end
16
-
17
- true
18
- end
19
- end