foreman_dlm 1.1.0 → 3.0.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/README.md +8 -4
- data/Rakefile +4 -2
- data/app/controllers/api/v2/dlmlock_events_controller.rb +3 -0
- data/app/controllers/api/v2/dlmlocks_controller.rb +17 -13
- data/app/controllers/concerns/foreman/controller/parameters/dlmlocks.rb +2 -0
- data/app/controllers/concerns/foreman_dlm/find_host_by_client_cert.rb +6 -10
- data/app/controllers/concerns/foreman_dlm/find_host_by_ip.rb +2 -0
- data/app/controllers/concerns/foreman_dlm/update_checkin_time.rb +3 -0
- data/app/controllers/foreman_dlm/application_controller.rb +2 -0
- data/app/controllers/foreman_dlm/dlmlocks_controller.rb +4 -1
- data/app/helpers/foreman_dlm/dlmlock_helper.rb +4 -0
- data/app/jobs/foreman_dlm/refresh_dlmlock_status.rb +2 -0
- data/app/models/concerns/foreman_dlm/dlm_facet_host_extensions.rb +2 -0
- data/app/models/concerns/foreman_dlm/expirable.rb +3 -0
- data/app/models/concerns/foreman_dlm/host_extensions.rb +17 -8
- data/app/models/concerns/foreman_dlm/host_monitoring_extensions.rb +5 -1
- data/app/models/concerns/foreman_dlm/user_extensions.rb +6 -4
- data/app/models/foreman_dlm/dlm_facet.rb +2 -0
- data/app/models/foreman_dlm/dlmlock/update.rb +2 -0
- data/app/models/foreman_dlm/dlmlock.rb +14 -11
- data/app/models/foreman_dlm/dlmlock_event.rb +2 -0
- data/app/models/host_status/dlmlock_status.rb +2 -0
- data/app/views/api/v2/dlmlock_events/index.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/acquire.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/base.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/create.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/index.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/main.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/release.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/show.json.rabl +2 -0
- data/app/views/api/v2/dlmlocks/update.json.rabl +2 -0
- data/app/views/api/v2/errors/precondition_failed.json.rabl +2 -0
- data/app/views/foreman_dlm/api/v2/dlm_facets/base.json.rabl +2 -0
- data/app/views/foreman_dlm/api/v2/dlm_facets/base_with_root.json.rabl +2 -0
- data/app/views/foreman_dlm/api/v2/dlm_facets/show.json.rabl +2 -0
- data/app/views/foreman_dlm/dlmlocks/index.html.erb +1 -1
- data/app/views/foreman_dlm/dlmlocks/show.html.erb +1 -1
- data/app/views/foreman_dlm/dlmlocks/welcome.html.erb +2 -2
- data/app/views/hosts/_dlmlocks_tab.html.erb +3 -3
- data/config/routes.rb +2 -0
- data/db/migrate/20170824084100_add_dlmlock.foreman_dlm.rb +2 -0
- data/db/migrate/20180627150003_rename_dlmlock_sti_models.rb +2 -0
- data/db/migrate/20180704162345_add_dlmlock_events.rb +2 -0
- data/db/migrate/20180711090022_add_hosts_fk_to_dlmlocks.rb +2 -0
- data/db/migrate/20180711111903_create_dlm_facets.foreman_dlm.rb +2 -0
- data/db/migrate/20180713113208_update_permissions_for_scoped_models.rb +2 -0
- data/lib/foreman_dlm/engine.rb +37 -33
- data/lib/foreman_dlm/version.rb +3 -1
- data/lib/foreman_dlm.rb +2 -0
- data/lib/tasks/dlmlock_events.rake +2 -0
- data/lib/tasks/foreman_dlm_tasks.rake +2 -20
- data/locale/gemspec.rb +3 -1
- data/test/controllers/api/v2/dlmlocks_controller_test.rb +22 -20
- data/test/controllers/api/v2/dlmlocks_dlmlock_events_controller_test.rb +2 -0
- data/test/controllers/api/v2/hosts_controller_test.rb +2 -0
- data/test/controllers/find_host_by_client_cert_test.rb +5 -3
- data/test/controllers/foreman_dlm/dlmlocks_test.rb +4 -2
- data/test/controllers/hosts_controller_test.rb +3 -1
- data/test/factories/dlm_facets.rb +2 -0
- data/test/factories/dlmlock.rb +3 -1
- data/test/factories/dlmlock_events.rb +3 -1
- data/test/factories/host.rb +2 -0
- data/test/integration/foreman_dlm/dlmlocks_test.rb +29 -0
- data/test/jobs/refresh_dlmlock_status_test.rb +2 -0
- data/test/models/foreman_dlm/dlm_facet_test.rb +2 -0
- data/test/models/foreman_dlm/dlmlock_event_test.rb +2 -0
- data/test/models/foreman_dlm/dlmlock_test.rb +41 -31
- data/test/models/host_managed_test.rb +20 -0
- data/test/models/host_monitoring_test.rb +2 -0
- data/test/models/host_status/dlmlock_status_test.rb +4 -8
- data/test/models/user_test.rb +2 -0
- data/test/test_plugin_helper.rb +6 -0
- data/test/unit/foreman_dlm/access_permissions_test.rb +18 -0
- metadata +36 -29
- data/app/models/settings/dlm.rb +0 -20
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_plugin_helper'
|
2
4
|
|
3
5
|
module ForemanDlm
|
@@ -45,10 +47,10 @@ module ForemanDlm
|
|
45
47
|
let(:dlmlock) { FactoryBot.create(:dlmlock) }
|
46
48
|
|
47
49
|
test 'should be enabled and unlocked' do
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
assert dlmlock.enabled?
|
51
|
+
assert_not dlmlock.disabled?
|
52
|
+
assert_not dlmlock.locked?
|
53
|
+
assert_not dlmlock.taken?
|
52
54
|
end
|
53
55
|
|
54
56
|
test 'can be acquired' do
|
@@ -82,27 +84,39 @@ module ForemanDlm
|
|
82
84
|
assert dlmlock.acquire!(host)
|
83
85
|
assert_equal ['callback1'], host.callbacks
|
84
86
|
end
|
87
|
+
|
88
|
+
context 'with a parameter disabeling the locking' do
|
89
|
+
setup do
|
90
|
+
FactoryBot.create(:host_parameter, host: host1, name: 'can_acquire_update_locks', value: 'false')
|
91
|
+
end
|
92
|
+
|
93
|
+
test 'can not be acquired' do
|
94
|
+
assert_nil dlmlock.host
|
95
|
+
assert_not dlmlock.acquire!(host1)
|
96
|
+
assert_nil dlmlock.reload.host
|
97
|
+
end
|
98
|
+
end
|
85
99
|
end
|
86
100
|
|
87
101
|
context 'a free and disabled DLM lock' do
|
88
102
|
let(:dlmlock) { FactoryBot.create(:dlmlock, :enabled => false) }
|
89
103
|
|
90
104
|
test 'should be disabled and unlocked' do
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
105
|
+
assert_not dlmlock.enabled?
|
106
|
+
assert dlmlock.disabled?
|
107
|
+
assert_not dlmlock.locked?
|
108
|
+
assert_not dlmlock.taken?
|
95
109
|
end
|
96
110
|
|
97
111
|
test 'can not be acquired' do
|
98
112
|
assert_nil dlmlock.host
|
99
|
-
|
113
|
+
assert_not dlmlock.acquire!(host1)
|
100
114
|
assert_nil dlmlock.reload.host
|
101
115
|
end
|
102
116
|
|
103
117
|
test 'can not be released' do
|
104
118
|
assert_nil dlmlock.host
|
105
|
-
|
119
|
+
assert_not dlmlock.release!(host1)
|
106
120
|
assert_nil dlmlock.reload.host
|
107
121
|
end
|
108
122
|
|
@@ -110,8 +124,8 @@ module ForemanDlm
|
|
110
124
|
host = HostWithCallbacks.new
|
111
125
|
host.name = 'test.example.com'
|
112
126
|
host.save
|
113
|
-
|
114
|
-
|
127
|
+
assert_not dlmlock.release!(host)
|
128
|
+
assert_empty host.callbacks
|
115
129
|
end
|
116
130
|
end
|
117
131
|
|
@@ -119,12 +133,12 @@ module ForemanDlm
|
|
119
133
|
let(:dlmlock) { FactoryBot.create(:dlmlock, :host => host1) }
|
120
134
|
|
121
135
|
test 'should be enabled and locked' do
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
136
|
+
assert dlmlock.enabled?
|
137
|
+
assert_not dlmlock.disabled?
|
138
|
+
assert dlmlock.locked?
|
139
|
+
assert dlmlock.taken?
|
140
|
+
assert dlmlock.locked_by?(host1)
|
141
|
+
assert dlmlock.acquired_by?(host1)
|
128
142
|
end
|
129
143
|
|
130
144
|
test 'can be acquired by owner' do
|
@@ -135,7 +149,7 @@ module ForemanDlm
|
|
135
149
|
|
136
150
|
test 'can not be acquired by other host' do
|
137
151
|
assert_equal host1, dlmlock.host
|
138
|
-
|
152
|
+
assert_not dlmlock.acquire!(host2)
|
139
153
|
assert_equal host1, dlmlock.reload.host
|
140
154
|
end
|
141
155
|
|
@@ -147,7 +161,7 @@ module ForemanDlm
|
|
147
161
|
|
148
162
|
test 'can not be released by other host' do
|
149
163
|
assert_equal host1, dlmlock.host
|
150
|
-
|
164
|
+
assert_not dlmlock.release!(host2)
|
151
165
|
assert_equal host1, dlmlock.reload.host
|
152
166
|
end
|
153
167
|
|
@@ -184,16 +198,16 @@ module ForemanDlm
|
|
184
198
|
assert host1_with_callbacks
|
185
199
|
assert host2_with_callbacks
|
186
200
|
dlmlock.update(:host => host1_with_callbacks)
|
187
|
-
|
188
|
-
|
189
|
-
|
201
|
+
assert_not dlmlock.release!(host2_with_callbacks)
|
202
|
+
assert_empty host1_with_callbacks.callbacks
|
203
|
+
assert_empty host2_with_callbacks.callbacks
|
190
204
|
end
|
191
205
|
|
192
206
|
test 'triggers no callbacks on acquiry attempt by owner' do
|
193
207
|
assert host1_with_callbacks
|
194
208
|
dlmlock.update(:host => host1_with_callbacks)
|
195
209
|
assert dlmlock.acquire!(host1_with_callbacks)
|
196
|
-
|
210
|
+
assert_empty host1_with_callbacks.callbacks
|
197
211
|
end
|
198
212
|
end
|
199
213
|
|
@@ -212,15 +226,11 @@ module ForemanDlm
|
|
212
226
|
not_locked = FactoryBot.create(:dlmlock)
|
213
227
|
|
214
228
|
assert_includes subject, locked
|
215
|
-
|
229
|
+
assert_not_includes subject, not_locked
|
216
230
|
end
|
217
231
|
end
|
218
232
|
|
219
233
|
describe '#stale' do
|
220
|
-
setup do
|
221
|
-
FactoryBot.create(:setting, category: Setting::General, name: 'dlm_stale_time', value: 4)
|
222
|
-
end
|
223
|
-
|
224
234
|
subject { Dlmlock.stale }
|
225
235
|
|
226
236
|
it 'includes only Distributed Locks that are stale' do
|
@@ -232,8 +242,8 @@ module ForemanDlm
|
|
232
242
|
not_locked = FactoryBot.create(:dlmlock)
|
233
243
|
|
234
244
|
assert_includes subject, stale
|
235
|
-
|
236
|
-
|
245
|
+
assert_not_includes subject, not_stale
|
246
|
+
assert_not_includes subject, not_locked
|
237
247
|
end
|
238
248
|
end
|
239
249
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_plugin_helper'
|
2
4
|
|
3
5
|
module Host
|
@@ -6,6 +8,24 @@ module Host
|
|
6
8
|
should have_many(:dlmlock_events)
|
7
9
|
should have_one(:dlm_facet)
|
8
10
|
|
11
|
+
describe '#can_acquire_update_locks?' do
|
12
|
+
let(:host) { FactoryBot.create(:host, :managed) }
|
13
|
+
|
14
|
+
it 'should be true without a host parameter' do
|
15
|
+
assert host.can_acquire_update_locks?
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should be true if parameter is true' do
|
19
|
+
FactoryBot.create(:host_parameter, host: host, name: 'can_acquire_update_locks', value: 'true')
|
20
|
+
assert host.can_acquire_update_locks?
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should be false if parameter is false' do
|
24
|
+
FactoryBot.create(:host_parameter, host: host, name: 'can_acquire_update_locks', value: 'false')
|
25
|
+
assert_not host.can_acquire_update_locks?
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
9
29
|
context 'scoped search on' do
|
10
30
|
context 'a host' do
|
11
31
|
let(:host) { FactoryBot.create(:host, :with_dlm_facet) }
|
@@ -3,10 +3,6 @@
|
|
3
3
|
require 'test_plugin_helper'
|
4
4
|
|
5
5
|
class DlmlockStatusTest < ActiveSupport::TestCase
|
6
|
-
setup do
|
7
|
-
FactoryBot.create(:setting, category: Setting::General, name: 'dlm_stale_time', value: 4)
|
8
|
-
end
|
9
|
-
|
10
6
|
let(:host) { FactoryBot.create(:host, :managed) }
|
11
7
|
|
12
8
|
describe '#to_status' do
|
@@ -17,7 +13,7 @@ class DlmlockStatusTest < ActiveSupport::TestCase
|
|
17
13
|
FactoryBot.create(:dlmlock, :locked, host: host, updated_at: now - 5.hours)
|
18
14
|
status = host.get_status(HostStatus::DlmlockStatus)
|
19
15
|
|
20
|
-
|
16
|
+
assert_not_empty host.dlmlocks.stale
|
21
17
|
assert_equal HostStatus::DlmlockStatus::STALE, status.to_status
|
22
18
|
end
|
23
19
|
end
|
@@ -35,15 +31,15 @@ class DlmlockStatusTest < ActiveSupport::TestCase
|
|
35
31
|
FactoryBot.create(:dlmlock, host: host)
|
36
32
|
status = host.get_status(HostStatus::DlmlockStatus)
|
37
33
|
|
38
|
-
|
39
|
-
|
34
|
+
assert_not_empty host.dlmlocks
|
35
|
+
assert status.relevant?
|
40
36
|
end
|
41
37
|
|
42
38
|
test 'should return false if host has no dlmlocks' do
|
43
39
|
status = host.get_status(HostStatus::DlmlockStatus)
|
44
40
|
|
45
41
|
assert_empty host.dlmlocks
|
46
|
-
|
42
|
+
assert_not status.relevant?
|
47
43
|
end
|
48
44
|
end
|
49
45
|
end
|
data/test/models/user_test.rb
CHANGED
data/test/test_plugin_helper.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This calls the main test_helper in Foreman-core
|
2
4
|
require 'test_helper'
|
3
5
|
|
4
6
|
# Add plugin to FactoryBot's paths
|
5
7
|
FactoryBot.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
|
8
|
+
|
9
|
+
# Add factories of external plugin dependencies
|
6
10
|
FactoryBot.definition_file_paths << "#{ForemanMonitoring::Engine.root}/test/factories" if ForemanDlm.with_monitoring?
|
11
|
+
|
12
|
+
# Reload factory paths
|
7
13
|
FactoryBot.reload
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
require 'unit/shared/access_permissions_test_base'
|
5
|
+
|
6
|
+
# Permissions are added in AccessPermissions with lists of controllers and
|
7
|
+
# actions that they enable access to. For non-admin users, we need to test
|
8
|
+
# that there are permissions available that cover every controller action, else
|
9
|
+
# it can't be delegated and this will lead to parts of the application that
|
10
|
+
# aren't functional for non-admin users.
|
11
|
+
#
|
12
|
+
# In particular, it's important that actions for AJAX requests are added to
|
13
|
+
# an appropriate permission so views using those requests function.
|
14
|
+
class AccessPermissionsTest < ActiveSupport::TestCase
|
15
|
+
include AccessPermissionsTestBase
|
16
|
+
|
17
|
+
check_routes(ForemanDlm::Engine.routes, [])
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_dlm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Timo Goebel
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdoc
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: rubocop
|
28
|
+
name: theforeman-rubocop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.1.2
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.1.2
|
41
41
|
description: Adds a Distributed Lock Manager to Foreman. This enables painless system
|
42
42
|
updates for clusters.
|
43
43
|
email:
|
@@ -69,7 +69,6 @@ files:
|
|
69
69
|
- app/models/foreman_dlm/dlmlock/update.rb
|
70
70
|
- app/models/foreman_dlm/dlmlock_event.rb
|
71
71
|
- app/models/host_status/dlmlock_status.rb
|
72
|
-
- app/models/settings/dlm.rb
|
73
72
|
- app/views/api/v2/dlmlock_events/index.json.rabl
|
74
73
|
- app/views/api/v2/dlmlocks/acquire.json.rabl
|
75
74
|
- app/views/api/v2/dlmlocks/base.json.rabl
|
@@ -117,6 +116,7 @@ files:
|
|
117
116
|
- test/factories/dlmlock.rb
|
118
117
|
- test/factories/dlmlock_events.rb
|
119
118
|
- test/factories/host.rb
|
119
|
+
- test/integration/foreman_dlm/dlmlocks_test.rb
|
120
120
|
- test/jobs/refresh_dlmlock_status_test.rb
|
121
121
|
- test/models/foreman_dlm/dlm_facet_test.rb
|
122
122
|
- test/models/foreman_dlm/dlmlock_event_test.rb
|
@@ -126,11 +126,14 @@ files:
|
|
126
126
|
- test/models/host_status/dlmlock_status_test.rb
|
127
127
|
- test/models/user_test.rb
|
128
128
|
- test/test_plugin_helper.rb
|
129
|
+
- test/unit/foreman_dlm/access_permissions_test.rb
|
129
130
|
homepage: https://github.com/dm-drogeriemarkt/foreman_dlm
|
130
131
|
licenses:
|
131
132
|
- GPL-3.0
|
132
|
-
metadata:
|
133
|
-
|
133
|
+
metadata:
|
134
|
+
rubygems_mfa_required: 'true'
|
135
|
+
is_foreman_plugin: 'true'
|
136
|
+
post_install_message:
|
134
137
|
rdoc_options: []
|
135
138
|
require_paths:
|
136
139
|
- lib
|
@@ -138,35 +141,39 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
141
|
requirements:
|
139
142
|
- - ">="
|
140
143
|
- !ruby/object:Gem::Version
|
141
|
-
version: '
|
144
|
+
version: '2.5'
|
145
|
+
- - "<"
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '4'
|
142
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
149
|
requirements:
|
144
150
|
- - ">="
|
145
151
|
- !ruby/object:Gem::Version
|
146
152
|
version: '0'
|
147
153
|
requirements: []
|
148
|
-
|
149
|
-
|
150
|
-
signing_key:
|
154
|
+
rubygems_version: 3.4.1
|
155
|
+
signing_key:
|
151
156
|
specification_version: 4
|
152
157
|
summary: Distributed Lock Manager for Foreman.
|
153
158
|
test_files:
|
154
|
-
- test/
|
155
|
-
- test/
|
159
|
+
- test/controllers/api/v2/dlmlocks_controller_test.rb
|
160
|
+
- test/controllers/api/v2/dlmlocks_dlmlock_events_controller_test.rb
|
161
|
+
- test/controllers/api/v2/hosts_controller_test.rb
|
162
|
+
- test/controllers/find_host_by_client_cert_test.rb
|
163
|
+
- test/controllers/foreman_dlm/dlmlocks_test.rb
|
164
|
+
- test/controllers/hosts_controller_test.rb
|
165
|
+
- test/factories/dlm_facets.rb
|
166
|
+
- test/factories/dlmlock.rb
|
167
|
+
- test/factories/dlmlock_events.rb
|
168
|
+
- test/factories/host.rb
|
169
|
+
- test/integration/foreman_dlm/dlmlocks_test.rb
|
170
|
+
- test/jobs/refresh_dlmlock_status_test.rb
|
156
171
|
- test/models/foreman_dlm/dlm_facet_test.rb
|
172
|
+
- test/models/foreman_dlm/dlmlock_event_test.rb
|
157
173
|
- test/models/foreman_dlm/dlmlock_test.rb
|
158
|
-
- test/models/
|
174
|
+
- test/models/host_managed_test.rb
|
159
175
|
- test/models/host_monitoring_test.rb
|
176
|
+
- test/models/host_status/dlmlock_status_test.rb
|
160
177
|
- test/models/user_test.rb
|
161
|
-
- test/factories/dlm_facets.rb
|
162
|
-
- test/factories/host.rb
|
163
|
-
- test/factories/dlmlock_events.rb
|
164
|
-
- test/factories/dlmlock.rb
|
165
178
|
- test/test_plugin_helper.rb
|
166
|
-
- test/
|
167
|
-
- test/controllers/foreman_dlm/dlmlocks_test.rb
|
168
|
-
- test/controllers/api/v2/dlmlocks_controller_test.rb
|
169
|
-
- test/controllers/api/v2/hosts_controller_test.rb
|
170
|
-
- test/controllers/api/v2/dlmlocks_dlmlock_events_controller_test.rb
|
171
|
-
- test/controllers/hosts_controller_test.rb
|
172
|
-
- test/controllers/find_host_by_client_cert_test.rb
|
179
|
+
- test/unit/foreman_dlm/access_permissions_test.rb
|
data/app/models/settings/dlm.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
class Setting
|
2
|
-
class Dlm < ::Setting
|
3
|
-
def self.load_defaults
|
4
|
-
return unless ActiveRecord::Base.connection.table_exists?('settings')
|
5
|
-
return unless super
|
6
|
-
|
7
|
-
Setting.transaction do
|
8
|
-
[
|
9
|
-
set('dlm_stale_time', N_('Number of hours after which locked Distributed Lock is stale'), 4, N_('Distributed Lock stale time'))
|
10
|
-
].compact.each { |s| Setting::General.create s.update(category: 'Setting::General') }
|
11
|
-
end
|
12
|
-
|
13
|
-
true
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.humanized_category
|
17
|
-
N_('Distributed Locks')
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|