foreman_remote_execution 12.0.1 → 12.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/concerns/foreman_remote_execution/job_templates_extensions.rb +1 -1
- data/app/helpers/remote_execution_helper.rb +4 -5
- data/app/models/job_invocation.rb +5 -0
- data/app/views/job_invocations/new.html.erb +2 -2
- data/app/views/job_invocations/welcome.html.erb +1 -1
- data/lib/foreman_remote_execution/engine.rb +6 -2
- data/lib/foreman_remote_execution/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d9ecaf9a67e402868291ed6ecf2d064cfa091bf2a5a3eaf2ec8e160f8e7ede5
|
4
|
+
data.tar.gz: 35186e50675ac5b48624a5cfd22d2a2617c8adac7bd2b2a547313acdea0eec29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33850b7431db3f15ba1168fe448eee84d9feb91b8f15d1239f6270513bcc59027a08e6600e9953705a70f05f631b70083f3cc097bce86cde721acfa33be47889
|
7
|
+
data.tar.gz: a83abe1d5a040bd019a8649db4318633bdc24a7dbb690a676ff707ba62f6356e9df4559bf2be84a36c472d54948b97c46bd6ee6691fc854d29f427d88472d0fa
|
@@ -4,7 +4,7 @@ module ForemanRemoteExecution
|
|
4
4
|
original = super(template)
|
5
5
|
|
6
6
|
if template.is_a?(JobTemplate)
|
7
|
-
original.unshift(
|
7
|
+
original.unshift(authorized_for(controller: :job_invocations, action: :create) ? link_to(_('Run'), hash_for_new_job_invocation_path(:template_id => template.id).merge(:authorizer => authorizer)) : nil) unless template.snippet
|
8
8
|
end
|
9
9
|
|
10
10
|
original
|
@@ -33,8 +33,7 @@ module RemoteExecutionHelper
|
|
33
33
|
links << { title: _('Host detail'),
|
34
34
|
action: { href: current_host_details_path(host), 'data-method': 'get', id: "#{host.name}-actions-detail" } }
|
35
35
|
end
|
36
|
-
|
37
|
-
if authorized_for(hash_for_rerun_job_invocation_path(id: job_invocation, host_ids: [ host.id ], authorizer: job_hosts_authorizer))
|
36
|
+
if authorized_for(controller: :job_invocations, action: :create) && (!host.infrastructure_host? || User.current.can?(:execute_jobs_on_infrastructure_hosts))
|
38
37
|
links << { title: (_('Rerun on %s') % host.name),
|
39
38
|
action: { href: rerun_job_invocation_path(job_invocation, host_ids: [ host.id ]),
|
40
39
|
'data-method': 'get', id: "#{host.name}-actions-rerun" } }
|
@@ -56,7 +55,7 @@ module RemoteExecutionHelper
|
|
56
55
|
def job_invocations_buttons
|
57
56
|
[
|
58
57
|
documentation_button_rex('3.2ExecutingaJob'),
|
59
|
-
|
58
|
+
authorized_for(controller: :job_invocations, action: :create) ? link_to(_('Run Job'), hash_for_new_job_invocation_path, {:class => "btn btn-primary"}) : '',
|
60
59
|
]
|
61
60
|
end
|
62
61
|
|
@@ -70,12 +69,12 @@ module RemoteExecutionHelper
|
|
70
69
|
title: _('Create report for this job'),
|
71
70
|
disabled: task.pending?)
|
72
71
|
end
|
73
|
-
if authorized_for(
|
72
|
+
if authorized_for(controller: :job_invocations, action: :create)
|
74
73
|
buttons << link_to(_('Rerun'), rerun_job_invocation_path(:id => job_invocation.id),
|
75
74
|
:class => 'btn btn-default',
|
76
75
|
:title => _('Rerun the job'))
|
77
76
|
end
|
78
|
-
if authorized_for(
|
77
|
+
if authorized_for(controller: :job_invocations, action: :create)
|
79
78
|
buttons << link_to(_('Rerun failed'), rerun_job_invocation_path(:id => job_invocation.id, :failed_only => 1),
|
80
79
|
:class => 'btn btn-default',
|
81
80
|
:disabled => job_invocation.failed_hosts.none?,
|
@@ -77,6 +77,11 @@ class JobInvocation < ApplicationRecord
|
|
77
77
|
:ext_method => :search_by_recurring_logic, :only_explicit => true,
|
78
78
|
:complete_value => { :true => true, :false => false }
|
79
79
|
|
80
|
+
validates :concurrency_level, :numericality => {
|
81
|
+
:allow_nil => true,
|
82
|
+
:greater_than => 0,
|
83
|
+
}
|
84
|
+
|
80
85
|
default_scope -> { order('job_invocations.id DESC') }
|
81
86
|
|
82
87
|
scope :latest_jobs, -> { unscoped.joins(:task).order('foreman_tasks_tasks.start_at DESC').authorized(:view_job_invocations).limit(5) }
|
@@ -2,8 +2,8 @@
|
|
2
2
|
<% stylesheet 'foreman_remote_execution/foreman_remote_execution' %>
|
3
3
|
<% title _('Job invocation') %>
|
4
4
|
<% if(request.path_parameters[:action] == "rerun") %>
|
5
|
-
<%=
|
5
|
+
<%= authorized_for(controller: :job_invocations, action: :create) ? link_to(_('Use new job wizard'), hash_for_rerun_job_invocation_path({:id => request.path_parameters[:id]}).merge(request.query_parameters)) : nil %>
|
6
6
|
<% else %>
|
7
|
-
<%=
|
7
|
+
<%= authorized_for(controller: :job_invocations, action: :create) ? link_to(_('Use new job wizard'), hash_for_new_job_invocation_path().merge(request.query_parameters)) : nil %>
|
8
8
|
<%end%>
|
9
9
|
<%= render :partial => 'form' %>
|
@@ -9,6 +9,6 @@
|
|
9
9
|
<p><%= link_to _('Learn more about this in the documentation.'),
|
10
10
|
documentation_url('1.ForemanRemoteExecution1.3Manual', :root_url => 'https://www.theforeman.org/plugins/foreman_remote_execution/1.3/index.html#'), :rel => 'external' %></p>
|
11
11
|
<div class="blank-slate-pf-main-action">
|
12
|
-
<%=
|
12
|
+
<%= authorized_for(controller: :job_invocations, action: :create) ? link_to(_("Run Job"), { :action => :create }, { :class => "btn btn-primary btn-lg" }) : nil %>
|
13
13
|
</div>
|
14
14
|
</div>
|
@@ -177,8 +177,11 @@ module ForemanRemoteExecution
|
|
177
177
|
:'api/v2/job_templates' => [:update],
|
178
178
|
:'api/v2/template_inputs' => [:create, :update, :destroy],
|
179
179
|
:'api/v2/foreign_input_sets' => [:create, :update, :destroy]}, :resource_type => 'JobTemplate'
|
180
|
-
permission :
|
181
|
-
:'api/v2/remote_execution_features' => [:index, :show, :
|
180
|
+
permission :view_remote_execution_features, { :remote_execution_features => [:index, :show],
|
181
|
+
:'api/v2/remote_execution_features' => [:index, :show, :available_remote_execution_features]},
|
182
|
+
:resource_type => 'RemoteExecutionFeature'
|
183
|
+
permission :edit_remote_execution_features, { :remote_execution_features => [:update],
|
184
|
+
:'api/v2/remote_execution_features' => [:update ]}, :resource_type => 'RemoteExecutionFeature'
|
182
185
|
permission :destroy_job_templates, { :job_templates => [:destroy],
|
183
186
|
:'api/v2/job_templates' => [:destroy] }, :resource_type => 'JobTemplate'
|
184
187
|
permission :lock_job_templates, { :job_templates => [:lock, :unlock] }, :resource_type => 'JobTemplate'
|
@@ -204,6 +207,7 @@ module ForemanRemoteExecution
|
|
204
207
|
:create_template_invocations,
|
205
208
|
:view_hosts,
|
206
209
|
:view_smart_proxies,
|
210
|
+
:view_remote_execution_features,
|
207
211
|
].freeze
|
208
212
|
MANAGER_PERMISSIONS = USER_PERMISSIONS + [
|
209
213
|
:cancel_job_invocations,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_remote_execution
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 12.0.
|
4
|
+
version: 12.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Foreman Remote Execution team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deface
|
@@ -575,7 +575,7 @@ homepage: https://github.com/theforeman/foreman_remote_execution
|
|
575
575
|
licenses:
|
576
576
|
- GPL-3.0
|
577
577
|
metadata: {}
|
578
|
-
post_install_message:
|
578
|
+
post_install_message:
|
579
579
|
rdoc_options: []
|
580
580
|
require_paths:
|
581
581
|
- lib
|
@@ -593,8 +593,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
593
593
|
- !ruby/object:Gem::Version
|
594
594
|
version: '0'
|
595
595
|
requirements: []
|
596
|
-
rubygems_version: 3.
|
597
|
-
signing_key:
|
596
|
+
rubygems_version: 3.3.26
|
597
|
+
signing_key:
|
598
598
|
specification_version: 4
|
599
599
|
summary: A plugin bringing remote execution to the Foreman, completing the config
|
600
600
|
management functionality with remote management functionality.
|