foreman-tasks 0.7.17 → 0.7.18

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6af64bff2142846ebf7fcc41ca5202b3f1bf5850
4
- data.tar.gz: a001ea05b594c4180546b6505f20fd66bf01e14b
3
+ metadata.gz: 09501ff6d55c7b3dd3433795384e07b36813b746
4
+ data.tar.gz: 1c38dfc4abcb803584cd88d5154ea66115840904
5
5
  SHA512:
6
- metadata.gz: 995c854d10a044c6cdcd8d33b52b342b639d134623145afe198908936f3c4d14ca2ab97dbdcf4c3f2703b8c27253da788ac87913009f35e633ba8139f862264e
7
- data.tar.gz: 343184b0db3a10549586fdda4fc0e89361f39a9dc8576ebdcfc466f0c044411c7abfb5de6c3dfc34c4f65145fa4ab171c2d5cd22263845ec964bb72d55fe0294
6
+ metadata.gz: 9bb4ca4e6a26e38604f4d5b4e6bb58296c2b07c676f3f615126de2a88e545d475453e5a10b5dc80aff3201deb1082a3b7cb7f37d2219808046f766bb4452fb63
7
+ data.tar.gz: 5fcbb29b5e8e1a33cb37a1d233f83be129c8377357d721cfe0793f18b723a1d6587b774ba21494fe6322c9e1749bb9342ce2813dff3d8aa21b31be9870728839
@@ -6,13 +6,14 @@ module ForemanTasks
6
6
  scope :for_action, ->(action_class) { where(label: action_class.name) }
7
7
 
8
8
  def update_from_dynflow(data)
9
+ utc_zone = ActiveSupport::TimeZone.new('UTC')
9
10
  self.external_id = data[:id]
10
- self.started_at = data[:started_at]
11
- self.ended_at = data[:ended_at]
11
+ self.started_at = utc_zone.parse(data[:started_at]) unless data[:started_at].nil?
12
+ self.ended_at = utc_zone.parse(data[:ended_at]) unless data[:ended_at].nil?
12
13
  self.state = data[:state].to_s
13
14
  self.result = data[:result].to_s
14
- self.start_at = data[:start_at] if data[:start_at]
15
- self.start_before = data[:start_before] if data[:start_before]
15
+ self.start_at = utc_zone.parse(data[:start_at]) if data[:start_at]
16
+ self.start_before = utc_zone.parse(data[:start_before]) if data[:start_before]
16
17
  self.parent_task_id ||= begin
17
18
  if main_action.caller_execution_plan_id
18
19
  DynflowTask.where(:external_id => main_action.caller_execution_plan_id).first!.id
@@ -11,7 +11,7 @@ module ForemanTasks
11
11
  parse_start_at!
12
12
  parse_start_before!
13
13
  else
14
- self.start_at ||= Time.now
14
+ self.start_at ||= Time.zone.now
15
15
  end
16
16
  end
17
17
 
@@ -43,7 +43,7 @@ module ForemanTasks
43
43
  triggering.mode = params.fetch(:mode, :immediate).to_sym
44
44
  triggering.input_type = params.fetch(:input_type, :daily).to_sym
45
45
  triggering.end_time_limited = params[:end_time_limited] == "true"
46
- triggering.start_at_raw ||= Time.now.strftime(TIME_FORMAT)
46
+ triggering.start_at_raw ||= Time.zone.now.strftime(TIME_FORMAT)
47
47
  triggering.recurring_logic = ::ForemanTasks::RecurringLogic.new_from_triggering(triggering) if triggering.recurring?
48
48
  end
49
49
  end
@@ -75,8 +75,8 @@ module ForemanTasks
75
75
 
76
76
  def delay_options
77
77
  {
78
- :start_at => start_at,
79
- :start_before => start_before
78
+ :start_at => start_at.utc,
79
+ :start_before => start_before.try(:utc)
80
80
  }
81
81
  end
82
82
 
@@ -93,11 +93,11 @@ module ForemanTasks
93
93
  end
94
94
 
95
95
  def parse_start_at!
96
- self.start_at ||= Time.strptime(start_at_raw, TIME_FORMAT)
96
+ self.start_at ||= Time.zone.parse(start_at_raw)
97
97
  end
98
98
 
99
99
  def parse_start_before!
