plague on fc7 with sqlite, xmlrpc problems

Oliver Falk oliver at linux-kernel.at
Mon Feb 26 11:06:50 UTC 2007


Hi Ken!

Am 2007-02-25 21:26, Ken MacLeod schrieb:
[ ... ]
> Here's what I've done so far:
> 
> 	* server/DBManager.py
> 		- import sqlite3 as sqlite
> 		- remove encoding="utf-8" from sqlite.connect
> 
> 	* server/main.py
> 	* server/BuildMaster.py
> 		- sqlite hack: move dbm connection into BuildMaster so
> 		it can create one for each thread.
> 
> 	* common/XMLRPCServerProxy.py
> 		- set self._use_datetime = 0

Why that?

> 	* common/AuthedXMLRPCServer.py
> 		- pass allow_none=False and encoding=None to
> 		SimpleXMLRPCServer.SimpleXMLRPCDispatcher's

Why that?

> 	* builder/Config.py
> 	  server/Config.py
> 		- change BaseConfig.BaseConfig.ConfigError to
> 		BaseConfig.ConfigError

Yes. I already submitted a patch to Dan for this.

> I have the builder and server on the same host, w/o SSL yet.  With the
> 0.4.4.1 RPMs and some of the changes above the server was able to talk
> to the builder but I ran into the sqlite problem and switched to CVS
> at that point.

So you' running 0.5.0 now. The same as I do. Right?

> CVS has the new Active/Passive builders but the default port configs
> don't appear to be correct for having the builder and server on the
> same machine, but I can't match up the config sections and field names
> in the server and builder configs to point them at each other
> correctly.  At this point, the server's not seeing any builders.  I
> tried running 'plague-client list' anyway and get an exception "local
> variable 'curs' referenced before assignment" which I'm pretty sure is
> caused by my sqlite thread hack.
> 
> What OS+versions should I use to get plague up and running most
> quickly?

I have plg 0.5.0. mysql 4.1.20 running on ES4. But I also have an 
instance running on FC6.

> Once I'm up and running in a known-working environment I'd have a
> better idea of what changes are right for FC7 or RHEL4/5.

Example config:
builder.cfg:
====================================
[General]
comm_type = active
builder_user = plague-builder
hostname = somehost.somecompany.com
server = somehost.somecompany.com
debug = True
max_jobs = 3
builder_cmd = /usr/bin/mock

[Directories]
target_configs_dir = /etc/plague/builder/targets
builder_work_dir = /tmp/builder_work

[SSL]
use_ssl = False

[Active]
xmlrpc_port = 8889
fileserver_port= 8890




server.cfg:
====================================
[Database]
engine = mysql

[Directories]
repo_dir = /repodir
mock_configs_dir = /etc/mock
server_work_dir = /rpmbuild
target_configs_dir = /etc/plague/server/targets
tmpdir = /tmp

[Active Builders]
xmlrpc_server_port = 8889
file_server_port = 8890
builder1 = 0 somehost2.somecompany.com
builder2 = 50 somehost.somecompany.com

[General]
traceback_server = no
hostname = somehost.somecompany.com
depsolve_jobs = no
Debug = True
allow_reenqueue = no

[SSL]
server_key_and_cert = 
/etc/plague/server/certs/server/server_key_and_cert.pem
ca_cert = /etc/plague/server/certs/ca/my_ca_ca_cert.pem

[UI]
log_url = http://somehost.somecompany.com/buildlogs/
guest_allowed = no
port = 8887
use_ssl = yes
client_ca_cert = /etc/plague/server/certs/ca/client_ca_ca_cert.pem

[mysql Engine]
timeout = 3
host = localhost
user = root
password =
database = plague

[CVS]
use_cvs = yes

[Builders]
use_ssl = no

[Email]
success_emails =
email_from = buildsys at somecompany.com
admin_emails = of at redhat.at



If you need help creating the ssl certificates or anything else, just 
mail me. :-) And don't use sqlite as database backend; It often runs 
into locking problems; That's why I switched to mysql. However, you do 
need to create the tables in the mysql database first. I have the 
statements ready if you need...

Best,
  Oliver




More information about the buildsys mailing list