foreman-tasks 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.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
|