[Title] package has port information file
authorhataejun <taejun.ha@samsung.com>
Wed, 13 Mar 2013 01:28:51 +0000 (10:28 +0900)
committerhataejun <taejun.ha@samsung.com>
Wed, 13 Mar 2013 01:28:51 +0000 (10:28 +0900)
[Type]
[Module]
[Priority]
[Jira#]
[Redmine#] 8691
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: Id65a680d5d6149ebe370412498199086e923207f

pkg-svr
src/pkg_server/packageServer.rb
src/pkg_server/serverOptParser.rb

diff --git a/pkg-svr b/pkg-svr
index 6c50176b185663a0af72db2c307d4e15c18bc608..c8bfae233d71ae955be14d99d379eaacf0f4924f 100755 (executable)
--- a/pkg-svr
+++ b/pkg-svr
@@ -107,7 +107,7 @@ begin
        when "start"
                server.start( option[:port], option[:passwd] )
        when "stop"
-               server.stop( option[:port], option[:passwd] )
+               server.stop( option[:passwd] )
        else
                raise RuntimeError, "input option incorrect : #{option[:cmd]}"
        end
index eeff7fc29bc1433d2f490f830310e4c00a360699..5c803b4d38d9be81f4f150a7f1fbfadeed86829f 100644 (file)
@@ -477,6 +477,11 @@ class PackageServer
                # set port number. default port is 3333
                @port = port
 
+               # write package server port
+               File.open(@run_file_path, "w") do |f|
+                       f.puts @port
+               end
+
                # set job request listener
                @log.info "Setting listener..."
                listener = SocketRegisterListener.new(self)
@@ -510,11 +515,18 @@ class PackageServer
        end
 
        # stop server daemon
-       def stop( port, passwd )
+       def stop( passwd )
                # set port number. default port is 3333
-               @port = port
                @finish = false
 
+               # read package server port
+               if File.exist? @run_file_path
+                       file = File.open @run_file_path 
+                       @port = file.read.strip
+               else
+                       raise RuntimeError, "Error : Can't find package server port information"
+               end
+
                client = BuildCommClient.create("127.0.0.1", @port, @log)
                if client.nil? then
                        raise RuntimeError, "Server does not listen in #{@port} port"
@@ -533,6 +545,7 @@ class PackageServer
                end
                client.terminate
 
+               File.delete(@run_file_path)
        end
 
        def self.list_id
@@ -752,6 +765,7 @@ class PackageServer
                @config_dir = "#{SERVER_ROOT}/#{@id}"
                @log_file_path = "#{SERVER_ROOT}/#{@id}.log"
                @config_file_path = "#{@config_dir}/config"
+               @run_file_path = "#{@config_dir}/run"
                @incoming_path = "#{@config_dir}/incoming"
                @server_lock_file_path = "#{@config_dir}/.server_lock"
        end
index f37d68bd9e6e958d84342e574e4f0b08479b1fcd..753a428f68717fcdd0ceec19abc4d2f3b3b65eec 100644 (file)
@@ -92,9 +92,6 @@ def option_error_check( options )
                        raise ArgumentError, "Usage: pkg-svr start -n <server name> -p <port> [-w <password>]"
                end
        when "stop"
-               if options[:port].empty? then
-                       raise ArgumentError, "Usage: pkg-svr stop -n <server name> -p <port> [-w <password>]"
-               end
        when "sync"
        when "list"
        when "clean"
@@ -135,7 +132,7 @@ def option_parse
                + "\t" + "pkg-svr sync -n <server name> -d <distribution> -s <snapshot_name> [--force] " + "\n"  \
                + "\t" + "pkg-svr clean -n <server name> -d <distribution> [-s <snapshot list>] " + "\n" \
                + "\t" + "pkg-svr start -n <server name> -p <port> [-w <password>]" + "\n" \
-               + "\t" + "pkg-svr stop -n <server name> -p <port> [-w <password>]" + "\n" \
+               + "\t" + "pkg-svr stop -n <server name> " + "\n" \
                + "\t" + "pkg-svr list [-n <server name>] " + "\n" \
                + "\n" + "Options:" + "\n"