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
SimpleXMLRPCServer.SimpleXMLRPCDispatcher's
- pass allow_none=False and encoding=None to
Why that?
- builder/Config.py server/Config.py
BaseConfig.ConfigError
- change BaseConfig.BaseConfig.ConfigError to
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@somecompany.com admin_emails = of@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