@cancel_state = "NONE"
@resolve = false
@host_os = Utils::HOST_OS
- @pkgserver_url = @server.pkgserver_url
+ @pkgsvr_url = @server.distmgr.get_distribution(project.dist_name).pkgsvr_url
+ @pkgsvr_ip = @server.distmgr.get_distribution(project.dist_name).pkgsvr_ip
+ @pkgsvr_port = @server.distmgr.get_distribution(project.dist_name).pkgsvr_port
@job_root = "#{@server.path}/jobs/#{@id}"
@source_path = @job_root+"/temp"
@job_working_dir=@job_root+"/works"
@log.info( " - Remote Server : #{@remote_server.ip}:#{@remote_server.port}" )
@log.info( " - FTP Server : #{@server.ftp_addr}" )
else
- builder = Builder.create( "JB#{@id}", @pkgserver_url, nil,
+ builder = Builder.create( "JB#{@id}", @pkgsvr_url, nil,
"#{@buildroot_dir}", @server.build_cache_dir )
if builder.nil?
@log.error( "Creating job builder failed", Log::LV_USER)
return false
end
@log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- @log.info( " - Package Server : #{@pkgserver_url}" )
+ @log.info( " - Package Server : #{@pkgsvr_url}" )
@log.info( " - Build Cache Path : #{@server.build_cache_dir}" )
end
@log.info( " - Log Path : #{@log.path}" )
@log.info( " - Remote Server : #{@remote_server.ip}:#{@remote_server.port}" )
@log.info( " - FTP Server : #{@server.ftp_addr}" )
else
- builder = Builder.create( "JB#{@id}", @pkgserver_url, nil,
+ builder = Builder.create( "JB#{@id}", @pkgsvr_url, nil,
"#{@buildroot_dir}/#{@os}", @server.build_cache_dir )
if builder.nil?
@log.error( "Creating job builder failed", Log::LV_USER)
return false
end
@log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- @log.info( " - Package Server : #{@pkgserver_url}" )
+ @log.info( " - Package Server : #{@pkgsvr_url}" )
@log.info( " - Build Cache Path : #{@server.build_cache_dir}" )
end
@log.info( " - Log Path : #{@log.path}" )
@log.info( " - Remote Server : #{@remote_server.ip}:#{@remote_server.port}" )
@log.info( " - FTP Server : #{@server.ftp_addr}" )
else
- builder = Builder.create( "JB#{@id}", @pkgserver_url, nil,
+ builder = Builder.create( "JB#{@id}", @pkgsvr_url, nil,
"#{@buildroot_dir}/#{@os}", @server.build_cache_dir )
if builder.nil?
@log.error( "Creating job builder failed", Log::LV_USER)
return false
end
@log.info( "JobBuilder##{@id} is created", Log::LV_USER)
- @log.info( " - Package Server : #{@pkgserver_url}" )
+ @log.info( " - Package Server : #{@pkgsvr_url}" )
@log.info( " - Build Cache Path : #{@server.build_cache_dir}" )
end
@log.info( " - Log Path : #{@log.path}" )
binpkg_path_list = Dir.glob("#{@source_path}/*_*_#{@os}.zip")
# upload
- u_client = Client.new( @server.pkgserver_url, nil, @log )
- snapshot = u_client.upload( @server.pkgserver_addr, @server.pkgserver_port, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd, binpkg_path_list)
+ u_client = Client.new( @pkgsvr_url, nil, @log )
+ snapshot = u_client.upload( @pkgsvr_ip, @pkgsvr_port, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd, binpkg_path_list)
if snapshot.nil? then
@log.info( "Upload failed...", Log::LV_USER)
require "RemoteBuildServer.rb"
require "PackageSync.rb"
require "ProjectManager.rb"
+require "DistributionManager.rb"
class BuildServer
- attr_accessor :id, :path, :pkgserver_url, :pkgserver_addr, :pkgserver_port, :port, :status, :friend_servers, :host_os, :log
+ attr_accessor :id, :path, :port, :status, :friend_servers, :host_os, :log
attr_accessor :git_server_url, :git_bin_path
attr_accessor :job_log_url
attr_accessor :allowed_git_branch
attr_accessor :ftp_username
attr_accessor :ftp_passwd
attr_accessor :cleaner
- attr_accessor :prjmgr
+ attr_accessor :prjmgr, :distmgr
attr_accessor :transport_path
attr_accessor :cancel_lock
attr_accessor :supported_os_list
def initialize (id, path, ftpsvr_addr, ftpsvr_port, ftpsvr_username, ftpsvr_passwd)
@id = id
@path = path
- @pkgserver_url = nil
- @pkgserver_addr = nil
- @pkgserver_port = nil
@friend_servers = []
@remote_pkg_servers = []
@req_listener = []
@ftp_passwd = ftpsvr_passwd
@cleaner=nil
@prjmgr = ProjectManager.new(self)
+ @distmgr = DistributionManager.new(self)
#
@transport_path = "#{@path}/transport"
@cancel_lock = Mutex.new
# create table
db.execute "CREATE TABLE IF NOT EXISTS distributions(name VARCHAR(32) PRIMARY KEY, pkgsvr_url VARCHAR(256), pkgsvr_addr VARCHAR(64))"
db.execute "CREATE TABLE IF NOT EXISTS remote_build_servers(id INTEGER PRIMARY KEY, svr_addr VARCHAR(64))"
- db.execute "CREATE TABLE IF NOT EXISTS sync_pkg_servers(id INTEGER PRIMARY KEY, pkgsvr_url VARCHAR(256), period INTEGER)"
+ db.execute "CREATE TABLE IF NOT EXISTS sync_pkg_servers(id INTEGER PRIMARY KEY, pkgsvr_url VARCHAR(256), period INTEGER, dist_name VARCHAR(32))"
db.execute "CREATE TABLE IF NOT EXISTS supported_os(name VARCHAR(32) PRIMARY KEY)"
db.execute "CREATE TABLE IF NOT EXISTS projects(id INTEGER PRIMARY KEY, name VARCHAR(32), type VARCHAR(32), password VARCHAR(32), dist_name VARCHAR(32))"
db.execute "CREATE TABLE IF NOT EXISTS project_os(prj_id INTEGER, os_name VARCHAR(32))"
# save
def save_db()
+
+ # distribution
+ @distmgr.save_db()
+
db_file = "#{BuildServer::CONFIG_ROOT}/#{@id}/server.db"
begin
# open DB
db = SQLite3::Database.open db_file
- # distributions
- url = @pkgserver_url
- addr = @pkgserver_addr + ":" + @pkgserver_port.to_s
- db.execute "DELETE FROM distributions"
- db.execute "INSERT INTO distributions VALUES('BASE','#{url}','#{addr}')"
-
# remote_build_servers
db.execute "DELETE FROM remote_build_servers"
idx = 0
db.execute "DELETE FROM sync_pkg_servers"
idx = 0
@remote_pkg_servers.each { |svr|
- db.execute "INSERT INTO sync_pkg_servers VALUES('#{idx}','#{svr[0]}','#{@pkg_sync_period}')"
+ db.execute "INSERT INTO sync_pkg_servers VALUES('#{idx}','#{svr[0]}','#{@pkg_sync_period}','BASE')"
idx += 1
}
# load
def load_db()
+
+ # distribution
+ @distmgr.load_db()
+
db_file = "#{BuildServer::CONFIG_ROOT}/#{@id}/server.db"
begin
# open DB
db = SQLite3::Database.open db_file
db.results_as_hash = true
- # distributions
- stm = db.prepare "SELECT * FROM distributions"
- rs = stm.execute
- rs.each { |row|
- @pkgserver_url = row['pkgsvr_url']
- @pkgserver_addr = row['pkgsvr_addr'].split(":")[0]
- @pkgserver_port = row['pkgsvr_addr'].split(":")[1].to_i
- }
- stm.close if stm
-
# remote_build_servers
@friend_servers = []
stm = db.prepare "SELECT * FROM remote_build_servers"
# create new instance and return it
@@instance_map[id] = BuildServer.new( id, path, ftpsvr_addr, ftpsvr_port, ftpsvr_username, ftpsvr_passwd)
-
# set default
if Utils.is_windows_like_os(Utils::HOST_OS) then
@@instance_map[id].git_bin_path="/c/Program\\ Files/Git/bin/git.exe"
@@instance_map[id].jobmgr.max_working_jobs= 2
@@instance_map[id].job_log_url=""
@@instance_map[id].send_mail="NO"
- @@instance_map[id].pkgserver_url=pkgsvr_url
- @@instance_map[id].pkgserver_addr=pkgsvr_addr
- @@instance_map[id].pkgserver_port=pkgsvr_port
# write config
write_server_config( @@instance_map[id] )
+ # set logger
+ @@instance_map[id].log = Log.new( "#{BuildServer::CONFIG_ROOT}/#{id}/log" )
+
+ # add distribution
+ if not pkgsvr_url.nil? then
+ @@instance_map[id].distmgr.add_distribution("BASE", pkgsvr_url, pkgsvr_addr, pkgsvr_port)
+ end
+
puts "Created new build server: \"#{id}\""
return @@instance_map[id]
end
$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/common"
class CommonProject
- attr_accessor :name, :type, :passwd, :os_list
+ attr_accessor :name, :type, :passwd, :os_list, :dist_name
# initialize
def initialize( name, type, server, os_list )
@passwd = ""
@os_list = os_list
@server = server
+ @dist_name = "BASE"
@extra_infos = {}
read_ext_info
end
--- /dev/null
+=begin
+
+ DistributionManager.rb
+
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+
+Contact:
+Taejun Ha <taejun.ha@samsung.com>
+Jiil Hyoun <jiil.hyoun@samsung.com>
+Donghyuk Yang <donghyuk.yang@samsung.com>
+DongHee Yang <donghee.yang@samsung.com>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Contributors:
+- S-Core Co., Ltd
+=end
+
+require 'fileutils'
+require 'thread'
+$LOAD_PATH.unshift File.dirname(__FILE__)
+$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/pkg_server"
+require "SocketJobRequestListener.rb"
+require "RemoteBuildJob.rb"
+require "RegisterPackageJob.rb"
+require "packageServer.rb"
+
+class PackageDistribution
+ attr_accessor :name, :pkgsvr_url, :pkgsvr_ip, :pkgsvr_port
+
+ def initialize( name, pkgsvr_url, pkgsvr_ip, pkgsvr_port, server )
+ @server = server
+ @name = name
+ @pkgsvr_url = pkgsvr_url
+ @pkgsvr_ip = pkgsvr_ip
+ @pkgsvr_port = pkgsvr_port
+ end
+end
+
+
+class DistributionManager
+ attr_accessor :max_working_jobs, :jobs, :internal_jobs, :reverse_build_jobs
+ attr_accessor :internal_job_schedule
+
+ # initialize
+ def initialize( server )
+ @server = server
+ @distributions = []
+ end
+
+
+ # get distribution
+ def get_distribution(name)
+ @distributions.each { |d|
+ if d.name == name then
+ return d
+ end
+ }
+
+ return nil
+ end
+
+
+ # check exist?
+ def distribution_exist?(name)
+ return get_distribution(name).nil? ? false : true
+ end
+
+
+ # add
+ def add_distribution(name, pkgsvr_url, pkgsvr_ip, pkgsvr_port)
+ load_db()
+ if distribution_exist?(name) then
+ @server.log.info "The distribution \"#{name}\" already exists on server"
+ @server.log.error "Adding distribution failed!"
+ return
+ end
+
+ add_distribution_internal(name, pkgsvr_url, pkgsvr_ip, pkgsvr_port)
+ save_db()
+ @server.log.info "Added a new distribution \"#{name}\""
+ end
+
+
+ # remove
+ def remove_distribution(name)
+ if not distribution.exist?(name) then
+ @server.log.error "The distribution \"#{name}\" does not exists on server"
+ @server.log.error "Removing distribution failed!"
+ return
+ end
+
+ remove_distribution_internal(name)
+ @server.log.info "Removed the distribution \"#{name}\""
+ end
+
+
+ # save
+ def save_db()
+ db_file = "#{BuildServer::CONFIG_ROOT}/#{@server.id}/server.db"
+ begin
+ # open DB
+ db = SQLite3::Database.open db_file
+
+ # distributions
+ db.execute "DELETE FROM distributions"
+ @distributions.each { |dist|
+ dist_addr = dist.pkgsvr_ip + ":" + dist.pkgsvr_port.to_s
+ db.execute "INSERT INTO distributions VALUES('#{dist.name}','#{dist.pkgsvr_url}','#{dist_addr}')"
+ }
+ rescue SQLite3::Exception => e
+ puts "DB update failed!"
+ puts e
+ ensure
+ db.close if db
+ end
+ end
+
+
+ # load
+ def load_db()
+ @distributions = []
+
+ db_file = "#{BuildServer::CONFIG_ROOT}/#{@server.id}/server.db"
+ begin
+ # open DB
+ db = SQLite3::Database.open db_file
+ db.results_as_hash = true
+
+ # distributions
+ stm = db.prepare "SELECT * FROM distributions"
+ rs = stm.execute
+ rs.each { |row|
+ pkgsvr_ip = row['pkgsvr_addr'].split(":")[0]
+ pkgsvr_port = row['pkgsvr_addr'].split(":")[1].to_i
+ add_distribution_internal(row['name'], row['pkgsvr_url'], pkgsvr_ip, pkgsvr_port)
+ }
+ rescue SQLite3::Exception => e
+ puts "DB loading failed!"
+ puts e
+ ensure
+ stm.close if stm
+ db.close if db
+ end
+
+ end
+
+
+ def add_distribution_internal(name, pkgsvr_url, pkgsvr_ip, pkgsvr_port)
+ @distributions.push PackageDistribution.new(name, pkgsvr_url, pkgsvr_ip, pkgsvr_port, @server)
+ end
+
+
+ def remove_distribution_internal(name)
+ @distributions.delete get_distribution(name)
+ end
+
+ #END
+end
+++ /dev/null
-=begin
-
- FullBuildJob.rb
-
-Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
-
-Contact:
-Taejun Ha <taejun.ha@samsung.com>
-Jiil Hyoun <jiil.hyoun@samsung.com>
-Donghyuk Yang <donghyuk.yang@samsung.com>
-DongHee Yang <donghee.yang@samsung.com>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Contributors:
-- S-Core Co., Ltd
-=end
-
-require "fileutils"
-$LOAD_PATH.unshift File.dirname(__FILE__)
-$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/common"
-$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/builder"
-$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/pkg_server"
-require "client.rb"
-require "PackageManifest.rb"
-require "Version.rb"
-require "Builder.rb"
-require "RemoteBuilder.rb"
-require "BuildServer.rb"
-require "JobLog.rb"
-require "mail.rb"
-require "CommonJob.rb"
-
-class FullBuildJob < CommonJob
-
- attr_accessor :pre_jobs, :os, :type
- attr_accessor :source_path
- attr_accessor :pkgsvr_client, :thread
- attr_accessor :is_fullbuild_job
-
- # initialize
- def initialize (server)
- super(server)
- @log = nil
- @type = "FULLBUILD"
-
- @host_os = Utils::HOST_OS
- @pkgserver_url = @server.pkgserver_url
- @job_root = "#{@server.path}/jobs/#{@id}"
- @source_path = @job_root+"/temp"
- @job_working_dir=@job_root+"/works"
- @buildroot_dir = "#{@job_root}/buildroot"
- @pre_jobs = [] #pre-requisite jobs
-
- @is_fullbuild_job = false
- end
-
-
- #
- def init
- # mkdir
- if not File.exist? @job_root then
- FileUtils.mkdir_p @job_root
- end
-
- # create logger
- if @log.nil? then
- @log = JobLog.new(self, nil )
- end
-
- @log.info( "Initializing job...", Log::LV_USER)
-
- # create dummy source path
- if not File.exist? @source_path then
- FileUtils.mkdir_p @source_path
- end
-
- # set up pkgsvr_client
- @pkgsvr_client = Client.new(@pkgserver_url, @job_working_dir, @log)
- @pkgsvr_client.update
-
- return true
- end
-
-
- #terminate
- def terminate()
- # report error
- if @status == "ERROR" then
- @log.error( "Job is stopped by ERROR" , Log::LV_USER)
- @server.cleaner.clean_afterwards(@id)
- else
- # clean up
- @server.cleaner.clean(@id)
- end
-
- # close logger
- @log.close
- end
-
-
- #cancel
- def cancel()
- #TODO
- end
-
-
- # check building is possible
- def can_be_built_on?(host_os)
- return true
- end
-
-
- def has_build_dependency?(other_job)
- return true
- end
-
-
- def has_same_packages?( wjob )
- return self.eql? wjob
- end
-
-
- def does_depend_on?( wjob )
- return true
- end
-
-
- def does_depended_by?( wjob )
- return true
- end
-
-
- def is_connected?
- return true
- end
-
-
- # return the job is asyncronous job
- def is_asynchronous_job?
- return false
- end
-
-
- #
- # PROTECTED METHODS
- #
-
-
- # main module
- protected
- def job_main()
- @log.info( "Invoking a thread for FULL-BUILD Job #{@id}", Log::LV_USER)
- if @status == "ERROR" then return end
- @log.info( "New Job #{@id} is started", Log::LV_USER)
-
- # check passwd
-
- # create sub jobs
- build_jobs = []
- @server.prjmgr.projects.each do |prj|
- if prj.type != "GIT" then next end
- build_jobs += @server.prjmgr.create_new_jobs_for_all_os( prj.name )
- end
-
- # set full build job flag
- build_jobs.each do |job|
- job.is_fullbuild_job = true
- job.set_parent_job( self )
- end
-
- # add all jobs to jobmanager
- job_status_map = {} # for tracking job status changes
- build_jobs.each do |job|
- @server.jobmgr.add_internal_job( job )
-
- @log.info( "Added new job \"#{job.id}\"(#{job.get_project().name}) for #{job.os}!",
- Log::LV_USER)
-
- if not @server.job_log_url.empty? then
- @log.info( " * Log URL : #{@server.job_log_url}/#{job.id}/log", Log::LV_USER)
- end
-
- # set satus
- job_status_map[job.id] = job.status
- end
-
- # show job status changes
- all_jobs_finished = false
- error_exist = false
- while not all_jobs_finished
- all_jobs_finished = true
- build_jobs.each do |job|
-
- # check status chanaged, if then print
- if job_status_map[ job.id ] != job.status then
- @log.info("Job #{job.id}(#{job.get_project().name},#{job.os}) is #{job.status}", Log::LV_USER)
- job_status_map[ job.id ] = job.status
- end
- if job.status != "ERROR" and job.status != "FINISHED" then
- all_jobs_finished = false
- end
- if job.status == "ERROR" then error_exist = true end
- end
- sleep 1
- end
-
- # check error
- if error_exist then
- @status = "ERROR"
- return
- end
-
- # INFO. don't change this string
- @log.info( "Job is completed!", Log::LV_USER)
- @status = "FINISHED"
- end
-
-end
end
# set up pkgsvr_client
- @pkgsvr_client = Client.new(@pkgserver_url, @job_working_dir, @log)
+ @pkgsvr_client = Client.new(@pkgsvr_url, @job_working_dir, @log)
# checking version if not reverse-build job or not internal-job
if not @is_rev_build_check_job and not @is_internal_job then
@os = "Unknown"
@host_os = Utils::HOST_OS
- @pkgserver_url = @server.pkgserver_url
+ @pkgsvr_url = nil
+ @pkgsvr_ip = nil
+ @pkgsvr_port = nil
@job_root = "#{@server.path}/jobs/#{@id}"
@source_path = @job_root+"/temp"
@job_working_dir=@job_root+"/works"
# set up pkgsvr_client
- @pkgsvr_client = Client.new(@pkgserver_url, @job_working_dir, @log)
+ first_project = @sub_jobs[0].get_project()
+ @pkgsvr_url = @server.distmgr.get_distribution(first_project.dist_name).pkgsvr_url
+ @pkgsvr_ip = @server.distmgr.get_distribution(first_project.dist_name).pkgsvr_ip
+ @pkgsvr_port = @server.distmgr.get_distribution(first_project.dist_name).pkgsvr_port
+ @pkgsvr_client = Client.new(@pkgsvr_url, @job_working_dir, @log)
return true
end
binpkg_path_list = Dir.glob("#{@source_path}/*_*_*.zip")
# upload
- u_client = Client.new( @server.pkgserver_url, nil, @log )
- snapshot = u_client.upload( @server.pkgserver_addr, @server.pkgserver_port, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd, binpkg_path_list)
+ u_client = Client.new( @pkgsvr_url, nil, @log )
+ snapshot = u_client.upload( @pkgsvr_ip, @pkgsvr_port, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd, binpkg_path_list)
if snapshot.nil? then
@log.info( "Upload failed...", Log::LV_USER)
class PackageSyncAction < Action
@@new_id = 0
- def initialize( time, url, proxy, server )
+ def initialize( time, url, proxy, server, dist_name = "BASE" )
super(time, server.pkg_sync_period)
my_id = @@new_id
@@new_id += 1
@proxy = proxy
@server = server
@pkgsvr_client = nil
+ @dist_name = dist_name
@main_client = nil
@sync_root = "#{@server.path}/sync/#{my_id}"
@download_path = "#{@sync_root}/remote"
# create client
@pkgsvr_client = Client.new( @pkgsvr_url, @download_path, @server.log )
- @main_client = Client.new( @server.pkgserver_url, @original_path, @server.log )
+
+ main_url = @server.distmgr.get_distribution(@dist_name).pkgsvr_url
+ @main_client = Client.new( main_url, @original_path, @server.log )
end
$LOAD_PATH.unshift File.dirname(__FILE__)
$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/common"
$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/builder"
-$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/pkg_server"
+$LOAD_PATH.unshift File.dirname(File.dirname(__FILE__))+"/plkg_server"
require "client.rb"
require "PackageManifest.rb"
require "Version.rb"
@type = "REGISTER"
@host_os = Utils::HOST_OS
- @pkgserver_url = @server.pkgserver_url
+ @pkgsvr_url = @server.distmgr.get_distribution(project.dist_name).pkgsvr_url
+ @pkgsvr_ip = @server.distmgr.get_distribution(project.dist_name).pkgsvr_ip
+ @pkgsvr_port = @server.distmgr.get_distribution(project.dist_name).pkgsvr_port
@job_root = "#{@server.path}/jobs/#{@id}"
@source_path = @job_root+"/temp"
@job_working_dir=@job_root+"/works"
if @cancel_state != "NONE" then return false end
# set up pkgsvr_client
- @pkgsvr_client = Client.new(@pkgserver_url, @job_working_dir, @log)
+ @pkgsvr_client = Client.new(@pkgsvr_url, @job_working_dir, @log)
if @cancel_state != "NONE" then return false end
end
# upload
- u_client = Client.new( @server.pkgserver_url, nil, @log )
- snapshot = u_client.upload( @server.pkgserver_addr, @server.pkgserver_port, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd, binpkg_path_list)
+ u_client = Client.new( @pkgsvr_url, nil, @log )
+ snapshot = u_client.upload( @pkgsvr_ip, @pkgsvr_port, @server.ftp_addr, @server.ftp_port, @server.ftp_username, @server.ftp_passwd, binpkg_path_list)
if snapshot.nil? then
@log.info( "Upload failed...", Log::LV_USER)
class RemoteBuildServer
attr_accessor :ip, :port, :status, :host_os
attr_accessor :max_working_jobs, :working_jobs, :waiting_jobs
- attr_accessor :pkgserver_url, :path
+ attr_accessor :path
# initialize
def initialize(ip, port, parent)
@max_working_jobs = 2
@working_jobs = []
@waiting_jobs = []
- @pkgserver_url = parent.pkgserver_url
@path = ""
@file_transfer_cnt_mutex = Mutex.new
@file_transfer_cnt = 0