On Wed, Oct 21, 2020 at 11:52:06AM +0800, Cao Xueliang wrote:
[why] It may add monitors field in job yaml, sched will parse the monitors field and add depends to the initrd string.
Signed-off-by: Cao Xueliang caoxl78320@163.com
src/lib/job.cr | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-)
diff --git a/src/lib/job.cr b/src/lib/job.cr index 12d3980..00b5e68 100644 --- a/src/lib/job.cr +++ b/src/lib/job.cr @@ -396,12 +396,42 @@ class Job initrd_pkg_arr = Array(String).new initrd_http_prefix = "http://#%7BINITRD_HTTP_HOST%7D:#%7BINITRD_HTTP_PORT%7D" mount_type = os_mount == "cifs" ? "nfs" : os_mount.dup
- get_monitors_initrd(mount_type, initrd_http_prefix, initrd_deps_arr, initrd_pkg_arr)
- get_pp_initrd(mount_type, initrd_http_prefix, initrd_deps_arr, initrd_pkg_arr)
- self["initrd_deps"] = initrd_deps_arr.uniq.join(" ")
- self["initrd_pkg"] = initrd_pkg_arr.uniq.join(" ")
- end
- private def get_monitors_initrd(mount_type, initrd_http_prefix, initrd_deps_arr, initrd_pkg_arr)
- if @hash["monitors"]?
return unless ...
to save one indent.
program_params = @hash["monitors"].as_h
program_params.keys.each do |program|
Is it possible to reuse code for the below chunk? monitors are not so different than other test programs.
deps_dest_file = "#{SRV_INITRD}/deps/#{mount_type}/#{os_dir}/#{program}.cgz"
pkg_dest_file = "#{SRV_INITRD}/pkg/#{mount_type}/#{os_dir}/#{program}.cgz"
if File.exists?("#{user_lkp_src}/monitors/#{program}")
if File.exists?(deps_dest_file)
initrd_deps_arr << "#{initrd_http_prefix}" + JobHelper.service_path(deps_dest_file)
end
if File.exists?(pkg_dest_file)
initrd_pkg_arr << "#{initrd_http_prefix}" + JobHelper.service_path(pkg_dest_file)
end
end
end
- end
- end
Thanks, Fengguang