100
- self.start_before ||= Time.strptime(start_before_raw, TIME_FORMAT) unless start_before_raw.blank?
100
+ self.start_before ||= Time.zone.parse(start_before_raw) unless start_before_raw.blank?
101
101
  end
102
102
 
103
103
  private
@@ -184,7 +184,7 @@
184
184
  <div>
185
185
  <span class="param-name"><%= _("Errors") %>:</span>
186
186
  <span class="param-value">
187
- <pre><%= @task.humanized[:errors].join("\n") %></pre>
187
+ <pre><%=Array(@task.humanized[:errors]).join("\n") %></pre>
188
188
  </span>
189
189
  </div>
190
190
  <% end %>
@@ -43,6 +43,7 @@ module ForemanTasks
43
43
  unless config.remote?
44
44
  # don't try to do any rescuing until the tables are properly migrated
45
45
  if !Foreman.in_rake?('db:migrate') && (ForemanTasks::Task.table_exists? rescue(false))
46
+ config.run_on_init_hooks(world)
46
47
  world.auto_execute
47
48
  ForemanTasks::Task::DynflowTask.consistency_check
48
49
  end
@@ -54,10 +54,12 @@ module ForemanTasks
54
54
  @on_init << block
55
55
  end
56
56
 
57
+ def run_on_init_hooks(world)
58
+ @on_init.each { |init| init.call(world) }
59
+ end
60
+
57
61
  def initialize_world(world_class = ::Dynflow::World)
58
- world_class.new(world_config).tap do |world|
59
- @on_init.each { |init| init.call(world) }
60
- end
62
+ world_class.new(world_config)
61
63
  end
62
64
 
63
65
  # No matter what config.remote says, when the process is marked as executor,
@@ -31,11 +31,9 @@ module ForemanTasks
31
31
  when :scheduled
32
32
  delayed_plan = load_delayed_plan(execution_plan_id)
33
33
  raise Foreman::Exception.new('Plan is delayed but the delay record is missing') if delayed_plan.nil?
34
- # TODO: Rework this
35
- delayed_plan = ::Dynflow::DelayedPlan.new_from_hash(ForemanTasks.dynflow.world, delayed_plan)
36
- task = ::ForemanTasks::Task::DynflowTask.where(:external_id => execution_plan_id).first
37
- task.update_from_dynflow(data.merge(:start_at => delayed_plan.start_at,
38
- :start_before => delayed_plan.start_before))
34
+ task = ::ForemanTasks::Task::DynflowTask.find_by!(:external_id => execution_plan_id)
35
+ task.update_from_dynflow(data.merge(:start_at => delayed_plan[:start_at],
36
+ :start_before => delayed_plan[:start_before]))
39
37
  when :planning
40
38
  task = ::ForemanTasks::Task::DynflowTask.where(:external_id => execution_plan_id).first
41
39
  task.update_from_dynflow(data)
@@ -122,8 +122,13 @@ module ForemanTasks
122
122
  end
123
123
  end
124
124
 
125
- initializer "foreman_tasks.initialize_dynflow" do
125
+ config.to_prepare do
126
+ ForemanTasks.dynflow.eager_load_actions! if ForemanTasks.dynflow.initialized?
127
+
128
+ Authorizer.send(:include, AuthorizerExt)
129
+ end
126
130
 
131
+ config.after_initialize do
127
132
  ForemanTasks.dynflow.eager_load_actions!
128
133
  ForemanTasks.dynflow.config.increase_db_pool_size
129
134
 
@@ -140,13 +145,6 @@ module ForemanTasks
140
145
  end
141
146
  end
142
147
 
143
- config.to_prepare do
144
- ForemanTasks.dynflow.eager_load_actions!
145
-
146
- Authorizer.send(:include, AuthorizerExt)
147
- end
148
-
149
-
150
148
  rake_tasks do
151
149
  %w[dynflow.rake test.rake export_tasks.rake cleanup.rake].each do |rake_file|
152
150
  full_path = File.expand_path("../tasks/#{rake_file}", __FILE__)
@@ -1,3 +1,3 @@
1
1
  module ForemanTasks
2
- VERSION = "0.7.17"
2
+ VERSION = "0.7.18"
3
3
  end
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.7.17
4
+ version: 0.7.18
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: 2016-04-26 00:00:00.000000000 Z
11
+ date: 2016-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dynflow