Signed-off-by: Cao Xueliang caoxl78320@163.com --- providers/docker/run.sh | 2 ++ src/delimiter/constants.rb | 1 + src/delimiter/utils.rb | 17 +++++++++++------ 3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/providers/docker/run.sh b/providers/docker/run.sh index 4d53db7..5e692e4 100755 --- a/providers/docker/run.sh +++ b/providers/docker/run.sh @@ -26,9 +26,11 @@ cmd=( -m $memory --tmpfs /tmp:rw,exec,nosuid,nodev -e CCI_SRC=/c/compass-ci + -e LKP_SRC=/c/lkp-tests -v ${load_path}/lkp:/lkp -v ${DIR}/bin:/root/sbin:ro -v $CCI_SRC:/c/compass-ci:ro + -v $LKP_SRC:/c/lkp-tests:ro -v /srv/git:/srv/git:ro -v /srv/result:/srv/result:ro -v /etc/localtime:/etc/localtime:ro diff --git a/src/delimiter/constants.rb b/src/delimiter/constants.rb index 23b5053..457e33d 100644 --- a/src/delimiter/constants.rb +++ b/src/delimiter/constants.rb @@ -13,3 +13,4 @@ DELIMITER_TASK_QUEUE = 'delimiter' BISECT_RUN_SCRIPT = "#{ENV['CCI_SRC']}/src/delimiter/find-commit/bisect_run_script.rb" # The files which are in this dir can be uploaded by lkp-tests TMP_RESULT_ROOT = ENV['TMP_RESULT_ROOT'] || '/tmp/lkp/result' +PROCESS_JOB_YAML = "/tmp/process.yaml" diff --git a/src/delimiter/utils.rb b/src/delimiter/utils.rb index aaad394..2c6549c 100644 --- a/src/delimiter/utils.rb +++ b/src/delimiter/utils.rb @@ -61,15 +61,17 @@ module Utils return monitor.run end
+ def save_job_to_yaml(job, yaml_file) + File.open(yaml_file, 'w') { |f| YAML.dump(job, f) } + end + def submit_job(job) - sched = SchedClient.new - response = sched.submit_job(job.to_json) + save_job_to_yaml(job, PROCESS_JOB_YAML) + response = %x(#{LKP_SRC}/sbin/submit #{PROCESS_JOB_YAML}) puts "submit job response: #{response}" - res_arr = JSON.parse(response) - return nil if res_arr.empty? || !res_arr[0]['message'].empty? + return $1 if response =~ /job id=(.*)/
- # just consider build-pkg job - return res_arr[0]['job_id'] + return nil end
# submit the bad job @@ -84,6 +86,8 @@ module Utils extract_finished = monitor_run_stop(query) return nil unless extract_finished.zero?
+ raise "the job is incredible for bisect: #{new_job_id}" unless credible?(job['bad_job_id'], new_job_id, error_id) + stats = query_stats(new_job_id, 10) raise "es cant query #{new_job_id} stats field!" unless stats
@@ -138,6 +142,7 @@ module Utils job['my_token'] = account_info['my_token'] job['bad_job_id'] = job_id
+ job.delete('tboxgroup') job.delete('subqueue') job.delete('queue') job.delete('id')