DCP: Allow increasing the pool size when previously empty

This commit is contained in:
Sebastian Serth
2021-10-31 12:39:56 +01:00
parent 447860892a
commit 475aa8c512
2 changed files with 13 additions and 3 deletions

View File

@ -81,6 +81,8 @@ class ExecutionEnvironment < ApplicationRecord
runner = Runner.for(author, self)
output = runner.execute_command(VALIDATION_COMMAND)
errors.add(:docker_image, "error: #{output[:stderr]}") if output[:stderr].present?
rescue Runner::Error::NotAvailable => e
Rails.logger.info("The Docker image could not be verified: #{e}")
rescue Runner::Error => e
errors.add(:docker_image, "error: #{e}")
end

View File

@ -14,9 +14,17 @@ class Runner::Strategy::DockerContainerPool < Runner::Strategy
FileUtils.mkdir_p(File.expand_path(config[:workspace_root]))
end
def self.sync_environment(_environment)
# There is no dedicated sync mechanism yet
true
def self.sync_environment(environment)
# There is no dedicated sync mechanism yet. However, we need to emit a warning when the pool was previously
# empty for this execution environment. In this case the validation command probably was not executed.
return true unless environment.pool_size_previously_changed?
case environment.pool_size_previously_was
when nil, 0
false
else
true
end
end
def self.request_from_management(environment)