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(a)somecompany.com
admin_emails = of(a)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