foreman_salt 13.0.0 → 13.1.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/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
|