foreman_salt 13.0.0 → 13.1.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/foreman_salt/api/v2/salt_variables_controller.rb +75 -0
- data/app/controllers/foreman_salt/concerns/salt_override_value.rb +28 -0
- data/app/controllers/foreman_salt/concerns/salt_variable_parameters.rb +29 -0
- data/app/controllers/foreman_salt/minions_controller.rb +2 -0
- data/app/controllers/foreman_salt/salt_variables_controller.rb +46 -0
- data/app/helpers/foreman_salt/salt_modules_helper.rb +14 -0
- data/app/helpers/foreman_salt/salt_plugin_helper.rb +13 -0
- data/app/models/foreman_salt/concerns/host_managed_extensions.rb +16 -1
- data/app/models/foreman_salt/salt_module.rb +5 -0
- data/app/models/foreman_salt/salt_variable.rb +29 -0
- data/app/services/foreman_salt/report_importer.rb +1 -1
- data/app/views/foreman_salt/api/v2/salt_variables/create.json.rabl +3 -0
- data/app/views/foreman_salt/api/v2/salt_variables/destroy.json.rabl +3 -0
- data/app/views/foreman_salt/api/v2/salt_variables/index.json.rabl +3 -0
- data/app/views/foreman_salt/api/v2/salt_variables/show.json.rabl +21 -0
- data/app/views/foreman_salt/salt_modules/index.html.erb +11 -3
- data/app/views/foreman_salt/salt_variables/_fields.erb +73 -0
- data/app/views/foreman_salt/salt_variables/edit.html.erb +17 -0
- data/app/views/foreman_salt/salt_variables/index.html.erb +46 -0
- data/app/views/foreman_salt/salt_variables/new.html.erb +17 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20190515112233_add_salt_module_id_to_lookup_keys.rb +14 -0
- data/lib/foreman_salt/plugin.rb +44 -16
- data/lib/foreman_salt/version.rb +1 -1
- data/locale/de/foreman_salt.edit.po +68 -41
- data/locale/en/foreman_salt.edit.po +1 -1
- data/test/factories/foreman_salt_factories.rb +6 -0
- data/test/functional/api/v2/salt_states_controller_test.rb +1 -1
- data/test/functional/api/v2/salt_variables_controller_test.rb +35 -0
- data/test/functional/minions_controller_test.rb +65 -5
- data/test/functional/salt_modules_controller_test.rb +22 -0
- data/test/functional/salt_variables_controller_test.rb +33 -0
- data/test/integration/salt_autosign_test.rb +1 -1
- data/test/integration/salt_keys_test.rb +3 -3
- data/test/integration/salt_module_test.rb +1 -1
- data/test/integration/salt_variable_test.rb +24 -0
- data/test/unit/salt_variables_test.rb +32 -0
- metadata +27 -2
data/lib/foreman_salt/plugin.rb
CHANGED
@@ -7,21 +7,22 @@ Foreman::Plugin.register :foreman_salt do
|
|
7
7
|
apipie_documented_controllers ["#{ForemanSalt::Engine.root}/app/controllers/foreman_salt/api/v2/*.rb"]
|
8
8
|
|
9
9
|
# Menus
|
10
|
+
divider :top_menu, :parent => :configure_menu, :caption => 'Salt'
|
10
11
|
menu :top_menu, :salt_environments,
|
11
12
|
:url_hash => { :controller => :'foreman_salt/salt_environments', :action => :index },
|
12
13
|
:caption => 'Environments',
|
13
|
-
:parent => :configure_menu
|
14
|
-
:after => :common_parameters
|
14
|
+
:parent => :configure_menu
|
15
15
|
|
16
16
|
menu :top_menu, :salt_modules,
|
17
17
|
:url_hash => { :controller => :'foreman_salt/salt_modules', :action => :index },
|
18
18
|
:caption => 'States',
|
19
|
-
:parent => :configure_menu
|
20
|
-
|
19
|
+
:parent => :configure_menu
|
20
|
+
|
21
|
+
menu :top_menu, :salt_variables,
|
22
|
+
:url_hash => { :controller => :'foreman_salt/salt_variables', :action => :index },
|
23
|
+
:caption => N_('Variables'),
|
24
|
+
:parent => :configure_menu
|
21
25
|
|
22
|
-
divider :top_menu, :parent => :configure_menu,
|
23
|
-
:caption => 'Salt',
|
24
|
-
:after => :common_parameters
|
25
26
|
|
26
27
|
# Permissions
|
27
28
|
security_block :foreman_salt do
|
@@ -59,6 +60,33 @@ Foreman::Plugin.register :foreman_salt do
|
|
59
60
|
:'foreman_salt/api/v2/salt_environments' => [:destroy] },
|
60
61
|
:resource_type => 'ForemanSalt::SaltEnvironment'
|
61
62
|
|
63
|
+
permission :view_salt_variables,
|
64
|
+
{
|
65
|
+
:'foreman_salt/salt_variables' => [:index, :auto_complete_search],
|
66
|
+
:'foreman_salt/api/v2/salt_variables' => [:index, :show]
|
67
|
+
},
|
68
|
+
:resource_type => 'ForemanSalt::SaltVariable'
|
69
|
+
|
70
|
+
permission :edit_salt_variables,
|
71
|
+
{ :'foreman_salt/salt_variables' => [:edit, :update],
|
72
|
+
:'foreman_salt/api/v2/salt_variables' => [:update],
|
73
|
+
:'foreman_salt/api/v2/salt_override_values' => [:create, :destroy] },
|
74
|
+
:resource_type => 'ForemanSalt::SaltVariable'
|
75
|
+
|
76
|
+
permission :destroy_salt_variables,
|
77
|
+
{
|
78
|
+
:'foreman_salt/salt_variables' => [:destroy],
|
79
|
+
:'foreman_salt/api/v2/salt_variables' => [:destroy]
|
80
|
+
},
|
81
|
+
:resource_type => 'ForemanSalt::SaltVariable'
|
82
|
+
|
83
|
+
permission :create_salt_variables,
|
84
|
+
{
|
85
|
+
:'foreman_salt/salt_variables' => [:new, :create],
|
86
|
+
:'foreman_salt/api/v2/salt_variables' => [:create]
|
87
|
+
},
|
88
|
+
:resource_type => 'ForemanSalt::SaltVariable'
|
89
|
+
|
62
90
|
permission :create_reports,
|
63
91
|
{ :'foreman_salt/api/v2/jobs' => [:upload] },
|
64
92
|
:resource_type => 'Report'
|
@@ -124,18 +152,18 @@ Foreman::Plugin.register :foreman_salt do
|
|
124
152
|
end
|
125
153
|
|
126
154
|
# Roles
|
127
|
-
role 'Salt admin', [:saltrun_hosts,
|
128
|
-
:
|
129
|
-
:destroy_salt_modules,
|
155
|
+
role 'Salt admin', [:saltrun_hosts,
|
156
|
+
:create_salt_modules, :view_salt_modules,
|
157
|
+
:edit_salt_modules, :destroy_salt_modules,
|
158
|
+
:import_salt_modules,
|
130
159
|
:view_smart_proxies_salt_keys,
|
131
|
-
:destroy_smart_proxies_salt_keys,
|
132
|
-
:
|
133
|
-
:create_smart_proxies_salt_autosign,
|
134
|
-
:view_smart_proxies_salt_autosign,
|
160
|
+
:edit_smart_proxies_salt_keys, :destroy_smart_proxies_salt_keys,
|
161
|
+
:create_smart_proxies_salt_autosign, :view_smart_proxies_salt_autosign,
|
135
162
|
:destroy_smart_proxies_salt_autosign,
|
136
163
|
:create_salt_environments, :view_salt_environments,
|
137
|
-
:edit_salt_environments,
|
138
|
-
:
|
164
|
+
:edit_salt_environments, :destroy_salt_environments,
|
165
|
+
:create_salt_variables, :view_salt_variables,
|
166
|
+
:edit_salt_variables, :destroy_salt_variables]
|
139
167
|
|
140
168
|
|
141
169
|
# Parameter filters
|
data/lib/foreman_salt/version.rb
CHANGED
@@ -2,28 +2,30 @@
|
|
2
2
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
3
3
|
# This file is distributed under the same license as the foreman_salt package.
|
4
4
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Translators:
|
7
7
|
# Lukáš Zapletal, 2019
|
8
8
|
# Ettore Atalan <atalanttore@googlemail.com>, 2019
|
9
|
-
#
|
10
|
-
# Wiederoder <stefanwiederoder@googlemail.com>, 2019
|
9
|
+
# 0868a4d1af5275b3f70b0a6dac4c99a4, 2019
|
11
10
|
# abf90805572190d649c59f7a021d76cb, 2019
|
12
11
|
# Michael Moll, 2019
|
13
12
|
# Hannes Schaller <admin@cyberkov.at>, 2019
|
14
|
-
# Bryan Kearney <bryan.kearney@gmail.com>, 2019
|
15
13
|
# Ulrich Habel <rhaen@pkgbox.de>, 2019
|
16
14
|
# Arnold Bechtoldt <mail@arnoldbechtoldt.com>, 2019
|
17
15
|
# simon11 <simon.stieger.98@live.de>, 2019
|
16
|
+
# Bryan Kearney <bryan.kearney@gmail.com>, 2019
|
17
|
+
# Crited <Alexander.Stoll@netways.de>, 2019
|
18
18
|
# Bernhard Suttner <bernhard.suttner@atix.de>, 2019
|
19
|
-
#
|
19
|
+
# Wiederoder <stefanwiederoder@googlemail.com>, 2019
|
20
|
+
#
|
21
|
+
#, fuzzy
|
20
22
|
msgid ""
|
21
23
|
msgstr ""
|
22
|
-
"Project-Id-Version: foreman_salt 1.0
|
24
|
+
"Project-Id-Version: foreman_salt 13.1.0\n"
|
23
25
|
"Report-Msgid-Bugs-To: \n"
|
24
26
|
"POT-Creation-Date: 2019-07-22 19:13+0000\n"
|
25
27
|
"PO-Revision-Date: 2019-04-29 07:31+0000\n"
|
26
|
-
"Last-Translator:
|
28
|
+
"Last-Translator: Wiederoder <stefanwiederoder@googlemail.com>, 2019\n"
|
27
29
|
"Language-Team: German (https://www.transifex.com/foreman/teams/114/de/)\n"
|
28
30
|
"MIME-Version: 1.0\n"
|
29
31
|
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -33,11 +35,11 @@ msgstr ""
|
|
33
35
|
|
34
36
|
#: ../app/controllers/foreman_salt/api/v2/jobs_controller.rb:12
|
35
37
|
msgid "JID"
|
36
|
-
msgstr ""
|
38
|
+
msgstr "JID"
|
37
39
|
|
38
40
|
#: ../app/controllers/foreman_salt/api/v2/jobs_controller.rb:13
|
39
41
|
msgid "Function"
|
40
|
-
msgstr ""
|
42
|
+
msgstr "Funktion"
|
41
43
|
|
42
44
|
#: ../app/controllers/foreman_salt/api/v2/jobs_controller.rb:14
|
43
45
|
msgid "Result"
|
@@ -55,7 +57,8 @@ msgstr "Alle Autosign-Einträge auflisten"
|
|
55
57
|
msgid "Create an autosign record"
|
56
58
|
msgstr "Autosign-Eintrag erstellen"
|
57
59
|
|
58
|
-
#: ../app/controllers/foreman_salt/api/v2/salt_autosign_controller.rb:17
|
60
|
+
#: ../app/controllers/foreman_salt/api/v2/salt_autosign_controller.rb:17
|
61
|
+
#: ../app/controllers/foreman_salt/api/v2/salt_autosign_controller.rb:25
|
59
62
|
msgid "Autosign record"
|
60
63
|
msgstr "Autosign-Einträge"
|
61
64
|
|
@@ -175,7 +178,8 @@ msgstr "Nur Probelauf"
|
|
175
178
|
msgid "Could not find salt environment with id %s"
|
176
179
|
msgstr "Salt Umgebung mit ID %s konnte nicht gefunden werden"
|
177
180
|
|
178
|
-
#: ../app/controllers/foreman_salt/concerns/hosts_controller_extensions.rb:44
|
181
|
+
#: ../app/controllers/foreman_salt/concerns/hosts_controller_extensions.rb:44
|
182
|
+
#: ../app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb:38
|
179
183
|
msgid "Salt Master"
|
180
184
|
msgstr "Salt Master"
|
181
185
|
|
@@ -188,14 +192,14 @@ msgid "Updated hosts: changed salt environment"
|
|
188
192
|
msgstr ""
|
189
193
|
|
190
194
|
#: ../app/controllers/foreman_salt/minions_controller.rb:24
|
191
|
-
msgid ""
|
192
|
-
"
|
193
|
-
msgstr ""
|
194
|
-
"Kann keine Ausgabe erzeugen, Bitte Logdateien prüfen\n"
|
195
|
+
msgid "Unable to generate output, Check log files\\n"
|
196
|
+
msgstr "Kann keine Ausgabe erzeugen, Bitte Logdateien prüfen\\n"
|
195
197
|
|
196
198
|
#: ../app/controllers/foreman_salt/minions_controller.rb:29
|
197
199
|
msgid "Successfully executed, check log files for more details"
|
198
|
-
msgstr "
|
200
|
+
msgstr ""
|
201
|
+
"Erfolgreich ausgeführt, für weitere Informationen bitte die Protokolldateien"
|
202
|
+
" prüfen"
|
199
203
|
|
200
204
|
#: ../app/controllers/foreman_salt/salt_autosign_controller.rb:17
|
201
205
|
msgid "Autosign created for #{params[:id]}"
|
@@ -205,7 +209,8 @@ msgstr "Autosign-Eintrag erstellt für #{params[:id]}"
|
|
205
209
|
msgid "Autosign deleted for #{params[:id]}"
|
206
210
|
msgstr "Autosign-Eintrag entfernt für #{params[:id]}"
|
207
211
|
|
208
|
-
#: ../app/controllers/foreman_salt/salt_environments_controller.rb:30
|
212
|
+
#: ../app/controllers/foreman_salt/salt_environments_controller.rb:30
|
213
|
+
#: ../app/controllers/foreman_salt/salt_modules_controller.rb:34
|
209
214
|
msgid "Successfully updated %s."
|
210
215
|
msgstr "%s wurde aktualisiert."
|
211
216
|
|
@@ -221,7 +226,8 @@ msgstr "Schlüssel #{key} zurückgewiesen"
|
|
221
226
|
msgid "Key deleted for #{key}"
|
222
227
|
msgstr "Schlüssel #{key} entfernt"
|
223
228
|
|
224
|
-
#: ../app/controllers/foreman_salt/salt_modules_controller.rb:66
|
229
|
+
#: ../app/controllers/foreman_salt/salt_modules_controller.rb:66
|
230
|
+
#: ../app/controllers/foreman_salt/salt_modules_controller.rb:73
|
225
231
|
msgid "No changes found"
|
226
232
|
msgstr "Keine Änderungen festgestellt"
|
227
233
|
|
@@ -237,7 +243,8 @@ msgstr "Salt ENC"
|
|
237
243
|
msgid "Salt external nodes YAML dump"
|
238
244
|
msgstr "YAML-Ausgabe des externen Salt-Knotens"
|
239
245
|
|
240
|
-
#: ../app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb:17
|
246
|
+
#: ../app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb:17
|
247
|
+
#: ../lib/foreman_salt/plugin.rb:156
|
241
248
|
msgid "Run Salt"
|
242
249
|
msgstr "Salt starten"
|
243
250
|
|
@@ -253,7 +260,8 @@ msgstr ""
|
|
253
260
|
msgid "Change Salt Environment"
|
254
261
|
msgstr ""
|
255
262
|
|
256
|
-
#: ../app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb:39
|
263
|
+
#: ../app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb:39
|
264
|
+
#: ../app/views/hosts/select_multiple_salt_environment.html.erb:7
|
257
265
|
msgid "Salt Environment"
|
258
266
|
msgstr "Salt Umgebung"
|
259
267
|
|
@@ -277,7 +285,8 @@ msgstr "Zurückgewiesen"
|
|
277
285
|
msgid "Unaccepted"
|
278
286
|
msgstr "Abgelehnt"
|
279
287
|
|
280
|
-
#: ../app/helpers/foreman_salt/salt_modules_helper.rb:5
|
288
|
+
#: ../app/helpers/foreman_salt/salt_modules_helper.rb:5
|
289
|
+
#: ../app/views/foreman_salt/salt_modules/import.html.erb:1
|
281
290
|
msgid "Import from %s"
|
282
291
|
msgstr "Importieren aus %s"
|
283
292
|
|
@@ -343,7 +352,9 @@ msgstr "Salt State muss in der Umgebung des Hosts sein"
|
|
343
352
|
|
344
353
|
#: ../app/models/foreman_salt/concerns/host_managed_extensions.rb:79
|
345
354
|
msgid "Host must have an environment in order to set salt states"
|
346
|
-
msgstr "
|
355
|
+
msgstr ""
|
356
|
+
"Host muss einer Salt Umgebung angehören bevor ein Salt State gesetzt werden "
|
357
|
+
"kann"
|
347
358
|
|
348
359
|
#: ../app/models/foreman_salt/salt_environment.rb:13
|
349
360
|
msgid "is alphanumeric and cannot contain spaces"
|
@@ -354,8 +365,12 @@ msgid "Salt environment"
|
|
354
365
|
msgstr "Salt Umgebung"
|
355
366
|
|
356
367
|
#: ../app/models/foreman_salt/salt_module.rb:16
|
357
|
-
msgid "
|
358
|
-
|
368
|
+
msgid ""
|
369
|
+
"must be alphanumeric, can contain periods, dashes, underscores and must not "
|
370
|
+
"contain spaces"
|
371
|
+
msgstr ""
|
372
|
+
"muss alphanumerisch sein; kann Punkte, Striche, Unterstriche enthalten "
|
373
|
+
"jedoch keine Leerzeichen"
|
359
374
|
|
360
375
|
#: ../app/models/foreman_salt/salt_module.rb:40
|
361
376
|
msgid "Salt state"
|
@@ -377,7 +392,8 @@ msgstr "Ungültiger Bericht"
|
|
377
392
|
msgid "Must specify a Smart Proxy to use"
|
378
393
|
msgstr "Zu verwendender Smart Proxy muss angegeben werden"
|
379
394
|
|
380
|
-
#: ../app/views/foreman_salt/salt_autosign/_form.html.erb:4
|
395
|
+
#: ../app/views/foreman_salt/salt_autosign/_form.html.erb:4
|
396
|
+
#: ../app/views/foreman_salt/salt_autosign/index.html.erb:7
|
381
397
|
msgid "Name"
|
382
398
|
msgstr "Name"
|
383
399
|
|
@@ -401,7 +417,8 @@ msgstr "Neu"
|
|
401
417
|
msgid "New Autosign Entry"
|
402
418
|
msgstr "Neuer Autosign-Eintrag"
|
403
419
|
|
404
|
-
#: ../app/views/foreman_salt/salt_environments/_form.html.erb:4
|
420
|
+
#: ../app/views/foreman_salt/salt_environments/_form.html.erb:4
|
421
|
+
#: ../app/views/foreman_salt/salt_environments/index.html.erb:1
|
405
422
|
msgid "Salt Environments"
|
406
423
|
msgstr "Salt Umgebungen"
|
407
424
|
|
@@ -409,27 +426,32 @@ msgstr "Salt Umgebungen"
|
|
409
426
|
msgid "Edit Salt Environment %s"
|
410
427
|
msgstr "Salt Umgebung %s bearbeiten"
|
411
428
|
|
412
|
-
#: ../app/views/foreman_salt/salt_environments/index.html.erb:3
|
429
|
+
#: ../app/views/foreman_salt/salt_environments/index.html.erb:3
|
430
|
+
#: ../app/views/foreman_salt/salt_environments/new.html.erb:1
|
413
431
|
msgid "New Salt Environment"
|
414
432
|
msgstr "Neue Salt Umgebung"
|
415
433
|
|
416
434
|
#: ../app/views/foreman_salt/salt_environments/index.html.erb:7
|
417
435
|
msgid "SaltEnvironment|Name"
|
418
|
-
msgstr ""
|
436
|
+
msgstr "Name"
|
419
437
|
|
420
|
-
#: ../app/views/foreman_salt/salt_environments/index.html.erb:8
|
438
|
+
#: ../app/views/foreman_salt/salt_environments/index.html.erb:8
|
439
|
+
#: ../app/views/foreman_salt/salt_modules/import.html.erb:24
|
421
440
|
msgid "States"
|
422
441
|
msgstr "States"
|
423
442
|
|
424
|
-
#: ../app/views/foreman_salt/salt_environments/index.html.erb:9
|
443
|
+
#: ../app/views/foreman_salt/salt_environments/index.html.erb:9
|
444
|
+
#: ../app/views/foreman_salt/salt_modules/index.html.erb:11
|
425
445
|
msgid "Hosts"
|
426
446
|
msgstr "Hosts"
|
427
447
|
|
428
|
-
#: ../app/views/foreman_salt/salt_environments/index.html.erb:10
|
448
|
+
#: ../app/views/foreman_salt/salt_environments/index.html.erb:10
|
449
|
+
#: ../app/views/foreman_salt/salt_modules/index.html.erb:12
|
429
450
|
msgid "Host groups"
|
430
451
|
msgstr "Hostgruppen"
|
431
452
|
|
432
|
-
#: ../app/views/foreman_salt/salt_environments/index.html.erb:21
|
453
|
+
#: ../app/views/foreman_salt/salt_environments/index.html.erb:21
|
454
|
+
#: ../app/views/foreman_salt/salt_modules/index.html.erb:28
|
433
455
|
msgid "Delete %s?"
|
434
456
|
msgstr "%s löschen?"
|
435
457
|
|
@@ -465,11 +487,15 @@ msgstr "Akzeptieren"
|
|
465
487
|
msgid "Reject"
|
466
488
|
msgstr "Zurückweisen"
|
467
489
|
|
468
|
-
#: ../app/views/foreman_salt/salt_modules/_form.html.erb:4
|
490
|
+
#: ../app/views/foreman_salt/salt_modules/_form.html.erb:4
|
491
|
+
#: ../app/views/foreman_salt/salt_modules/_host_tab.html.erb:1
|
492
|
+
#: ../app/views/foreman_salt/salt_modules/index.html.erb:1
|
469
493
|
msgid "Salt States"
|
470
494
|
msgstr "Salt States"
|
471
495
|
|
472
|
-
#: ../app/views/foreman_salt/salt_modules/_form.html.erb:5
|
496
|
+
#: ../app/views/foreman_salt/salt_modules/_form.html.erb:5
|
497
|
+
#: ../app/views/foreman_salt/salt_modules/_form.html.erb:14
|
498
|
+
#: ../app/views/foreman_salt/salt_modules/index.html.erb:10
|
473
499
|
msgid "Environments"
|
474
500
|
msgstr "Umgebungen"
|
475
501
|
|
@@ -507,7 +533,7 @@ msgstr ""
|
|
507
533
|
|
508
534
|
#: ../app/views/foreman_salt/salt_modules/import.html.erb:21
|
509
535
|
msgid "Check/Uncheck All"
|
510
|
-
msgstr ""
|
536
|
+
msgstr "Alle auswählen/abwählen"
|
511
537
|
|
512
538
|
#: ../app/views/foreman_salt/salt_modules/import.html.erb:22
|
513
539
|
msgid "Environment"
|
@@ -525,13 +551,14 @@ msgstr "Abbrechen"
|
|
525
551
|
msgid "Update"
|
526
552
|
msgstr "Aktualisieren"
|
527
553
|
|
528
|
-
#: ../app/views/foreman_salt/salt_modules/index.html.erb:4
|
554
|
+
#: ../app/views/foreman_salt/salt_modules/index.html.erb:4
|
555
|
+
#: ../app/views/foreman_salt/salt_modules/new.html.erb:1
|
529
556
|
msgid "New Salt State"
|
530
557
|
msgstr "Neuen Salt State"
|
531
558
|
|
532
559
|
#: ../app/views/foreman_salt/salt_modules/index.html.erb:9
|
533
560
|
msgid "SaltModule|Name"
|
534
|
-
msgstr ""
|
561
|
+
msgstr "Name"
|
535
562
|
|
536
563
|
#: ../app/views/foreman_salt/salt_modules/index.html.erb:26
|
537
564
|
msgid "Edit"
|
@@ -543,7 +570,7 @@ msgstr ""
|
|
543
570
|
|
544
571
|
#: ../app/views/hosts/select_multiple_salt_environment.html.erb:5
|
545
572
|
msgid "*Clear environment*"
|
546
|
-
msgstr ""
|
573
|
+
msgstr "*Lösche Umgebung*"
|
547
574
|
|
548
575
|
#: ../lib/foreman_salt/plugin.rb:152
|
549
576
|
msgid "Run Salt state.highstate"
|
@@ -551,12 +578,12 @@ msgstr ""
|
|
551
578
|
|
552
579
|
#: action_names.rb:2
|
553
580
|
msgid "Action with sub plans"
|
554
|
-
msgstr ""
|
581
|
+
msgstr "Aktion mit Unterplänen"
|
555
582
|
|
556
583
|
#: action_names.rb:3
|
557
584
|
msgid "Import facts"
|
558
|
-
msgstr ""
|
585
|
+
msgstr "Fakten importieren"
|
559
586
|
|
560
587
|
#: action_names.rb:4
|
561
588
|
msgid "Import Puppet classes"
|
562
|
-
msgstr ""
|
589
|
+
msgstr "Puppet-Klassen importieren"
|
@@ -6,6 +6,12 @@ FactoryBot.define do
|
|
6
6
|
factory :salt_environment, :class => 'ForemanSalt::SaltEnvironment' do
|
7
7
|
sequence(:name) { |n| "environment#{n}" }
|
8
8
|
end
|
9
|
+
|
10
|
+
factory :salt_variable, :class => 'ForemanSalt::SaltVariable' do
|
11
|
+
sequence(:key) { |n| "salt_variable_#{n}" }
|
12
|
+
sequence(:default_value) { |n| "default_value_#{n}" }
|
13
|
+
salt_module
|
14
|
+
end
|
9
15
|
end
|
10
16
|
|
11
17
|
FactoryBot.modify do
|
@@ -35,7 +35,7 @@ class ::ForemanSalt::Api::V2::SaltStatesControllerTest < ActionController::TestC
|
|
35
35
|
@states = { 'env1' => %w(state1 state2 state3),
|
36
36
|
'env2' => %w(state1 state2) }
|
37
37
|
|
38
|
-
|
38
|
+
ProxyAPI::Salt.any_instance.stubs(:states_list).returns(@states)
|
39
39
|
end
|
40
40
|
|
41
41
|
test 'should import' do
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module ForemanSalt
|
6
|
+
module Api
|
7
|
+
module V2
|
8
|
+
# Tests for the controller to CRUD Salt Variables
|
9
|
+
class SaltVariablesControllerTest < ActionController::TestCase
|
10
|
+
setup do
|
11
|
+
@variable = FactoryBot.create(:salt_variable)
|
12
|
+
end
|
13
|
+
|
14
|
+
test 'should get index' do
|
15
|
+
get :index, :session => set_session_user
|
16
|
+
response = JSON.parse(@response.body)
|
17
|
+
assert_not_empty response['results']
|
18
|
+
assert_response :success
|
19
|
+
end
|
20
|
+
|
21
|
+
test 'should destroy' do
|
22
|
+
delete :destroy, :params => { :id => @variable.id }, :session => set_session_user
|
23
|
+
assert_response :ok
|
24
|
+
assert_not SaltVariable.exists?(@variable.id)
|
25
|
+
end
|
26
|
+
|
27
|
+
test 'should create' do
|
28
|
+
params = { :key => 'test name', :salt_state_id => FactoryBot.create(:salt_module).id }
|
29
|
+
post :create, :params => params, :session => set_session_user
|
30
|
+
assert_response :success
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -2,17 +2,77 @@ require 'test_plugin_helper'
|
|
2
2
|
|
3
3
|
module ForemanSalt
|
4
4
|
class MinionsControllerTest < ActionController::TestCase
|
5
|
-
|
5
|
+
setup do
|
6
6
|
User.current = User.anonymous_admin
|
7
|
+
Setting::Salt.load_defaults
|
7
8
|
Setting[:restrict_registered_smart_proxies] = true
|
8
9
|
Setting[:require_ssl_smart_proxies] = false
|
9
10
|
|
10
|
-
proxy = FactoryBot.create
|
11
|
-
Resolv.any_instance.stubs(:getnames).returns([proxy.to_s])
|
11
|
+
@proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
|
12
|
+
Resolv.any_instance.stubs(:getnames).returns([@proxy.to_s])
|
13
|
+
|
14
|
+
@host = FactoryBot.create(:host, salt_environment: FactoryBot.create(:salt_environment), salt_proxy: @proxy)
|
15
|
+
FactoryBot.create(:host_parameter, name: "parameter1", value: "different", host: @host)
|
16
|
+
end
|
17
|
+
|
18
|
+
test 'salt smart proxy should get salt external node' do
|
19
|
+
get :node, params: { :id => @host, :format => 'yml' }
|
20
|
+
assert_response :success
|
21
|
+
|
22
|
+
res = YAML.safe_load(@response.body)
|
23
|
+
assert_equal res['parameters']['parameter1'], 'different'
|
24
|
+
end
|
25
|
+
|
26
|
+
test 'setting salt_namespace_pillars is considered' do
|
27
|
+
Setting['salt_namespace_pillars'] = true
|
28
|
+
|
29
|
+
get :node, params: { :id => @host, :format => 'yml' }
|
30
|
+
assert_response :success
|
31
|
+
|
32
|
+
res = YAML.safe_load(@response.body)
|
33
|
+
assert_equal res['parameters']['foreman']['parameter1'], 'different'
|
34
|
+
end
|
35
|
+
|
36
|
+
test 'salt variable is available' do
|
37
|
+
@var = FactoryBot.create(:salt_variable, override: true)
|
38
|
+
@var.salt_module.salt_environments << @host.salt_environment
|
39
|
+
@host.salt_modules << @var.salt_module
|
12
40
|
|
13
|
-
|
14
|
-
get :node, params: { :id => host, :format => 'yml' }
|
41
|
+
get :node, params: { :id => @host, :format => 'yml' }
|
15
42
|
assert_response :success
|
43
|
+
|
44
|
+
res = YAML.safe_load(@response.body)
|
45
|
+
assert_equal res['parameters'][@var.key], @var.value
|
46
|
+
end
|
47
|
+
|
48
|
+
test 'salt variable overrides host parameter' do
|
49
|
+
@var = FactoryBot.create(:salt_variable, key: 'parameter1', override: true)
|
50
|
+
@var.salt_module.salt_environments << @host.salt_environment
|
51
|
+
@host.salt_modules << @var.salt_module
|
52
|
+
|
53
|
+
get :node, params: { :id => @host, :format => 'yml' }
|
54
|
+
assert_response :success
|
55
|
+
|
56
|
+
res = YAML.safe_load(@response.body)
|
57
|
+
assert_equal res['parameters']['parameter1'], @var.value
|
58
|
+
end
|
59
|
+
|
60
|
+
test 'salt variable matching host' do
|
61
|
+
@var = FactoryBot.create(:salt_variable, key: 'parameter1', override: true)
|
62
|
+
# rubocop:disable Lint/UselessAssignment
|
63
|
+
value1 = LookupValue.create(:lookup_key => @var, :match => "os=debian", :value => "aaa")
|
64
|
+
value2 = LookupValue.create(:lookup_key => @var, :match => "fqdn=#{@host.fqdn}", :value => "myval")
|
65
|
+
value3 = LookupValue.create(:lookup_key => @var, :match => "hostgroup=Unusual", :value => "bbbb")
|
66
|
+
# rubocop:enable Lint/UselessAssignment
|
67
|
+
|
68
|
+
@var.salt_module.salt_environments << @host.salt_environment
|
69
|
+
@host.salt_modules << @var.salt_module
|
70
|
+
|
71
|
+
get :node, params: { :id => @host, :format => 'yml' }
|
72
|
+
assert_response :success
|
73
|
+
|
74
|
+
res = YAML.safe_load(@response.body)
|
75
|
+
assert_equal res['parameters']['parameter1'], value2.value
|
16
76
|
end
|
17
77
|
end
|
18
78
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
# functional tests for SaltModulesController
|
5
|
+
module ForemanSalt
|
6
|
+
class SaltModulesControllerTest < ActionController::TestCase
|
7
|
+
setup do
|
8
|
+
@model = FactoryBot.create(:salt_module)
|
9
|
+
end
|
10
|
+
|
11
|
+
basic_index_test "salt_modules"
|
12
|
+
basic_new_test
|
13
|
+
basic_edit_test "salt_module"
|
14
|
+
|
15
|
+
test 'should destroy module' do
|
16
|
+
assert_difference('SaltModule.count', -1) do
|
17
|
+
delete :destroy, :params => { :id => @model.id }, :session => set_session_user
|
18
|
+
end
|
19
|
+
assert_redirected_to salt_modules_url
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
module ForemanSalt
|
5
|
+
# functional tests for SaltVariablesController
|
6
|
+
class SaltVariablesControllerTest < ActionController::TestCase
|
7
|
+
setup do
|
8
|
+
@model = FactoryBot.create(:salt_variable)
|
9
|
+
@proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
|
10
|
+
end
|
11
|
+
|
12
|
+
basic_index_test "salt_variables"
|
13
|
+
basic_new_test
|
14
|
+
basic_edit_test "salt_variable"
|
15
|
+
basic_pagination_per_page_test
|
16
|
+
basic_pagination_rendered_test
|
17
|
+
|
18
|
+
test 'should destroy variable' do
|
19
|
+
assert_difference('SaltVariable.count', -1) do
|
20
|
+
delete :destroy, :params => { :id => @model.id }, :session => set_session_user
|
21
|
+
end
|
22
|
+
assert_redirected_to salt_variables_url
|
23
|
+
end
|
24
|
+
|
25
|
+
test 'should create salt variable' do
|
26
|
+
params = { :foreman_salt_salt_variable => { :key => 'great name', :salt_module_id => FactoryBot.create(:salt_module).id } }
|
27
|
+
assert_difference('SaltVariable.count', 1) do
|
28
|
+
post :create, :params => params, :session => set_session_user
|
29
|
+
end
|
30
|
+
assert_redirected_to salt_variables_url
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -6,7 +6,7 @@ module ForemanSalt
|
|
6
6
|
setup do
|
7
7
|
@proxy = FactoryBot.create :smart_proxy, :with_salt_feature
|
8
8
|
|
9
|
-
|
9
|
+
ProxyAPI::Salt.any_instance.stubs(:key_list).returns(
|
10
10
|
'saltstack.example.com' => { 'state' => 'accepted', 'fingerprint' => '98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c0' },
|
11
11
|
'saltclient01.example.com' => { 'state' => 'unaccepted', 'fingerprint' => '98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c1' },
|
12
12
|
'saltclient02.example.com' => { 'state' => 'unaccepted', 'fingerprint' => '98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c2' },
|
@@ -39,12 +39,12 @@ module ForemanSalt
|
|
39
39
|
end
|
40
40
|
|
41
41
|
test 'has accept link' do
|
42
|
-
|
42
|
+
ProxyAPI::Salt.any_instance.stubs(:key_accept).returns(true)
|
43
43
|
assert_row_button(smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id), 'saltclient01.example.com', 'Accept', true)
|
44
44
|
end
|
45
45
|
|
46
46
|
test 'has reject link' do
|
47
|
-
|
47
|
+
ProxyAPI::Salt.any_instance.stubs(:key_reject).returns(true)
|
48
48
|
assert_row_button(smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id), 'saltclient01.example.com', 'Reject', true)
|
49
49
|
end
|
50
50
|
end
|
@@ -9,7 +9,7 @@ module ForemanSalt
|
|
9
9
|
states = %w(state1 state2 state3 state4)
|
10
10
|
state_list = { 'env1' => states, 'env2' => states }
|
11
11
|
|
12
|
-
|
12
|
+
ProxyAPI::Salt.any_instance.stubs(:states_list).returns(state_list)
|
13
13
|
end
|
14
14
|
|
15
15
|
test 'index page' do
|