Fix 2.4.2 upgrade notes formatting refs #19330
[arvados.git] / services / api / lib / simulate_job_log.rb
index 65ab0217466709439ab9e610bc7823ee416e6a3e..abcf42eaa708594164214611eabe3a07c0e47b2f 100644 (file)
@@ -1,17 +1,26 @@
-require 'db_current_time'
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
-module SimulateJobLog
-  include DbCurrentTime
+require 'current_api_client'
 
+module SimulateJobLog
+  include CurrentApiClient
   def replay(filename, multiplier = 1, simulated_job_uuid = nil)
     raise "Environment must be development or test" unless [ 'test', 'development' ].include? ENV['RAILS_ENV']
 
     multiplier = multiplier.to_f
     multiplier = 1.0 if multiplier <= 0
 
-    actual_start_time = db_current_time
+    actual_start_time = Time.now
     log_start_time = nil
 
+    if simulated_job_uuid and (job = Job.where(uuid: simulated_job_uuid).first)
+      job_owner_uuid = job.owner_uuid
+    else
+      job_owner_uuid = system_user_uuid
+    end
+
     act_as_system_user do
       File.open(filename).each.with_index do |line, index|
         cols = {}
@@ -33,14 +42,14 @@ module SimulateJobLog
         # determine when we want to simulate this log being created, based on the time multiplier
         log_start_time = cols[:timestamp] if log_start_time.nil?
         log_time = cols[:timestamp]
-        actual_elapsed_time = db_current_time - actual_start_time
+        actual_elapsed_time = Time.now - actual_start_time
         log_elapsed_time = log_time - log_start_time
         modified_elapsed_time = log_elapsed_time / multiplier
         pause_time = modified_elapsed_time - actual_elapsed_time
         sleep pause_time if pause_time > 0
-        # output log entry for debugging and create it in the current environment's database
-        puts "#{index} #{cols.to_yaml}\n"
+
         Log.new({
+          owner_uuid:  job_owner_uuid,
           event_at:    Time.zone.local_to_utc(cols[:timestamp]),
           object_uuid: cols[:job_uuid],
           event_type:  cols[:event_type],