plague on fc7 with sqlite, xmlrpc problems
Dan Williams
dcbw at redhat.com
Mon Feb 26 12:39:01 UTC 2007
On Mon, 2007-02-26 at 12:06 +0100, Oliver Falk wrote:
> 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
Why these?
> > * server/main.py
> > * server/BuildMaster.py
> > - sqlite hack: move dbm connection into BuildMaster so
> > it can create one for each thread.
sqlite sucks for threading, it's best to just setup a postgresql or
mysql server.
> > * common/XMLRPCServerProxy.py
> > - set self._use_datetime = 0
>
> Why that?
Probably due to Python 2.5.
> > * 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.
Hmm, I thought I'd committed that. Will need to look again.
> > 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...
Yeah, using a real database is the way to go.
Dan
More information about the Fedora-buildsys-list
mailing list