[Title] cancel support user_email
authorjiil.hyoun <jiil.hyoun@samsung.com>
Tue, 27 Nov 2012 11:33:11 +0000 (20:33 +0900)
committerjiil.hyoun <jiil.hyoun@samsung.com>
Tue, 27 Nov 2012 11:33:11 +0000 (20:33 +0900)
[Type] Enhancement
[Module] Toolchain /
[Priority] Major
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: I6a85ff2733c5bbcd68f22de75a25d6b8e02fe9d8

build-cli
src/build_server/BuildJob.rb
src/build_server/JobManager.rb
src/build_server/SocketJobRequestListener.rb

index 7b4ff0a600b49e78731644dd46a795ffba59a145..6aead78cdfc0b82a8946d3513c071ba5c622ab49 100755 (executable)
--- a/build-cli
+++ b/build-cli
@@ -246,7 +246,7 @@ begin
                if not option[:job].nil? then
                        client = BuildCommClient.create( result[0], result[1], nil, 0 )
                        if not client.nil? then
-                               client.send "CANCEL|#{option[:job]}|#{option[:passwd]}"
+                               client.send "CANCEL|#{option[:job]}|#{option[:passwd]}|#{option[:user]}"
                                result1 = client.receive_data()
                                if result1.nil? then
                                        puts "Error: #{client.get_error_msg()}"
index c5d6843caf8601ed2d2473a92911698011673897..c94f4ff4913e06868a98352062e1902f85a6bb33 100644 (file)
@@ -138,9 +138,6 @@ class BuildJob < CommonJob
        def set_remote_job(server)
                @is_remote_job = true
                @remote_server=server
-               @server.get_db_connection() do |db|
-                       db.do "UPDATE jobs SET remote_build_server_id = '#{server.id}' WHERE id = '#{@id}'"
-               end
        end
 
 
index 9dc822e51bd4e95f022ea8532561ece38b2e0502..37147c2a9fb4a802a535c1f6a4ed31a3e4fe5f7b 100644 (file)
@@ -107,6 +107,13 @@ class JobManager
                return RegisterPackageJob.new( file_path, nil, @server, nil, dist_name )
        end
 
+       def set_remote(job)
+               job.set_remote_job(rserver)
+               @server.get_db_connection() do |db|
+                       db.do "UPDATE jobs SET remote_build_server_id = '#{server.id}' WHERE id = '#{job.id}'"
+               end
+       end
+
        # add a normal job
        def add_job ( new_job )
                @server.log.info "Added new job \"#{new_job.id}\""
@@ -182,7 +189,7 @@ class JobManager
        def execute_remote(job, rserver)
 
                # start build
-               job.set_remote_job(rserver)
+               set_remote(job)
                if job.execute() then
                        # status change & job control
                        job.status = "REMOTE_WORKING"
@@ -455,11 +462,10 @@ class JobManager
                return result
        end
 
-
        def save_job_status(job)
                now = @server.db_now
                result = @server.get_db_connection() do |db|
-                       return job.save(db, now)
+                       job.save(db, now)
                end
 
                return result
index d5dddc2646536255ef92e8efba4cffd8673f1f37..ada54f8e12c1421200092861c5cff89ce5394dc4 100644 (file)
@@ -565,6 +565,15 @@ class SocketJobRequestListener
                end
                cancel_job = nil
 
+               # check user email
+               user_id = @parent_server.check_user_id_from_email( tok[3] )
+               if user_id == -1 then
+                       BuildCommServer.send_begin(req)
+                       req.puts "Error: Cannot find the user with \"#{tok[3]}\"!"
+                       BuildCommServer.send_end(req)
+                       raise "No user information!"
+               end
+
                #CANCEL, JOB
                @parent_server.jobmgr.jobs.each do |j|
                        if "#{j.id}" == "#{tok[1]}" then