Skip to content

Commit 4b54858

Browse files
committed
Set system_uid in miq_server
1 parent 2e215c7 commit 4b54858

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

app/models/miq_worker.rb

+3-7
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ class MiqWorker < ApplicationRecord
55
include SystemdCommon
66
include UuidMixin
77

8-
after_initialize :set_system_uid
98
before_destroy :error_out_tasks_with_active_queue_message, :log_destroy_of_worker_messages
109

1110
belongs_to :miq_server
@@ -351,6 +350,7 @@ def start_runner
351350

352351
def start_runner_via_container
353352
create_container_objects
353+
nil # We don't know the pod name/system_uid until after it is started
354354
end
355355

356356
def self.build_command_line(guid, ems_id = nil)
@@ -388,8 +388,8 @@ def start_runner_via_spawn
388388
end
389389

390390
def start
391-
self.pid = start_runner
392-
save if !containerized_worker? && !systemd_worker?
391+
self.system_uid = start_runner
392+
save!
393393

394394
msg = "Worker started: ID [#{id}], PID [#{pid}], GUID [#{guid}]"
395395
MiqEvent.raise_evm_event_queue(miq_server || MiqServer.my_server, "evm_worker_start", :event_details => msg, :type => self.class.name)
@@ -495,10 +495,6 @@ def clean_active_messages
495495
end
496496
end
497497

498-
private def set_system_uid
499-
self.system_uid = unit_name if systemd_worker?
500-
end
501-
502498
private def error_out_tasks_with_active_queue_message
503499
message = "Task Handler: [#{friendly_name}] ID [#{id}] has been deleted!"
504500
processed_messages.includes(:miq_task).where.not(:miq_task_id => nil).each do |m|

app/models/miq_worker/runner.rb

+10-3
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,16 @@ def log_prefix
158158
#
159159

160160
def find_worker_record
161-
@worker = self.class.corresponding_model.find_by(:guid => @cfg[:guid])
162-
do_exit("Unable to find instance for worker GUID [#{@cfg[:guid]}].", 1) if @worker.nil?
163-
MiqWorker.my_guid = @cfg[:guid]
161+
worker_find_opts = {}
162+
if @cfg[:system_uid]
163+
worker_find_opts[:system_uid] = @cfg[:system_uid]
164+
else
165+
worker_find_opts[:guid] = @cfg[:guid]
166+
end
167+
168+
@worker = self.class.corresponding_model.find_by(worker_find_opts)
169+
do_exit("Unable to find instance for worker [#{worker_find_opts.values.first}].", 1) if @worker.nil?
170+
MiqWorker.my_guid = @worker.guid
164171
end
165172

166173
def starting_worker_record

app/models/miq_worker/systemd_common.rb

+2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ def start_systemd_worker
2828
enable_systemd_unit
2929
write_unit_settings_file
3030
start_systemd_unit
31+
32+
unit_name
3133
end
3234

3335
def stop_systemd_worker

0 commit comments

Comments
 (0)