I'm attaching a patch which uses DBManager for interacting with the
user database rather than always relying upon sqlite. This way, if
you use pgsql or mysql for your database back-end, user information
will be stored there as well.
The problem is, this will screw up current installations which are
using pgsql/mysql because the old code assumes sqlite is used for
user info, so suddenly your user database will be empty... I guess
the easiest way around this is to write a quick script to pull
everything out of the sqlite database and put it into mysql/pgsql.
Also, I'll look at updating the user-manager.py script. In fact, I
guess it may be easiest to add export/import functions to that for
migrating the user info.
Let me know what you think.
I found one small issue, that in case of mock will fail on prep stage
(no space on device, or repository access failed) mock will return
earlier, and in _status_prepping(), _watch_mock function will call
_start_cleanup(). After that _start_cleanup will change next state to be
"cleanup". But, this "if" below, will change next status to "building"
regardless of previous error:
if not self._mock_using_repo():
self._status = 'building'
that meas scenario:
Attached patch solves that.
I allready wrote Seth and he asked me to write it to the list - so here
I'd like to have a mock command 'kill'. If I run a mock-build process it
runs all chroot command as root and if I want to stop mock from running
as a normal user I can't....
'mock kill -r <target> --uniqueext <randomstring_or_whatever> kill'
would be a great thing. :-)
Currently the configfile /etc/plague/server/plague-server.cfg is hard
coded in plague-server, and it will not use a different file even if
specified with the -c option. This patch changes plague-server to
use the config file specified with -c, and also sets a default of /
etc/plague/server/plague-server.cfg so that you do not have to use
the -c option if you want to use the default config location.
I am having problems with plague-server dying on me. I am starting
plague-server -c /etc/plague/server/plague-server.cfg -d -l /var/log/
After some amount of time (hours? I'm not sure exactly, but I know it
was up all most of the day yesterday and then died sometime in the
night) the process disappears, and nothing is left in the log file
except for the startup and build messages.
Is there anything I can do to have it print out more information? I
am running the server on an EL4 box, might that have something to do
plague-server is CVS from a few days ago (using mysql back-end patch).
python version is python-2.3.4-14.1
I also have plague-builder running on the same box, and it has been
running with no problem.
This patch allows one to run "tail -f" on the build.log. It mostly
re-uses existing variables and things like resultdir, etc. work
Anyway, I hope to get this committed as this is a massive improvement
from what mock had inherited. (Multiple mount/umount in root.log, but I
don't think that many people care. It's the simplest patch without
taking in account of corner cases, etc.)
OK, I got plague-(server/builder) working - yay! The README in CVS
is pretty helpful, but I still had to do a lot of guesswork and
reading through the code in order to figure out how to set it up. I
think it would be very helpful to provide example config files (with
comments explaining what each setting does, and a list of valid
settings if applicable), and some more documentation. I'd be happy
to help with this - anyone mind if I create some docs/examples
subpages from the Plague wiki page?
At least I can put up my config files (and try to comment in them a
bit), show some example targets, document how I got the www scripts
working with apache, etc.
I can't post a patch for various reasons beyond my control (sigh...),
but updating plague to use a mysql backend was trivial. (Not that I
don't like postgresql -- mysql is just easier for me in this
1) yum install MySQL-python
2) edit /usr/share/plague/server/DBManager.py:
* copy the pgdbEngineClass definition verbatim, renaming it to
* the correct type for mysql in get_uid_field_type is
- "int(11) NOT NULL auto_increment PRIMARY KEY"
* connect parameters are slightly different in _connect():
- host=host, db=database, user=user, passwd=password
* add the new class to the db_engines array
* add a try statement to importing the MySQLdb class
3) update your plague-server.cfg with a "[mysql Engine]" section
And, of course, create your mysql db somewhere, etc, etc.
Hope that helps someone! :)
Hey Dan (et al) --
So now I can build from CVS, everything appears OK... Except packages
(that don't fail) seem to hang in the "add_to_repo/in-progress" state.
The log files from the build appear in the expected place. However,
build.log is 0 bytes. The SRPM does not show up here.
testing = False
Trying to do a "plague-client finish #" on the jobids fails with the
expected "Error: Job 9 must be either 'needsign' or 'failed' to finish
Am I missing something? Or is something darker and more sinister at work here.