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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/foreman_remote_execution/locale/de/foreman_remote_execution.js +77 -77
- data/app/assets/javascripts/foreman_remote_execution/locale/en/foreman_remote_execution.js +2 -1667
- data/app/assets/javascripts/foreman_remote_execution/locale/en_GB/foreman_remote_execution.js +7 -7
- data/app/assets/javascripts/foreman_remote_execution/locale/es/foreman_remote_execution.js +33 -33
- data/app/assets/javascripts/foreman_remote_execution/locale/fr/foreman_remote_execution.js +131 -131
- data/app/assets/javascripts/foreman_remote_execution/locale/ja/foreman_remote_execution.js +131 -131
- data/app/assets/javascripts/foreman_remote_execution/locale/ka/foreman_remote_execution.js +38 -38
- data/app/assets/javascripts/foreman_remote_execution/locale/ko/foreman_remote_execution.js +16 -16
- data/app/assets/javascripts/foreman_remote_execution/locale/pt_BR/foreman_remote_execution.js +33 -33
- data/app/assets/javascripts/foreman_remote_execution/locale/ru/foreman_remote_execution.js +7 -7
- data/app/assets/javascripts/foreman_remote_execution/locale/zh_CN/foreman_remote_execution.js +134 -134
- data/app/assets/javascripts/foreman_remote_execution/locale/zh_TW/foreman_remote_execution.js +6 -6
- data/app/controllers/api/v2/job_invocations_controller.rb +34 -17
- data/app/helpers/job_invocations_helper.rb +1 -1
- data/app/helpers/remote_execution_helper.rb +2 -2
- data/app/lib/actions/remote_execution/proxy_action.rb +10 -5
- data/app/lib/actions/remote_execution/run_host_job.rb +1 -1
- data/app/lib/actions/remote_execution/template_invocation_progress_logging.rb +2 -3
- data/app/models/concerns/foreman_remote_execution/errors_flattener.rb +2 -2
- data/app/views/api/v2/job_invocations/hosts.json.rabl +15 -0
- data/app/views/template_invocations/show.html.erb +1 -1
- data/app/views/templates/script/package_action.erb +1 -1
- data/config/routes.rb +1 -0
- data/db/migrate/20240312133027_extend_template_invocation_events.rb +19 -0
- data/db/migrate/20240522093413_migrate_smart_proxy_ids_to_template_invocations.rb +3 -0
- data/lib/foreman_remote_execution/engine.rb +0 -4
- data/lib/foreman_remote_execution/version.rb +1 -1
- data/locale/Makefile +12 -2
- data/locale/de/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/de/foreman_remote_execution.po +81 -80
- data/locale/en/foreman_remote_execution.po +0 -1675
- data/locale/en_GB/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/en_GB/foreman_remote_execution.po +7 -7
- data/locale/es/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/es/foreman_remote_execution.po +33 -33
- data/locale/fr/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/fr/foreman_remote_execution.po +132 -132
- data/locale/ja/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ja/foreman_remote_execution.po +131 -131
- data/locale/ka/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ka/foreman_remote_execution.po +38 -38
- data/locale/ko/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ko/foreman_remote_execution.po +16 -16
- data/locale/pt_BR/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/pt_BR/foreman_remote_execution.po +33 -33
- data/locale/ru/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/ru/foreman_remote_execution.po +7 -7
- data/locale/zh_CN/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/zh_CN/foreman_remote_execution.po +136 -134
- data/locale/zh_TW/LC_MESSAGES/foreman_remote_execution.mo +0 -0
- data/locale/zh_TW/foreman_remote_execution.po +6 -6
- data/webpack/JobInvocationDetail/JobInvocationActions.js +1 -1
- data/webpack/JobInvocationDetail/JobInvocationConstants.js +84 -0
- data/webpack/JobInvocationDetail/JobInvocationDetail.scss +0 -1
- data/webpack/JobInvocationDetail/JobInvocationHostTable.js +210 -0
- data/webpack/JobInvocationDetail/JobInvocationSelectors.js +2 -2
- data/webpack/JobInvocationDetail/__tests__/MainInformation.test.js +5 -1
- data/webpack/JobInvocationDetail/__tests__/fixtures.js +9 -0
- data/webpack/JobInvocationDetail/index.js +56 -34
- data/webpack/__mocks__/foremanReact/components/HostDetails/DetailsCard/DefaultLoaderEmptyState.js +1 -2
- data/webpack/react_app/components/RecentJobsCard/JobStatusIcon.js +38 -7
- data/webpack/react_app/components/RecentJobsCard/constants.js +4 -0
- data/webpack/react_app/components/TargetingHosts/__tests__/__snapshots__/HostStatus.test.js.snap +1 -1
- data/webpack/react_app/components/TargetingHosts/components/HostStatus.js +6 -6
- metadata +6 -95
- data/.babelrc.js +0 -3
- data/.eslintignore +0 -3
- data/.eslintrc +0 -13
- data/.github/workflows/js_ci.yml +0 -32
- data/.github/workflows/release.yml +0 -16
- data/.github/workflows/ruby_ci.yml +0 -19
- data/.gitignore +0 -18
- data/.packit.yaml +0 -45
- data/.prettierrc +0 -4
- data/.rubocop.yml +0 -105
- data/.rubocop_todo.yml +0 -516
- data/.tx/config +0 -10
- data/Gemfile +0 -5
- data/app/mailers/.gitkeep +0 -0
- data/app/views/dashboard/.gitkeep +0 -0
- data/foreman_remote_execution.gemspec +0 -33
- data/jsconfig.json +0 -8
- data/locale/action_names.rb +0 -2
- data/test/benchmark/run_hosts_job_benchmark.rb +0 -70
- data/test/benchmark/targeting_benchmark.rb +0 -31
- data/test/factories/foreman_remote_execution_factories.rb +0 -147
- data/test/functional/api/v2/foreign_input_sets_controller_test.rb +0 -58
- data/test/functional/api/v2/job_invocations_controller_test.rb +0 -446
- data/test/functional/api/v2/job_templates_controller_test.rb +0 -110
- data/test/functional/api/v2/registration_controller_test.rb +0 -73
- data/test/functional/api/v2/remote_execution_features_controller_test.rb +0 -34
- data/test/functional/api/v2/template_invocations_controller_test.rb +0 -33
- data/test/functional/cockpit_controller_test.rb +0 -16
- data/test/functional/job_invocations_controller_test.rb +0 -132
- data/test/functional/job_templates_controller_test.rb +0 -31
- data/test/functional/ui_job_wizard_controller_test.rb +0 -16
- data/test/graphql/mutations/job_invocations/create_test.rb +0 -58
- data/test/graphql/queries/job_invocation_query_test.rb +0 -31
- data/test/graphql/queries/job_invocations_query_test.rb +0 -35
- data/test/helpers/remote_execution_helper_test.rb +0 -46
- data/test/support/remote_execution_helper.rb +0 -5
- data/test/test_plugin_helper.rb +0 -9
- data/test/unit/actions/run_host_job_test.rb +0 -115
- data/test/unit/actions/run_hosts_job_test.rb +0 -214
- data/test/unit/api_params_test.rb +0 -25
- data/test/unit/concerns/foreman_tasks_cleaner_extensions_test.rb +0 -29
- data/test/unit/concerns/host_extensions_test.rb +0 -219
- data/test/unit/concerns/nic_extensions_test.rb +0 -9
- data/test/unit/execution_task_status_mapper_test.rb +0 -92
- data/test/unit/input_template_renderer_test.rb +0 -503
- data/test/unit/job_invocation_composer_test.rb +0 -974
- data/test/unit/job_invocation_report_template_test.rb +0 -60
- data/test/unit/job_invocation_test.rb +0 -232
- data/test/unit/job_template_effective_user_test.rb +0 -37
- data/test/unit/job_template_test.rb +0 -316
- data/test/unit/remote_execution_feature_test.rb +0 -86
- data/test/unit/remote_execution_provider_test.rb +0 -298
- data/test/unit/renderer_scope_input_test.rb +0 -49
- data/test/unit/targeting_test.rb +0 -206
- 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
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
data/locale/action_names.rb
DELETED
@@ -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
|