foreman_remote_execution 14.0.0 → 14.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_remote_execution/locale/de/foreman_remote_execution.js +77 -77
  3. data/app/assets/javascripts/foreman_remote_execution/locale/en/foreman_remote_execution.js +2 -1667
  4. data/app/assets/javascripts/foreman_remote_execution/locale/en_GB/foreman_remote_execution.js +7 -7
  5. data/app/assets/javascripts/foreman_remote_execution/locale/es/foreman_remote_execution.js +33 -33
  6. data/app/assets/javascripts/foreman_remote_execution/locale/fr/foreman_remote_execution.js +131 -131
  7. data/app/assets/javascripts/foreman_remote_execution/locale/ja/foreman_remote_execution.js +131 -131
  8. data/app/assets/javascripts/foreman_remote_execution/locale/ka/foreman_remote_execution.js +38 -38
  9. data/app/assets/javascripts/foreman_remote_execution/locale/ko/foreman_remote_execution.js +16 -16
  10. data/app/assets/javascripts/foreman_remote_execution/locale/pt_BR/foreman_remote_execution.js +33 -33
  11. data/app/assets/javascripts/foreman_remote_execution/locale/ru/foreman_remote_execution.js +7 -7
  12. data/app/assets/javascripts/foreman_remote_execution/locale/zh_CN/foreman_remote_execution.js +134 -134
  13. data/app/assets/javascripts/foreman_remote_execution/locale/zh_TW/foreman_remote_execution.js +6 -6
  14. data/app/controllers/api/v2/job_invocations_controller.rb +34 -17
  15. data/app/helpers/job_invocations_helper.rb +1 -1
  16. data/app/helpers/remote_execution_helper.rb +2 -2
  17. data/app/lib/actions/remote_execution/proxy_action.rb +10 -5
  18. data/app/lib/actions/remote_execution/run_host_job.rb +1 -1
  19. data/app/lib/actions/remote_execution/template_invocation_progress_logging.rb +2 -3
  20. data/app/models/concerns/foreman_remote_execution/errors_flattener.rb +2 -2
  21. data/app/views/api/v2/job_invocations/hosts.json.rabl +15 -0
  22. data/app/views/template_invocations/show.html.erb +1 -1
  23. data/app/views/templates/script/package_action.erb +1 -1
  24. data/config/routes.rb +1 -0
  25. data/db/migrate/20240312133027_extend_template_invocation_events.rb +19 -0
  26. data/db/migrate/20240522093413_migrate_smart_proxy_ids_to_template_invocations.rb +3 -0
  27. data/lib/foreman_remote_execution/engine.rb +0 -4
  28. data/lib/foreman_remote_execution/version.rb +1 -1
  29. data/locale/Makefile +12 -2
  30. data/locale/de/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  31. data/locale/de/foreman_remote_execution.po +81 -80
  32. data/locale/en/foreman_remote_execution.po +0 -1675
  33. data/locale/en_GB/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  34. data/locale/en_GB/foreman_remote_execution.po +7 -7
  35. data/locale/es/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  36. data/locale/es/foreman_remote_execution.po +33 -33
  37. data/locale/fr/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  38. data/locale/fr/foreman_remote_execution.po +132 -132
  39. data/locale/ja/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  40. data/locale/ja/foreman_remote_execution.po +131 -131
  41. data/locale/ka/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  42. data/locale/ka/foreman_remote_execution.po +38 -38
  43. data/locale/ko/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  44. data/locale/ko/foreman_remote_execution.po +16 -16
  45. data/locale/pt_BR/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  46. data/locale/pt_BR/foreman_remote_execution.po +33 -33
  47. data/locale/ru/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  48. data/locale/ru/foreman_remote_execution.po +7 -7
  49. data/locale/zh_CN/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  50. data/locale/zh_CN/foreman_remote_execution.po +136 -134
  51. data/locale/zh_TW/LC_MESSAGES/foreman_remote_execution.mo +0 -0
  52. data/locale/zh_TW/foreman_remote_execution.po +6 -6
  53. data/webpack/JobInvocationDetail/JobInvocationActions.js +1 -1
  54. data/webpack/JobInvocationDetail/JobInvocationConstants.js +84 -0
  55. data/webpack/JobInvocationDetail/JobInvocationDetail.scss +0 -1
  56. data/webpack/JobInvocationDetail/JobInvocationHostTable.js +210 -0
  57. data/webpack/JobInvocationDetail/JobInvocationSelectors.js +2 -2
  58. data/webpack/JobInvocationDetail/__tests__/MainInformation.test.js +5 -1
  59. data/webpack/JobInvocationDetail/__tests__/fixtures.js +9 -0
  60. data/webpack/JobInvocationDetail/index.js +56 -34
  61. data/webpack/__mocks__/foremanReact/components/HostDetails/DetailsCard/DefaultLoaderEmptyState.js +1 -2
  62. data/webpack/react_app/components/RecentJobsCard/JobStatusIcon.js +38 -7
  63. data/webpack/react_app/components/RecentJobsCard/constants.js +4 -0
  64. data/webpack/react_app/components/TargetingHosts/__tests__/__snapshots__/HostStatus.test.js.snap +1 -1
  65. data/webpack/react_app/components/TargetingHosts/components/HostStatus.js +6 -6
  66. metadata +6 -95
  67. data/.babelrc.js +0 -3
  68. data/.eslintignore +0 -3
  69. data/.eslintrc +0 -13
  70. data/.github/workflows/js_ci.yml +0 -32
  71. data/.github/workflows/release.yml +0 -16
  72. data/.github/workflows/ruby_ci.yml +0 -19
  73. data/.gitignore +0 -18
  74. data/.packit.yaml +0 -45
  75. data/.prettierrc +0 -4
  76. data/.rubocop.yml +0 -105
  77. data/.rubocop_todo.yml +0 -516
  78. data/.tx/config +0 -10
  79. data/Gemfile +0 -5
  80. data/app/mailers/.gitkeep +0 -0
  81. data/app/views/dashboard/.gitkeep +0 -0
  82. data/foreman_remote_execution.gemspec +0 -33
  83. data/jsconfig.json +0 -8
  84. data/locale/action_names.rb +0 -2
  85. data/test/benchmark/run_hosts_job_benchmark.rb +0 -70
  86. data/test/benchmark/targeting_benchmark.rb +0 -31
  87. data/test/factories/foreman_remote_execution_factories.rb +0 -147
  88. data/test/functional/api/v2/foreign_input_sets_controller_test.rb +0 -58
  89. data/test/functional/api/v2/job_invocations_controller_test.rb +0 -446
  90. data/test/functional/api/v2/job_templates_controller_test.rb +0 -110
  91. data/test/functional/api/v2/registration_controller_test.rb +0 -73
  92. data/test/functional/api/v2/remote_execution_features_controller_test.rb +0 -34
  93. data/test/functional/api/v2/template_invocations_controller_test.rb +0 -33
  94. data/test/functional/cockpit_controller_test.rb +0 -16
  95. data/test/functional/job_invocations_controller_test.rb +0 -132
  96. data/test/functional/job_templates_controller_test.rb +0 -31
  97. data/test/functional/ui_job_wizard_controller_test.rb +0 -16
  98. data/test/graphql/mutations/job_invocations/create_test.rb +0 -58
  99. data/test/graphql/queries/job_invocation_query_test.rb +0 -31
  100. data/test/graphql/queries/job_invocations_query_test.rb +0 -35
  101. data/test/helpers/remote_execution_helper_test.rb +0 -46
  102. data/test/support/remote_execution_helper.rb +0 -5
  103. data/test/test_plugin_helper.rb +0 -9
  104. data/test/unit/actions/run_host_job_test.rb +0 -115
  105. data/test/unit/actions/run_hosts_job_test.rb +0 -214
  106. data/test/unit/api_params_test.rb +0 -25
  107. data/test/unit/concerns/foreman_tasks_cleaner_extensions_test.rb +0 -29
  108. data/test/unit/concerns/host_extensions_test.rb +0 -219
  109. data/test/unit/concerns/nic_extensions_test.rb +0 -9
  110. data/test/unit/execution_task_status_mapper_test.rb +0 -92
  111. data/test/unit/input_template_renderer_test.rb +0 -503
  112. data/test/unit/job_invocation_composer_test.rb +0 -974
  113. data/test/unit/job_invocation_report_template_test.rb +0 -60
  114. data/test/unit/job_invocation_test.rb +0 -232
  115. data/test/unit/job_template_effective_user_test.rb +0 -37
  116. data/test/unit/job_template_test.rb +0 -316
  117. data/test/unit/remote_execution_feature_test.rb +0 -86
  118. data/test/unit/remote_execution_provider_test.rb +0 -298
  119. data/test/unit/renderer_scope_input_test.rb +0 -49
  120. data/test/unit/targeting_test.rb +0 -206
  121. data/test/unit/template_invocation_input_value_test.rb +0 -38
