foreman-tasks 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +41 -0
- data/app/controllers/foreman_tasks/api/recurring_logics_controller.rb +1 -1
- data/app/controllers/foreman_tasks/api/tasks_controller.rb +1 -1
- data/app/helpers/foreman_tasks/foreman_tasks_helper.rb +4 -3
- data/app/lib/actions/proxy_action.rb +1 -1
- data/app/models/foreman_tasks/recurring_logic.rb +3 -3
- data/app/models/foreman_tasks/task.rb +1 -1
- data/app/models/foreman_tasks/task/summarizer.rb +1 -1
- data/app/models/foreman_tasks/triggering.rb +1 -1
- data/app/services/foreman_tasks/proxy_selector.rb +1 -1
- data/app/views/foreman_tasks/tasks/show.html.erb +5 -2
- data/bin/dynflow-executor +13 -13
- data/foreman-tasks.gemspec +5 -5
- data/lib/foreman_tasks/dynflow/configuration.rb +1 -1
- data/lib/foreman_tasks/dynflow/console_authorizer.rb +1 -1
- data/lib/foreman_tasks/dynflow/daemon.rb +1 -1
- data/lib/foreman_tasks/dynflow/persistence.rb +1 -1
- data/lib/foreman_tasks/engine.rb +2 -2
- data/lib/foreman_tasks/tasks/cleanup.rake +13 -13
- data/lib/foreman_tasks/tasks/export_tasks.rake +13 -13
- data/lib/foreman_tasks/version.rb +1 -1
- data/locale/en/foreman_tasks.po +3 -0
- data/locale/foreman_tasks.pot +48 -44
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d31cadc48f84c4f4caad24b0ad802d57aaf46f25
|
4
|
+
data.tar.gz: f35037cdaadcdba4a71356606bf850c2e1114e79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c2b7ef02e4954ceb8d2e52694745bf51648665fe47ff43336c5544d8af786ac75ab39b86cf513ad906fb182f5387b553eb7fa3400fdfd32361080eae3afa9d4
|
7
|
+
data.tar.gz: d4c9c8641b39bd7b60e1dcf68d40d74cbd3be262ef29312f3182db3136c2590e60b70d3c48f21f7c0310ba6ceffb0c9e7e9598e87de952de8607ae9490a6ec99
|
data/.rubocop.yml
CHANGED
@@ -33,3 +33,44 @@ Style/StringLiterals:
|
|
33
33
|
# Don't enforce frozen string literals
|
34
34
|
Style/FrozenStringLiteralComment:
|
35
35
|
Enabled: false
|
36
|
+
|
37
|
+
Style/FormatStringToken:
|
38
|
+
EnforcedStyle: template
|
39
|
+
|
40
|
+
Rails/SkipsModelValidations:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
Style/SymbolArray:
|
44
|
+
Enabled: false
|
45
|
+
|
46
|
+
# for compatibility with Foreman 1.15
|
47
|
+
Rails/ApplicationRecord:
|
48
|
+
Enabled: false
|
49
|
+
|
50
|
+
Style/FormatString:
|
51
|
+
Enabled: false
|
52
|
+
|
53
|
+
Rails/Present:
|
54
|
+
Exclude:
|
55
|
+
- lib/foreman_tasks_core/**/*
|
56
|
+
|
57
|
+
Rails/FilePath:
|
58
|
+
Enabled: false
|
59
|
+
|
60
|
+
Rails/ReversibleMigration:
|
61
|
+
Enabled: false
|
62
|
+
|
63
|
+
Metrics/BlockLength:
|
64
|
+
Exclude:
|
65
|
+
- lib/foreman_tasks/tasks/**/*
|
66
|
+
|
67
|
+
Style/FileName:
|
68
|
+
Exclude:
|
69
|
+
- '*.gemspec'
|
70
|
+
- Gemfile
|
71
|
+
- db/seeds.d/*
|
72
|
+
- lib/foreman-tasks.rb
|
73
|
+
|
74
|
+
Layout/IndentHeredoc:
|
75
|
+
Exclude:
|
76
|
+
- '*.gemspec'
|
@@ -9,7 +9,7 @@ module ForemanTasks
|
|
9
9
|
api_base_url '/foreman_tasks/api'
|
10
10
|
end
|
11
11
|
|
12
|
-
before_action :find_resource, :only => %w
|
12
|
+
before_action :find_resource, :only => %w[show cancel destroy]
|
13
13
|
|
14
14
|
api :GET, '/recurring_logics', N_('List recurring logics')
|
15
15
|
def index
|
@@ -33,7 +33,7 @@ module ForemanTasks
|
|
33
33
|
Arbitraty value for client to identify the the request parts with results.
|
34
34
|
It's passed in the results to be able to pair the requests and responses properly.
|
35
35
|
DESC
|
36
|
-
param :type, %w
|
36
|
+
param :type, %w[user resource task]
|
37
37
|
param :task_id, String, :desc => <<-DESC
|
38
38
|
In case :type = 'task', find the task by the uuid
|
39
39
|
DESC
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
module ForemanTasks
|
3
4
|
module ForemanTasksHelper
|
4
5
|
def recurring_logic_state(recurring_logic)
|
@@ -53,13 +54,13 @@ module ForemanTasks
|
|
53
54
|
def recurring_logic_action_buttons(recurring_logic)
|
54
55
|
buttons = []
|
55
56
|
if authorized_for(:permission => :edit_recurring_logics, :auth_object => recurring_logic)
|
56
|
-
buttons << link_to(N_('Cancel'), cancel_foreman_tasks_recurring_logic_path(recurring_logic), :method => :post, :class => 'btn btn-danger') unless %w
|
57
|
+
buttons << link_to(N_('Cancel'), cancel_foreman_tasks_recurring_logic_path(recurring_logic), :method => :post, :class => 'btn btn-danger') unless %w[cancelled finished].include? recurring_logic.state
|
57
58
|
end
|
58
59
|
button_group buttons
|
59
60
|
end
|
60
61
|
|
61
62
|
def recurring_logic_next_occurrence(recurring_logic)
|
62
|
-
if %w
|
63
|
+
if %w[finished cancelled].include? recurring_logic.state
|
63
64
|
'-'
|
64
65
|
else
|
65
66
|
recurring_logic.next_occurrence_time
|
@@ -124,7 +125,7 @@ module ForemanTasks
|
|
124
125
|
|
125
126
|
def recurring_mode_fieldset(f, triggering)
|
126
127
|
tags = []
|
127
|
-
tags << selectable_f(f, :input_type, %w
|
128
|
+
tags << selectable_f(f, :input_type, %w[cronline monthly weekly daily hourly], {}, :label => _('Repeats'), :id => 'input_type_selector')
|
128
129
|
tags += [
|
129
130
|
cronline_fieldset(f, triggering),
|
130
131
|
monthly_fieldset(f, triggering),
|
@@ -54,7 +54,7 @@ module Actions
|
|
54
54
|
def check_task_status
|
55
55
|
if output[:proxy_task_id]
|
56
56
|
response = proxy.status_of_task(output[:proxy_task_id])
|
57
|
-
if %w
|
57
|
+
if %w[stopped paused].include? response['state']
|
58
58
|
if response['result'] == 'error'
|
59
59
|
raise ::Foreman::Exception, _('The smart proxy task %s failed.') % output[:proxy_task_id]
|
60
60
|
else
|
@@ -24,7 +24,7 @@ module ForemanTasks
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.allowed_states
|
27
|
-
%w
|
27
|
+
%w[active finished cancelled failed]
|
28
28
|
end
|
29
29
|
|
30
30
|
def start(action_class, *args)
|
@@ -122,8 +122,8 @@ module ForemanTasks
|
|
122
122
|
::ForemanTasks::RecurringLogic.assemble_cronline(cronline_hash(triggering.input_type, triggering.time, triggering.days_of_week))
|
123
123
|
end
|
124
124
|
::ForemanTasks::RecurringLogic.new_from_cronline(cronline).tap do |manager|
|
125
|
-
manager.end_time = triggering.end_time
|
126
|
-
manager.max_iteration = triggering.max_iteration
|
125
|
+
manager.end_time = triggering.end_time if triggering.end_time_limited.present?
|
126
|
+
manager.max_iteration = triggering.max_iteration if triggering.max_iteration.present?
|
127
127
|
manager.triggering = triggering
|
128
128
|
end
|
129
129
|
end
|
@@ -172,7 +172,7 @@ module ForemanTasks
|
|
172
172
|
end
|
173
173
|
|
174
174
|
def sub_tasks_counts
|
175
|
-
result = %w
|
175
|
+
result = %w[cancelled error pending success warning].inject({}) do |hash, state|
|
176
176
|
hash.update(state => 0)
|
177
177
|
end
|
178
178
|
result.update sub_tasks.group(:result).count
|
@@ -7,7 +7,7 @@ module ForemanTasks
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def latest_tasks_in_errors_warning(limit = 5)
|
10
|
-
::ForemanTasks::Task.where('result in (?)', %w
|
10
|
+
::ForemanTasks::Task.where('result in (?)', %w[error warning]).order('started_at DESC').limit(limit)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -96,7 +96,7 @@ module ForemanTasks
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def parse_start_before!
|
99
|
-
self.start_before ||= Time.zone.parse(start_before_raw)
|
99
|
+
self.start_before ||= Time.zone.parse(start_before_raw) if start_before_raw.present?
|
100
100
|
end
|
101
101
|
|
102
102
|
private
|
@@ -4,10 +4,11 @@
|
|
4
4
|
if (typeof taskProgressReloader === 'undefined') {
|
5
5
|
var taskProgressReloader = {
|
6
6
|
timeoutId: null,
|
7
|
+
formId: null,
|
7
8
|
reload: function () {
|
8
9
|
// we need different reload mechanism for two-pane and non-two-pane
|
9
10
|
if (typeof currentTwoPaneTask !== 'undefined') {
|
10
|
-
if($('.two-pane-right').length) {
|
11
|
+
if($('.two-pane-right').length && $('form#' + taskProgressReloader.formId).length) {
|
11
12
|
taskProgressReloader.timeoutId = null;
|
12
13
|
two_pane_open(currentTwoPaneTask);
|
13
14
|
} else {
|
@@ -19,10 +20,11 @@
|
|
19
20
|
},
|
20
21
|
|
21
22
|
start: function () {
|
23
|
+
var button = $('.reload-button');
|
22
24
|
if (!taskProgressReloader.timeoutId) {
|
23
25
|
taskProgressReloader.timeoutId = setTimeout(this.reload, 5000);
|
26
|
+
taskProgressReloader.formId = $(button).closest('form')[0].id;
|
24
27
|
}
|
25
|
-
var button = $('.reload-button');
|
26
28
|
button.html('<span class="glyphicon glyphicon-refresh spin"></span> <%= _('Stop auto-reloading') %>');
|
27
29
|
button.show();
|
28
30
|
},
|
@@ -32,6 +34,7 @@
|
|
32
34
|
clearTimeout(taskProgressReloader.timeoutId);
|
33
35
|
}
|
34
36
|
taskProgressReloader.timeoutId = null;
|
37
|
+
taskProgressReloader.formId = null;
|
35
38
|
var button = $('.reload-button');
|
36
39
|
button.html('<span class="glyphicon glyphicon-refresh"></span> <%= _('Start auto-reloading') %>');
|
37
40
|
button.show();
|
data/bin/dynflow-executor
CHANGED
@@ -37,23 +37,23 @@ class ArgvParser
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def banner(file)
|
40
|
-
banner = <<BANNER
|
41
|
-
Run Dynflow executor for Foreman tasks.
|
40
|
+
banner = <<BANNER.strip_heredoc
|
41
|
+
Run Dynflow executor for Foreman tasks.
|
42
42
|
|
43
|
-
Usage: #{File.basename(file)} [options] ACTION"
|
43
|
+
Usage: #{File.basename(file)} [options] ACTION"
|
44
44
|
|
45
|
-
ACTION can be one of:
|
45
|
+
ACTION can be one of:
|
46
46
|
|
47
|
-
* start - start the executor on background. It creates these files
|
48
|
-
|
47
|
+
* start - start the executor on background. It creates these files
|
48
|
+
in tmp/pid directory:
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
* stop - stops the running executor
|
55
|
-
* restart - restarts the running executor
|
56
|
-
* run - run the executor in foreground
|
50
|
+
* dynflow_executor_monitor.pid - pid of monitor ensuring
|
51
|
+
the executor keeps running
|
52
|
+
* dynflow_executor.pid - pid of the executor itself
|
53
|
+
* dynflow_executor.output - stdout of the executor
|
54
|
+
* stop - stops the running executor
|
55
|
+
* restart - restarts the running executor
|
56
|
+
* run - run the executor in foreground
|
57
57
|
|
58
58
|
BANNER
|
59
59
|
banner
|
data/foreman-tasks.gemspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
|
2
|
+
$LOAD_PATH.push File.expand_path("../lib", __FILE__)
|
3
3
|
|
4
4
|
# Maintain your gem's version:
|
5
5
|
require "foreman_tasks/version"
|
@@ -12,17 +12,17 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.email = ["inecas@redhat.com"]
|
13
13
|
s.homepage = "https://github.com/theforeman/foreman-tasks"
|
14
14
|
s.summary = "Foreman plugin for showing tasks information for resoruces and users"
|
15
|
-
s.description =
|
15
|
+
s.description = <<-DESC
|
16
16
|
The goal of this plugin is to unify the way of showing task statuses across the Foreman instance.
|
17
17
|
It defines Task model for keeping the information about the tasks and Lock for assigning the tasks
|
18
18
|
to resources. The locking allows dealing with preventing multiple colliding tasks to be run on the
|
19
19
|
same resource. It also optionally provides Dynflow infrastructure for using it for managing the tasks.
|
20
|
-
DESC
|
20
|
+
DESC
|
21
21
|
|
22
22
|
s.files = `git ls-files`.split("\n").reject do |file|
|
23
23
|
file.end_with?("test.rake") ||
|
24
|
-
|
25
|
-
|
24
|
+
file.start_with?('lib/foreman_tasks_core') ||
|
25
|
+
file == 'foreman-tasks-core.gemspec'
|
26
26
|
end
|
27
27
|
|
28
28
|
s.test_files = `git ls-files test`.split("\n")
|
@@ -33,7 +33,7 @@ module ForemanTasks
|
|
33
33
|
self.transaction_adapter = ::Dynflow::TransactionAdapters::ActiveRecord.new
|
34
34
|
self.eager_load_paths = []
|
35
35
|
self.lazy_initialization = !Rails.env.production?
|
36
|
-
self.rake_tasks_with_executor = %w
|
36
|
+
self.rake_tasks_with_executor = %w[db:migrate db:seed]
|
37
37
|
|
38
38
|
@on_init = []
|
39
39
|
end
|
@@ -5,7 +5,7 @@ module ForemanTasks
|
|
5
5
|
@rack_request = Rack::Request.new(env)
|
6
6
|
@user_id = @rack_request.session[:user]
|
7
7
|
@expires_at = @rack_request.session[:expires_at]
|
8
|
-
@user = User.where(:id => @user_id).first unless session_expired?
|
8
|
+
@user = User.unscoped.where(:id => @user_id).first unless session_expired?
|
9
9
|
end
|
10
10
|
|
11
11
|
def allow?
|
@@ -57,7 +57,7 @@ module ForemanTasks
|
|
57
57
|
raise "You need to add gem 'daemons' to your Gemfile if you wish to use it."
|
58
58
|
end
|
59
59
|
|
60
|
-
unless %w
|
60
|
+
unless %w[start stop restart run].include?(command)
|
61
61
|
raise "Command exptected to be 'start', 'stop', 'restart', 'run', was #{command.inspect}"
|
62
62
|
end
|
63
63
|
|
@@ -35,7 +35,7 @@ module ForemanTasks
|
|
35
35
|
when :planning
|
36
36
|
task = ::ForemanTasks::Task::DynflowTask.where(:external_id => execution_plan_id).first
|
37
37
|
task.update_from_dynflow(data)
|
38
|
-
Lock.owner!(::User.current, task.id) if ::User.current
|
38
|
+
Lock.owner!(::User.current, task.id) if ::User.current && ::User.current.id.present?
|
39
39
|
else
|
40
40
|
if (task = ::ForemanTasks::Task::DynflowTask.where(:external_id => execution_plan_id).first)
|
41
41
|
unless task.state.to_s == data[:state].to_s
|
data/lib/foreman_tasks/engine.rb
CHANGED
@@ -98,7 +98,7 @@ module ForemanTasks
|
|
98
98
|
end
|
99
99
|
|
100
100
|
initializer 'foreman_tasks.register_paths' do |_app|
|
101
|
-
ForemanTasks.dynflow.config.eager_load_paths.concat(%W
|
101
|
+
ForemanTasks.dynflow.config.eager_load_paths.concat(%W[#{ForemanTasks::Engine.root}/app/lib/actions])
|
102
102
|
end
|
103
103
|
|
104
104
|
initializer 'foreman_tasks.test_exceptions' do |_app|
|
@@ -159,7 +159,7 @@ module ForemanTasks
|
|
159
159
|
end
|
160
160
|
|
161
161
|
rake_tasks do
|
162
|
-
%w
|
162
|
+
%w[dynflow.rake test.rake export_tasks.rake cleanup.rake].each do |rake_file|
|
163
163
|
full_path = File.expand_path("../tasks/#{rake_file}", __FILE__)
|
164
164
|
load full_path if File.exist?(full_path)
|
165
165
|
end
|
@@ -1,18 +1,18 @@
|
|
1
1
|
namespace :foreman_tasks do
|
2
2
|
namespace :cleanup do
|
3
|
-
desc
|
4
|
-
Clean tasks based on filter and age. ENV variables:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
If none of TASK_SEARCH, BEFORE, STATES is specified, the tasks will be cleaned based
|
14
|
-
configuration in settings
|
15
|
-
DESC
|
3
|
+
desc <<-DESC.strip_heredoc
|
4
|
+
Clean tasks based on filter and age. ENV variables:
|
5
|
+
|
6
|
+
* TASK_SEARCH : scoped search filter (example: 'label = "Actions::Foreman::Host::ImportFacts"')
|
7
|
+
* AFTER : delete tasks created after *AFTER* period. Expected format is a number followed by the time unit (s,h,m,y), such as '10d' for 10 days
|
8
|
+
* STATES : comma separated list of task states to touch with the cleanup, by default only stopped tasks are covered
|
9
|
+
* NOOP : set to "true" if the task should not actuall perform the deletion
|
10
|
+
* VERBOSE : set to "true" for more verbose output
|
11
|
+
* BATCH_SIZE : the size of batches the tasks get processed in (1000 by default)
|
12
|
+
|
13
|
+
If none of TASK_SEARCH, BEFORE, STATES is specified, the tasks will be cleaned based
|
14
|
+
configuration in settings
|
15
|
+
DESC
|
16
16
|
task :run => 'environment' do
|
17
17
|
options = {}
|
18
18
|
|
@@ -7,18 +7,18 @@
|
|
7
7
|
require 'csv'
|
8
8
|
|
9
9
|
namespace :foreman_tasks do
|
10
|
-
desc
|
11
|
-
Export dynflow tasks based on filter. ENV variables:
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
If TASK_SEARCH is not defined, it defaults to all tasks in the past 7 days and
|
19
|
-
all unsuccessful tasks in the past 60 days. The default TASK_FORMAT is html
|
20
|
-
which requires a tar.gz file extension.
|
21
|
-
DESC
|
10
|
+
desc <<-DESC.strip_heredoc
|
11
|
+
Export dynflow tasks based on filter. ENV variables:
|
12
|
+
|
13
|
+
* TASK_SEARCH : scoped search filter (example: 'label = "Actions::Foreman::Host::ImportFacts"')
|
14
|
+
* TASK_FILE : file to export to
|
15
|
+
* TASK_FORMAT : format to use for the export (either html or csv)
|
16
|
+
* TASK_DAYS : number of days to go back
|
17
|
+
|
18
|
+
If TASK_SEARCH is not defined, it defaults to all tasks in the past 7 days and
|
19
|
+
all unsuccessful tasks in the past 60 days. The default TASK_FORMAT is html
|
20
|
+
which requires a tar.gz file extension.
|
21
|
+
DESC
|
22
22
|
task :export_tasks => :environment do
|
23
23
|
deprecated_options = { :tasks => 'TASK_SEARCH',
|
24
24
|
:days => 'TASK_DAYS',
|
@@ -265,7 +265,7 @@ DESC
|
|
265
265
|
end
|
266
266
|
elsif format == 'csv'
|
267
267
|
CSV.open(export_filename, 'wb') do |csv|
|
268
|
-
csv << %w
|
268
|
+
csv << %w[id state type label result parent_task_id started_at ended_at]
|
269
269
|
tasks.each do |task|
|
270
270
|
csv << [task.id, task.state, task.type, task.label, task.result,
|
271
271
|
task.parent_task_id, task.started_at, task.ended_at]
|
data/locale/en/foreman_tasks.po
CHANGED
data/locale/foreman_tasks.pot
CHANGED
@@ -8,8 +8,8 @@ msgid ""
|
|
8
8
|
msgstr ""
|
9
9
|
"Project-Id-Version: foreman_tasks 1.0.0\n"
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
11
|
-
"POT-Creation-Date: 2017-
|
12
|
-
"PO-Revision-Date: 2017-
|
11
|
+
"POT-Creation-Date: 2017-06-26 13:27+0200\n"
|
12
|
+
"PO-Revision-Date: 2017-06-26 13:27+0200\n"
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15
15
|
"Language: \n"
|
@@ -138,26 +138,26 @@ msgstr ""
|
|
138
138
|
msgid "The task resources were unlocked with force."
|
139
139
|
msgstr ""
|
140
140
|
|
141
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
142
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
141
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:38
|
142
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:47
|
143
143
|
#: ../app/models/foreman_tasks/recurring_logic.rb:101
|
144
144
|
#: ../app/models/foreman_tasks/task/dynflow_task.rb:105
|
145
145
|
msgid "N/A"
|
146
146
|
msgstr ""
|
147
147
|
|
148
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
148
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:40
|
149
149
|
msgid "%s ago"
|
150
150
|
msgstr ""
|
151
151
|
|
152
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
152
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:40
|
153
153
|
msgid "in %s"
|
154
154
|
msgstr ""
|
155
155
|
|
156
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
156
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:50
|
157
157
|
msgid " seconds"
|
158
158
|
msgstr ""
|
159
159
|
|
160
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
160
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:57
|
161
161
|
#: ../app/views/foreman_tasks/tasks/_details.html.erb:12
|
162
162
|
#: ../app/views/foreman_tasks/tasks/_details.html.erb:56
|
163
163
|
#: ../app/views/foreman_tasks/tasks/_details.html.erb:81
|
@@ -165,120 +165,120 @@ msgstr ""
|
|
165
165
|
msgid "Cancel"
|
166
166
|
msgstr ""
|
167
167
|
|
168
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
168
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:118
|
169
169
|
#: ../app/views/foreman_tasks/tasks/_details.html.erb:123
|
170
170
|
msgid "Start at"
|
171
171
|
msgstr ""
|
172
172
|
|
173
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
173
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:119
|
174
174
|
#: ../app/views/foreman_tasks/tasks/_details.html.erb:135
|
175
175
|
msgid "Start before"
|
176
176
|
msgstr ""
|
177
177
|
|
178
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
178
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:120
|
179
179
|
msgid ""
|
180
180
|
"Indicates that the action should be cancelled if it cannot be started before t"
|
181
181
|
"his time."
|
182
182
|
msgstr ""
|
183
183
|
|
184
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
184
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:128
|
185
185
|
msgid "Repeats"
|
186
186
|
msgstr ""
|
187
187
|
|
188
188
|
#. TRANSLATORS: this translation is referring to an option which is a time interval
|
189
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
189
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:144
|
190
190
|
msgid "is minute (range: 0-59)"
|
191
191
|
msgstr ""
|
192
192
|
|
193
193
|
#. TRANSLATORS: this translation is referring to an option which is a time interval
|
194
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
194
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:146
|
195
195
|
msgid "is hour (range: 0-23)"
|
196
196
|
msgstr ""
|
197
197
|
|
198
198
|
#. TRANSLATORS: this translation is referring to an option which is a time interval
|
199
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
199
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:148
|
200
200
|
msgid "is day of month (range: 1-31)"
|
201
201
|
msgstr ""
|
202
202
|
|
203
203
|
#. TRANSLATORS: this translation is referring to an option which is a time interval
|
204
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
204
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:150
|
205
205
|
msgid "is month (range: 1-12)"
|
206
206
|
msgstr ""
|
207
207
|
|
208
208
|
#. TRANSLATORS: this translation is referring to an option which is a time interval
|
209
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
209
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:152
|
210
210
|
msgid "is day of week (range: 0-6)"
|
211
211
|
msgstr ""
|
212
212
|
|
213
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
213
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:155
|
214
214
|
msgid "Cron line format 'a b c d e', where: %s"
|
215
215
|
msgstr ""
|
216
216
|
|
217
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
217
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:157
|
218
218
|
#: ../app/views/foreman_tasks/recurring_logics/index.html.erb:6
|
219
219
|
#: ../app/views/foreman_tasks/task_groups/recurring_logic_task_groups/_recurring_logic_task_group.html.erb:8
|
220
220
|
msgid "Cron line"
|
221
221
|
msgstr ""
|
222
222
|
|
223
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
223
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:163
|
224
224
|
msgid "Days"
|
225
225
|
msgstr ""
|
226
226
|
|
227
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
227
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:172
|
228
228
|
msgid "Days of week"
|
229
229
|
msgstr ""
|
230
230
|
|
231
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
231
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:173
|
232
232
|
msgid "Mon"
|
233
233
|
msgstr ""
|
234
234
|
|
235
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
235
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:174
|
236
236
|
msgid "Tue"
|
237
237
|
msgstr ""
|
238
238
|
|
239
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
239
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:175
|
240
240
|
msgid "Wed"
|
241
241
|
msgstr ""
|
242
242
|
|
243
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
243
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:176
|
244
244
|
msgid "Thu"
|
245
245
|
msgstr ""
|
246
246
|
|
247
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
247
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:177
|
248
248
|
msgid "Fri"
|
249
249
|
msgstr ""
|
250
250
|
|
251
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
251
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:178
|
252
252
|
msgid "Sat"
|
253
253
|
msgstr ""
|
254
254
|
|
255
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
255
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:179
|
256
256
|
msgid "Sun"
|
257
257
|
msgstr ""
|
258
258
|
|
259
259
|
#. TRANSLATORS: Time widget for when a task should start
|
260
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
260
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:188
|
261
261
|
msgid "At"
|
262
262
|
msgstr ""
|
263
263
|
|
264
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
264
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:190
|
265
265
|
msgid "Repeat N times"
|
266
266
|
msgstr ""
|
267
267
|
|
268
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
268
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:191
|
269
269
|
msgid "Ends"
|
270
270
|
msgstr ""
|
271
271
|
|
272
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
272
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:192
|
273
273
|
msgid "Never"
|
274
274
|
msgstr ""
|
275
275
|
|
276
276
|
#. TRANSLATORS: Button text for saying when a task should end
|
277
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
277
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:194
|
278
278
|
msgid "On"
|
279
279
|
msgstr ""
|
280
280
|
|
281
|
-
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:
|
281
|
+
#: ../app/helpers/foreman_tasks/foreman_tasks_helper.rb:197
|
282
282
|
msgid "Ends at"
|
283
283
|
msgstr ""
|
284
284
|
|
@@ -302,7 +302,7 @@ msgstr ""
|
|
302
302
|
msgid "The targets are of different types"
|
303
303
|
msgstr ""
|
304
304
|
|
305
|
-
#: ../app/lib/actions/foreman/host/import_facts.rb:38 action_names.rb:
|
305
|
+
#: ../app/lib/actions/foreman/host/import_facts.rb:38 action_names.rb:5
|
306
306
|
msgid "Import facts"
|
307
307
|
msgstr ""
|
308
308
|
|
@@ -635,7 +635,7 @@ msgid "Output"
|
|
635
635
|
msgstr ""
|
636
636
|
|
637
637
|
#: ../app/views/foreman_tasks/tasks/_details.html.erb:188
|
638
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
638
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:98
|
639
639
|
msgid "Errors"
|
640
640
|
msgstr ""
|
641
641
|
|
@@ -721,27 +721,27 @@ msgstr ""
|
|
721
721
|
msgid "User"
|
722
722
|
msgstr ""
|
723
723
|
|
724
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
724
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:28
|
725
725
|
msgid "Stop auto-reloading"
|
726
726
|
msgstr ""
|
727
727
|
|
728
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
728
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:39
|
729
729
|
msgid "Start auto-reloading"
|
730
730
|
msgstr ""
|
731
731
|
|
732
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
732
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:96
|
733
733
|
msgid "Task"
|
734
734
|
msgstr ""
|
735
735
|
|
736
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
736
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:97
|
737
737
|
msgid "Running Steps"
|
738
738
|
msgstr ""
|
739
739
|
|
740
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
740
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:99
|
741
741
|
msgid "Locks"
|
742
742
|
msgstr ""
|
743
743
|
|
744
|
-
#: ../app/views/foreman_tasks/tasks/show.html.erb:
|
744
|
+
#: ../app/views/foreman_tasks/tasks/show.html.erb:100
|
745
745
|
msgid "Raw"
|
746
746
|
msgstr ""
|
747
747
|
|
@@ -754,9 +754,13 @@ msgid "Recurring Logics"
|
|
754
754
|
msgstr ""
|
755
755
|
|
756
756
|
#: action_names.rb:2
|
757
|
-
msgid "
|
757
|
+
msgid "Play Ansible roles"
|
758
758
|
msgstr ""
|
759
759
|
|
760
|
-
#: action_names.rb:
|
760
|
+
#: action_names.rb:3
|
761
761
|
msgid "Remote action:"
|
762
762
|
msgstr ""
|
763
|
+
|
764
|
+
#: action_names.rb:6
|
765
|
+
msgid "Action with sub plans"
|
766
|
+
msgstr ""
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman-tasks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: foreman-tasks-core
|