data/.rubocop_todo.yml DELETED
@@ -1,516 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2020-12-02 23:05:20 UTC using RuboCop version 1.5.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: EnforcedStyleAlignWith, Severity.
12
- # SupportedStylesAlignWith: start_of_line, begin
13
- Layout/BeginEndAlignment:
14
- Exclude:
15
- - 'lib/foreman_remote_execution_core/script_runner.rb'
16
-
17
- # Offense count: 13
18
- # Cop supports --auto-correct.
19
- # Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth.
20
- # SupportedStyles: case, end
21
- Layout/CaseIndentation:
22
- Exclude:
23
- - 'app/controllers/job_invocations_controller.rb'
24
- - 'app/controllers/job_templates_controller.rb'
25
- - 'app/models/host_status/execution_status.rb'
26
-
27
- # Offense count: 4
28
- # Cop supports --auto-correct.
29
- Layout/EmptyLines:
30
- Exclude:
31
- - 'app/models/template_invocation.rb'
32
- - 'test/unit/input_template_renderer_test.rb'
33
- - 'test/unit/job_invocation_composer_test.rb'
34
- - 'test/unit/remote_execution_feature_test.rb'
35
-
36
- # Offense count: 3
37
- # Cop supports --auto-correct.
38
- # Configuration parameters: AllowAliasSyntax, AllowedMethods.
39
- # AllowedMethods: alias_method, public, protected, private
40
- Layout/EmptyLinesAroundAttributeAccessor:
41
- Exclude:
42
- - 'app/lib/foreman_remote_execution/renderer/scope/input.rb'
43
- - 'app/models/job_invocation_composer.rb'
44
-
45
- # Offense count: 6
46
- # Cop supports --auto-correct.
47
- # Configuration parameters: EnforcedStyle.
48
- # SupportedStyles: empty_lines, no_empty_lines
49
- Layout/EmptyLinesAroundBlockBody:
50
- Exclude:
51
- - 'extra/cockpit/foreman-cockpit-session'
52
- - 'test/unit/input_template_renderer_test.rb'
53
- - 'test/unit/job_invocation_composer_test.rb'
54
- - 'test/unit/targeting_test.rb'
55
-
56
- # Offense count: 21
57
- # Cop supports --auto-correct.
58
- # Configuration parameters: EnforcedStyle.
59
- # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
60
- Layout/EmptyLinesAroundClassBody:
61
- Enabled: false
62
-
63
- # Offense count: 4
64
- # Cop supports --auto-correct.
65
- # Configuration parameters: EnforcedStyle.
66
- # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
67
- Layout/EmptyLinesAroundModuleBody:
68
- Exclude:
69
- - 'app/helpers/concerns/foreman_remote_execution/hosts_helper_extensions.rb'
70
- - 'app/lib/actions/middleware/bind_job_invocation.rb'
71
- - 'test/functional/api/v2/job_templates_controller_test.rb'
72
-
73
- # Offense count: 6
74
- # Cop supports --auto-correct.
75
- # Configuration parameters: Width, IgnoredPatterns.
76
- Layout/IndentationWidth:
77
- Exclude:
78
- - 'app/models/template_invocation.rb'
79
- - 'extra/cockpit/foreman-cockpit-session'
80
-
81
- # Offense count: 7
82
- # Cop supports --auto-correct.
83
- # Configuration parameters: EnforcedStyle, IndentationWidth.
84
- # SupportedStyles: aligned, indented
85
- Layout/MultilineOperationIndentation:
86
- Exclude:
87
- - 'app/helpers/job_invocations_helper.rb'
88
- - 'app/helpers/remote_execution_helper.rb'
89
- - 'app/models/job_invocation_composer.rb'
90
- - 'app/models/remote_execution_provider.rb'
91
- - 'lib/foreman_remote_execution_core/dispatcher.rb'
92
-
93
- # Offense count: 7
94
- # Cop supports --auto-correct.
95
- Layout/SpaceAfterComma:
96
- Exclude:
97
- - 'app/helpers/job_invocation_output_helper.rb'
98
- - 'db/migrate/20200623073022_rename_sudo_password_to_effective_user_password.rb'
99
- - 'test/functional/ui_job_wizard_controller_test.rb'
100
- - 'test/unit/job_invocation_composer_test.rb'
101
-
102
- # Offense count: 29
103
- # Cop supports --auto-correct.
104
- # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
105
- # SupportedStylesForExponentOperator: space, no_space
106
- Layout/SpaceAroundOperators:
107
- Exclude:
108
- - 'app/controllers/ui_job_wizard_controller.rb'
109
- - 'app/helpers/job_invocations_helper.rb'
110
- - 'db/migrate/20150708133242_add_invocation.rb'
111
- - 'extra/cockpit/foreman-cockpit-session'
112
- - 'test/helpers/remote_execution_helper_test.rb'
113
- - 'test/unit/input_template_renderer_test.rb'
114
- - 'test/unit/job_invocation_composer_test.rb'
115
-
116
- # Offense count: 58
117
- # Cop supports --auto-correct.
118
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
119
- # SupportedStyles: space, no_space, compact
120
- # SupportedStylesForEmptyBrackets: space, no_space
121
- Layout/SpaceInsideArrayLiteralBrackets:
122
- Exclude:
123
- - 'app/helpers/concerns/foreman_remote_execution/hosts_helper_extensions.rb'
124
- - 'app/helpers/remote_execution_helper.rb'
125
- - 'app/lib/actions/remote_execution/run_host_job.rb'
126
- - 'app/models/host_status/execution_status.rb'
127
- - 'app/models/job_invocation.rb'
128
- - 'app/models/job_invocation_composer.rb'
129
- - 'app/models/job_template.rb'
130
- - 'app/models/remote_execution_feature.rb'
131
- - 'extra/cockpit/foreman-cockpit-session'
132
- - 'lib/foreman_remote_execution/engine.rb'
133
- - 'test/unit/execution_task_status_mapper_test.rb'
134
- - 'test/unit/job_invocation_composer_test.rb'
135
- - 'test/unit/targeting_test.rb'
136
-
137
- # Offense count: 2
138
- # Configuration parameters: AllowedMethods.
139
- # AllowedMethods: enums
140
- Lint/ConstantDefinitionInBlock:
141
- Exclude:
142
- - 'lib/foreman_remote_execution/engine.rb'
143
-
144
- # Offense count: 2
145
- Lint/MissingSuper:
146
- Exclude:
147
- - 'app/services/ui_notifications/remote_execution_jobs/base_job_finish.rb'
148
- - 'lib/foreman_remote_execution_core/log_filter.rb'
149
-
150
- # Offense count: 10
151
- # Cop supports --auto-correct.
152
- # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
153
- Lint/UnusedBlockArgument:
154
- Exclude:
155
- - 'app/models/job_invocation_composer.rb'
156
- - 'extra/cockpit/foreman-cockpit-session'
157
- - 'lib/foreman_remote_execution/engine.rb'
158
- - 'lib/foreman_remote_execution_core/script_runner.rb'
159
- - 'test/factories/foreman_remote_execution_factories.rb'
160
-
161
- # Offense count: 15
162
- # Cop supports --auto-correct.
163
- # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
164
- Lint/UnusedMethodArgument:
165
- Exclude:
166
- - 'app/helpers/concerns/foreman_remote_execution/hosts_helper_extensions.rb'
167
- - 'app/helpers/remote_execution_helper.rb'
168
- - 'app/lib/actions/remote_execution/run_host_job.rb'
169
- - 'app/models/host_status/execution_status.rb'
170
- - 'app/models/job_invocation.rb'
171
- - 'app/models/job_invocation_composer.rb'
172
- - 'app/models/job_template.rb'
173
- - 'app/models/remote_execution_provider.rb'
174
- - 'lib/foreman_remote_execution_core/script_runner.rb'
175
- - 'test/benchmark/run_hosts_job_benchmark.rb'
176
- - 'test/support/remote_execution_helper.rb'
177
-
178
- # Offense count: 4
179
- Lint/UselessAssignment:
180
- Exclude:
181
- - 'app/lib/foreman_remote_execution/renderer/scope/input.rb'
182
- - 'app/models/job_template.rb'
183
- - 'app/models/remote_execution_feature.rb'
184
- - 'extra/cockpit/foreman-cockpit-session'
185
-
186
- # Offense count: 31
187
- # Cop supports --auto-correct.
188
- Minitest/GlobalExpectations:
189
- Exclude:
190
- - 'test/helpers/remote_execution_helper_test.rb'
191
- - 'test/unit/actions/run_hosts_job_test.rb'
192
- - 'test/unit/concerns/foreman_tasks_cleaner_extensions_test.rb'
193
- - 'test/unit/concerns/host_extensions_test.rb'
194
- - 'test/unit/job_invocation_test.rb'
195
- - 'test/unit/remote_execution_provider_test.rb'
196
- - 'test/unit/targeting_test.rb'
197
-
198
- # Offense count: 2
199
- Naming/AccessorMethodName:
200
- Exclude:
201
- - 'app/lib/actions/remote_execution/run_hosts_job.rb'
202
- - 'app/models/concerns/foreman_remote_execution/host_extensions.rb'
203
-
204
- # Offense count: 6
205
- # Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
206
- # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
207
- Naming/FileName:
208
- Exclude:
209
- - 'db/seeds.d/100-assign_features_with_templates.rb'
210
- - 'db/seeds.d/20-permissions.rb'
211
- - 'db/seeds.d/50-notification_blueprints.rb'
212
- - 'db/seeds.d/60-ssh_proxy_feature.rb'
213
- - 'db/seeds.d/70-job_templates.rb'
214
- - 'db/seeds.d/90-bookmarks.rb'
215
- - 'db/seeds.d/95-mail_notifications.rb'
216
-
217
- # Offense count: 1
218
- # Configuration parameters: ForbiddenDelimiters.
219
- # ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
220
- Naming/HeredocDelimiterNaming:
221
- Exclude:
222
- - 'lib/foreman_remote_execution_core/fake_script_runner.rb'
223
-
224
- # Offense count: 2
225
- # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
226
- # AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
227
- Naming/MethodParameterName:
228
- Exclude:
229
- - 'app/helpers/remote_execution_helper.rb'
230
-
231
- # Offense count: 1
232
- # Cop supports --auto-correct.
233
- # Configuration parameters: PreferredName.
234
- Naming/RescuedExceptionsVariableName:
235
- Exclude:
236
- - 'Rakefile'
237
-
238
- # Offense count: 1
239
- # Configuration parameters: MinSize.
240
- Performance/CollectionLiteralInLoop:
241
- Exclude:
242
- - 'db/seeds.d/90-bookmarks.rb'
243
-
244
- # Offense count: 11
245
- # Cop supports --auto-correct.
246
- Rails/ContentTag:
247
- Exclude:
248
- - 'app/helpers/job_invocations_helper.rb'
249
- - 'app/helpers/remote_execution_helper.rb'
250
-
251
- # Offense count: 7
252
- # Configuration parameters: Include.
253
- # Include: db/migrate/*.rb
254
- Rails/CreateTableWithTimestamps:
255
- Exclude:
256
- - 'db/migrate/20150708133241_add_targeting.rb'
257
- - 'db/migrate/20150708133242_add_invocation.rb'
258
- - 'db/migrate/20150708133305_add_template_invocation.rb'
259
- - 'db/migrate/20151124162300_create_job_template_effective_users.rb'
260
- - 'db/migrate/20160108134600_create_template_input_sets.rb'
261
- - 'db/migrate/20160118124600_create_remote_execution_features.rb'
262
-
263
- # Offense count: 1
264
- # Configuration parameters: EnforcedStyle.
265
- # SupportedStyles: strict, flexible
266
- Rails/Date:
267
- Exclude:
268
- - 'foreman_remote_execution.gemspec'
269
-
270
- # Offense count: 11
271
- # Configuration parameters: Include.
272
- # Include: app/helpers/**/*.rb
273
- Rails/HelperInstanceVariable:
274
- Exclude:
275
- - 'app/helpers/job_invocation_output_helper.rb'
276
- - 'app/helpers/job_invocations_chart_helper.rb'
277
- - 'app/helpers/remote_execution_helper.rb'
278
-
279
- # Offense count: 13
280
- # Configuration parameters: Include.
281
- # Include: app/models/**/*.rb
282
- Rails/InverseOf:
283
- Exclude:
284
- - 'app/models/concerns/foreman_remote_execution/foreman_tasks_task_extensions.rb'
285
- - 'app/models/concerns/foreman_remote_execution/foreman_tasks_triggering_extensions.rb'
286
- - 'app/models/concerns/foreman_remote_execution/host_extensions.rb'
287
- - 'app/models/concerns/foreman_remote_execution/template_extensions.rb'
288
- - 'app/models/job_invocation_task_group.rb'
289
- - 'app/models/job_template.rb'
290
- - 'app/models/template_invocation.rb'
291
-
292
- # Offense count: 1
293
- # Configuration parameters: Include.
294
- # Include: app/controllers/**/*.rb
295
- Rails/LexicallyScopedActionFilter:
296
- Exclude:
297
- - 'app/controllers/api/v2/job_invocations_controller.rb'
298
-
299
- # Offense count: 1
300
- # Cop supports --auto-correct.
301
- # Configuration parameters: Include.
302
- # Include: **/Rakefile, **/*.rake
303
- Rails/RakeEnvironment:
304
- Exclude:
305
- - 'lib/tasks/foreman_remote_execution_tasks.rake'
306
-
307
- # Offense count: 3
308
- # Cop supports --auto-correct.
309
- Rails/RedundantForeignKey:
310
- Exclude:
311
- - 'app/models/job_template.rb'
312
- - 'app/models/template_invocation.rb'
313
-
314
- # Offense count: 1
315
- Rails/ReflectionClassName:
316
- Exclude:
317
- - 'app/models/job_template.rb'
318
-
319
- # Offense count: 4
320
- # Configuration parameters: ForbiddenMethods, AllowedMethods.
321
- # ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
322
- Rails/SkipsModelValidations:
323
- Exclude:
324
- - 'app/lib/actions/middleware/bind_job_invocation.rb'
325
- - 'app/models/concerns/foreman_remote_execution/smart_proxy_extensions.rb'
326
- - 'test/unit/input_template_renderer_test.rb'
327
- - 'test/unit/job_invocation_composer_test.rb'
328
-
329
- # Offense count: 6
330
- # Cop supports --auto-correct.
331
- # Configuration parameters: EnforcedStyle.
332
- # SupportedStyles: strict, flexible
333
- Rails/TimeZone:
334
- Exclude:
335
- - 'app/models/job_invocation_composer.rb'
336
- - 'test/functional/api/v2/job_invocations_controller_test.rb'
337
- - 'test/unit/job_invocation_composer_test.rb'
338
-
339
- # Offense count: 2
340
- # Cop supports --auto-correct.
341
- Style/CaseLikeIf:
342
- Exclude:
343
- - 'app/lib/actions/remote_execution/run_host_job.rb'
344
- - 'app/models/job_invocation_composer.rb'
345
-
346
- # Offense count: 5
347
- # Cop supports --auto-correct.
348
- # Configuration parameters: EnforcedStyle.
349
- # SupportedStyles: nested, compact
350
- Style/ClassAndModuleChildren:
351
- Exclude:
352
- - 'app/controllers/foreman_remote_execution/concerns/api/v2/registration_controller_extensions.rb'
353
- - 'app/controllers/foreman_remote_execution/concerns/api/v2/subnets_controller_extensions.rb'
354
- - 'app/models/concerns/foreman_remote_execution/orchestration/ssh.rb'
355
- - 'app/models/host_status/execution_status.rb'
356
- - 'app/models/setting/remote_execution.rb'
357
-
358
- # Offense count: 3
359
- # Cop supports --auto-correct.
360
- # Configuration parameters: IgnoredMethods.
361
- # IgnoredMethods: ==, equal?, eql?
362
- Style/ClassEqualityComparison:
363
- Exclude:
364
- - 'app/helpers/job_invocations_chart_helper.rb'
365
- - 'app/helpers/remote_execution_helper.rb'
366
- - 'app/models/ssh_execution_provider.rb'
367
-
368
- # Offense count: 2
369
- # Cop supports --auto-correct.
370
- # Configuration parameters: Keywords.
371
- # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE
372
- Style/CommentAnnotation:
373
- Exclude:
374
- - 'app/models/job_invocation_composer.rb'
375
- - 'db/seeds.d/90-bookmarks.rb'
376
-
377
- # Offense count: 1
378
- # Cop supports --auto-correct.
379
- Style/Encoding:
380
- Exclude:
381
- - 'foreman_remote_execution_core.gemspec'
382
-
383
- # Offense count: 8
384
- # Cop supports --auto-correct.
385
- Style/ExpandPathArguments:
386
- Exclude:
387
- - 'Rakefile'
388
- - 'foreman_remote_execution.gemspec'
389
- - 'foreman_remote_execution_core.gemspec'
390
- - 'lib/foreman_remote_execution/engine.rb'
391
- - 'lib/foreman_remote_execution_core/polling_script_runner.rb'
392
- - 'test/benchmark/run_hosts_job_benchmark.rb'
393
- - 'test/benchmark/targeting_benchmark.rb'
394
-
395
- # Offense count: 12
396
- # Cop supports --auto-correct.
397
- # Configuration parameters: EnforcedStyle.
398
- # SupportedStyles: format, sprintf, percent
399
- Style/FormatString:
400
- Exclude:
401
- - 'app/controllers/api/v2/job_invocations_controller.rb'
402
- - 'app/controllers/job_templates_controller.rb'
403
- - 'app/helpers/job_invocations_chart_helper.rb'
404
- - 'app/lib/actions/remote_execution/run_host_job.rb'
405
- - 'app/lib/actions/remote_execution/run_hosts_job.rb'
406
- - 'app/models/job_invocation_composer.rb'
407
- - 'app/models/remote_execution_provider.rb'
408
- - 'app/models/ssh_execution_provider.rb'
409
- - 'extra/cockpit/foreman-cockpit-session'
410
-
411
- # Offense count: 61
412
- # Configuration parameters: MaxUnannotatedPlaceholdersAllowed.
413
- # SupportedStyles: annotated, template, unannotated
414
- Style/FormatStringToken:
415
- EnforcedStyle: template
416
-
417
- # Offense count: 23
418
- # Configuration parameters: MinBodyLength.
419
- Style/GuardClause:
420
- Enabled: false
421
-
422
- # Offense count: 1
423
- # Cop supports --auto-correct.
424
- Style/HashEachMethods:
425
- Exclude:
426
- - 'app/models/concerns/foreman_remote_execution/errors_flattener.rb'
427
-
428
- # Offense count: 6
429
- # Configuration parameters: AllowedMethods.
430
- # AllowedMethods: respond_to_missing?
431
- Style/OptionalBooleanParameter:
432
- Exclude:
433
- - 'app/helpers/job_invocations_chart_helper.rb'
434
- - 'app/models/concerns/foreman_remote_execution/host_extensions.rb'
435
- - 'app/models/input_template_renderer.rb'
436
- - 'app/models/job_invocation.rb'
437
- - 'app/models/job_invocation_composer.rb'
438
-
439
- # Offense count: 29
440
- # Cop supports --auto-correct.
441
- # Configuration parameters: PreferredDelimiters.
442
- Style/PercentLiteralDelimiters:
443
- Enabled: false
444
-
445
- # Offense count: 1
446
- # Cop supports --auto-correct.
447
- # Configuration parameters: AllowedCompactTypes.
448
- # SupportedStyles: compact, exploded
449
- Style/RaiseArgs:
450
- EnforcedStyle: exploded
451
-
452
- # Offense count: 1
453
- # Cop supports --auto-correct.
454
- Style/RedundantBegin:
455
- Exclude:
456
- - 'extra/cockpit/foreman-cockpit-session'
457
-
458
- # Offense count: 16
459
- # Cop supports --auto-correct.
460
- # Configuration parameters: AllowMultipleReturnValues.
461
- Style/RedundantReturn:
462
- Exclude:
463
- - 'app/helpers/remote_execution_helper.rb'
464
- - 'app/models/concerns/foreman_remote_execution/errors_flattener.rb'
465
- - 'app/models/foreign_input_set.rb'
466
- - 'app/models/host_status/execution_status.rb'
467
- - 'app/models/job_invocation.rb'
468
- - 'extra/cockpit/foreman-cockpit-session'
469
- - 'lib/foreman_remote_execution_core/polling_script_runner.rb'
470
- - 'lib/foreman_remote_execution_core/script_runner.rb'
471
- - 'test/support/remote_execution_helper.rb'
472
-
473
- # Offense count: 79
474
- # Cop supports --auto-correct.
475
- Style/RedundantSelf:
476
- Enabled: false
477
-
478
- # Offense count: 3
479
- # Cop supports --auto-correct.
480
- Style/RescueModifier:
481
- Exclude:
482
- - 'extra/cockpit/foreman-cockpit-session'
483
- - 'lib/foreman_remote_execution/engine.rb'
484
-
485
- # Offense count: 13
486
- # Cop supports --auto-correct.
487
- # Configuration parameters: EnforcedStyle.
488
- # SupportedStyles: implicit, explicit
489
- Style/RescueStandardError:
490
- Exclude:
491
- - 'Rakefile'
492
- - 'app/lib/actions/remote_execution/run_host_job.rb'
493
- - 'app/lib/proxy_api/remote_execution_ssh.rb'
494
- - 'app/models/concerns/foreman_remote_execution/orchestration/ssh.rb'
495
- - 'app/models/input_template_renderer.rb'
496
- - 'app/models/job_invocation_composer.rb'
497
- - 'lib/foreman_remote_execution_core/polling_script_runner.rb'
498
- - 'lib/foreman_remote_execution_core/script_runner.rb'
499
- - 'lib/tasks/foreman_remote_execution_tasks.rake'
500
-
501
- # Offense count: 1
502
- # Cop supports --auto-correct.
503
- # Configuration parameters: AllowModifier.
504
- Style/SoleNestedConditional:
505
- Exclude:
506
- - 'app/helpers/concerns/foreman_remote_execution/job_templates_extensions.rb'
507
-
508
- # Offense count: 3
509
- # Cop supports --auto-correct.
510
- # Configuration parameters: IgnoredMethods.
511
- # IgnoredMethods: respond_to, define_method
512
- Style/SymbolProc:
513
- Exclude:
514
- - 'app/models/concerns/foreman_remote_execution/foreman_tasks_cleaner_extensions.rb'
515
- - 'app/models/concerns/foreman_remote_execution/host_extensions.rb'
516
- - 'app/models/job_invocation_composer.rb'
data/.tx/config DELETED
@@ -1,10 +0,0 @@
1
- [main]
2
- host = https://app.transifex.com
3
-
4
- [o:foreman:p:foreman:r:foreman_remote_execution]
5
- file_filter = locale/<lang>/foreman_remote_execution.edit.po
6
- source_file = locale/foreman_remote_execution.pot
7
- source_lang = en
8
- type = PO
9
- minimum_perc = 50
10
- resource_name = foreman_remote_execution
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gemspec :name => 'foreman_remote_execution'
4
-
5
- gem 'theforeman-rubocop', '~> 0.1.1'
data/app/mailers/.gitkeep DELETED
File without changes
File without changes
@@ -1,33 +0,0 @@
1
- require File.expand_path('../lib/foreman_remote_execution/version', __FILE__)
2
- require 'date'
3
-
4
- Gem::Specification.new do |s|
5
- s.name = 'foreman_remote_execution'
6
- s.version = ForemanRemoteExecution::VERSION
7
- s.license = 'GPL-3.0'
8
- s.date = Date.today.to_s
9
- s.authors = ['Foreman Remote Execution team']
10
- s.email = ['foreman-dev@googlegroups.com']
11
- s.homepage = 'https://github.com/theforeman/foreman_remote_execution'
12
- s.summary = 'A plugin bringing remote execution to the Foreman, completing the config ' +
13
- 'management functionality with remote management functionality.'
14
- # also update locale/gemspec.rb
15
- s.description = 'A plugin bringing remote execution to the Foreman, completing the config ' +
16
- 'management functionality with remote management functionality.'
17
-
18
- s.files = `git ls-files`.split("\n").reject do |file|
19
- file.start_with?('scripts')
20
- end
21
-
22
- s.test_files = `git ls-files test`.split("\n")
23
- s.extra_rdoc_files = Dir['README*', 'LICENSE']
24
-
25
- s.required_ruby_version = '>= 2.7', '< 4'
26
-
27
- s.add_dependency 'deface'
28
- s.add_dependency 'dynflow', '>= 1.0.2', '< 2.0.0'
29
- s.add_dependency 'foreman-tasks', '>= 8.3.0'
30
-
31
- s.add_development_dependency 'factory_bot_rails', '~> 4.8.0'
32
- s.add_development_dependency 'rdoc'
33
- end
data/jsconfig.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es6",
4
- "paths": {
5
- "foremanReact/*": ["../foreman/webpack/assets/javascripts/react_app/*"]
6
- }
7
- }
8
- }
@@ -1,2 +0,0 @@
1
- # Autogenerated!
2
- _("Remote action:")
@@ -1,70 +0,0 @@
1
- require 'benchmark/benchmark_helper'
2
- require 'dynflow/testing'
3
-
4
- # Add plugin to FactoryBot's paths
5
- FactoryBot.definition_file_paths << File.expand_path('../../factories', __FILE__)
6
- FactoryBot.definition_file_paths << "#{ForemanTasks::Engine.root}/test/factories"
7
- FactoryBot.reload
8
-
9
- module Actions
10
- module RemoteExecution
11
- class RunHostsJob < Actions::ActionWithSubPlans
12
- # stub function that calls other actions.
13
- def trigger(*args)
14
- nil
15
- end
16
- end
17
- end
18
- end
19
-
20
- module Support
21
- class DummyDynflowAction < Dynflow::Action
22
- end
23
- end
24
-
25
- def generate_hosts(total)
26
- FactoryBot.create_list(:host, total, :comment => "benchmark-#{Foreman.uuid}")
27
- end
28
-
29
- Rails.logger.level = Logger::ERROR
30
-
31
- class ActionTester
32
- include Dynflow::Testing::Factories
33
-
34
- def initialize(task)
35
- @task = task
36
- end
37
-
38
- def run_action(*args)
39
- action = create_action(Actions::RemoteExecution::RunHostsJob)
40
- @task.update(:external_id => action.execution_plan_id)
41
- plan_action(action, *args)
42
- end
43
- end
44
-
45
- puts 'generating admin user'
46
- admin = FactoryBot.build(:user, :admin)
47
- admin.save(:validate => false)
48
- User.current = admin
49
- targeting = FactoryBot.create(:targeting, :search_query => "comment = benchmark-#{Foreman.uuid}", :user => User.current)
50
- template_invocation = FactoryBot.build(:template_invocation, :job_invocation => nil)
51
- job_invocation = FactoryBot.build(:job_invocation, :targeting => targeting, :pattern_template_invocations => [template_invocation]).tap do |invocation|
52
- invocation.targeting = targeting
53
- invocation.save
54
- end
55
-
56
- task = FactoryBot.create(:dynflow_task, :external_id => '1')
57
- tester = ActionTester.new(task)
58
-
59
- puts 'generating hosts'
60
- generate_hosts(1000)
61
- puts 'starting benchmarking'
62
- foreman_benchmark do
63
- Benchmark.ips do |x|
64
- x.config(:time => 10, :warmup => 0)
65
-
66
- x.report('rex-run-hosts-job') do
67
- tester.run_action(job_invocation)
68
- end
69
- end
70
- end
@@ -1,31 +0,0 @@
1
- require 'benchmark/benchmark_helper'
2
- require 'dynflow/testing'
3
-
4
- # Add plugin to FactoryBot's paths
5
- FactoryBot.definition_file_paths << File.expand_path('../../factories', __FILE__)
6
- FactoryBot.reload
7
-
8
- def generate_hosts(total)
9
- FactoryBot.create_list(:host, total, :comment => "benchmark-#{Foreman.uuid}")
10
- end
11
-
12
- Rails.logger.level = Logger::ERROR
13
-
14
- puts 'generating hosts'
15
- generate_hosts(1000)
16
- puts 'generating admin user'
17
- admin = FactoryBot.build(:user, :admin)
18
- admin.save(:validate => false)
19
- User.current = admin
20
-
21
- puts 'starting benchmarking'
22
- foreman_benchmark do
23
- Benchmark.ips do |x|
24
- x.config(:time => 10, :warmup => 0)
25
-
26
- x.report('rex-targeting-resolve-hosts') do
27
- targeting = FactoryBot.create(:targeting, :search_query => "comment = benchmark-#{Foreman.uuid}", :user => User.current)
28
- targeting.resolve_hosts!
29
- end
30
- end
31
- end