extras-buildsys/server ArchJob.py, 1.9, 1.10 BuildMaster.py, 1.29, 1.30 Builder.py, 1.10, 1.11 BuilderManager.py, 1.10, 1.11 UserInterface.py, 1.43, 1.44
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Mon Aug 8 02:54:18 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17109/server
Modified Files:
ArchJob.py BuildMaster.py Builder.py BuilderManager.py
UserInterface.py
Log Message:
2005-08-07 Dan Williams <dcbw at redhat.com>
Play nicely when running more than one builder instance on the same
machine.
* builder/builder.py
- Try to delete actual mock work dir rather than just the buildroot
* client/client.py
- Prettier printing of job detail command output
- Show builder port numbers
* server/ArchJob.py
- Save builder port number
* server/BuildMaster.py
- Add a builder port # to the archjobs table, and save builder port #
when writing archjob status to the DB
* server/Builder.py
- (to_dict): return builder port # too
* server/BuilderManager.py
- Don't exit when adding new builders that have wrong connection
protocol, just ignore them
* server/UserInterface.py
- Retrieve and return builder port numbers too
* www/builders.psp
- Differentiate builders and their jobs by port #
- Only show building archjobs, not 'downloading' or 'downloaded' ones
* www/job.psp
- Show builder port numbers
Index: ArchJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/ArchJob.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ArchJob.py 6 Aug 2005 02:35:07 -0000 1.9
+++ ArchJob.py 8 Aug 2005 02:54:16 -0000 1.10
@@ -84,6 +84,7 @@
host_port, path = urllib.splithost(addr)
host, port = urllib.splitport(host_port)
attrdict['builder_addr'] = host
+ attrdict['builder_port'] = port
attrdict['status'] = self.status
attrdict['builder_status'] = self.builder_status
attrdict['starttime'] = self.starttime
Index: BuildMaster.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/BuildMaster.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- BuildMaster.py 6 Aug 2005 17:58:34 -0000 1.29
+++ BuildMaster.py 8 Aug 2005 02:54:16 -0000 1.30
@@ -82,6 +82,7 @@
'endtime BIGINT, ' \
'arch VARCHAR(15), ' \
'builder_addr VARCHAR(100), ' \
+ 'builder_port VARCHAR(6), ' \
'status VARCHAR(15), ' \
'builder_status VARCHAR(15)' \
')')
@@ -321,9 +322,12 @@
self.dbcx.commit()
if len(self.curs.fetchall()) == 0:
try:
- self.curs.execute('INSERT INTO archjobs (jobid, parent_uid, starttime, endtime, arch, builder_addr, status, builder_status) ' \
- 'VALUES ("%s", %d, %d, %d, "%s", "%s", "%s", "%s")' % (uid, attrdict['parent_uid'], attrdict['starttime'], attrdict['endtime'], \
- attrdict['arch'], attrdict['builder_addr'], attrdict['status'], attrdict['builder_status']))
+ self.curs.execute('INSERT INTO archjobs (jobid, parent_uid, starttime, ' \
+ 'endtime, arch, builder_addr, builder_port, status, builder_status) ' \
+ 'VALUES ("%s", %d, %d, %d, "%s", "%s", "%s", "%s", "%s")' % (uid, attrdict['parent_uid'], \
+ attrdict['starttime'], attrdict['endtime'], attrdict['arch'], \
+ attrdict['builder_addr'], attrdict['builder_port'], attrdict['status'], \
+ attrdict['builder_status']))
except sqlite.OperationalError, e:
print "DB Error: could not access jobs database. Reason: '%s'" % e
else:
Index: Builder.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/Builder.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Builder.py 6 Aug 2005 02:35:07 -0000 1.10
+++ Builder.py 8 Aug 2005 02:54:16 -0000 1.11
@@ -20,6 +20,7 @@
import sys
import socket
import os
+import urllib
import threading
from plague import XMLRPCServerProxy
from plague import CommonErrors
@@ -261,7 +262,18 @@
def to_dict(self):
builder_dict = {}
- builder_dict['address'] = self._address
+
+ addr = self._address
+ # for some reason, splithost doesn't like the protocol
+ # method, you have to give it a string starting with "//"
+ if addr.startswith("http"):
+ idx = addr.find('//')
+ addr = addr[idx:]
+ host_port, path = urllib.splithost(addr)
+ host, port = urllib.splitport(host_port)
+ builder_dict['address'] = host
+ builder_dict['port'] = port
+
arches = []
for target in self._target_arches.keys():
for arch in self._target_arches[target]:
Index: BuilderManager.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/BuilderManager.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- BuilderManager.py 6 Aug 2005 02:35:07 -0000 1.10
+++ BuilderManager.py 8 Aug 2005 02:54:16 -0000 1.11
@@ -83,10 +83,10 @@
# If the address is "https" but we aren't set up for SSL, exit
if address.startswith('https') and not config_opts['ssl_builders']:
print "Builder address (%s) starts with 'https', but the 'ssl_builders' option is set to False." % address
- os._exit(1)
+ continue
elif address.startswith('http:') and config_opts['ssl_builders']:
print "Builder address (%s) starts with 'http', but the 'ssl_builders' option is set to True." % address
- os._exit(1)
+ continue
# If the address is already in our _builders list, skip it
skip = False
Index: UserInterface.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/UserInterface.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- UserInterface.py 6 Aug 2005 02:35:07 -0000 1.43
+++ UserInterface.py 8 Aug 2005 02:54:16 -0000 1.44
@@ -365,7 +365,8 @@
# Get all archjobs for this job
if len(uids) > 0:
- sql = "SELECT jobid, parent_uid, starttime, endtime, arch, builder_addr, status, builder_status FROM archjobs WHERE " + uids
+ sql = "SELECT jobid, parent_uid, starttime, endtime, arch, builder_addr, " \
+ "builder_port, status, builder_status FROM archjobs WHERE " + uids
curs.execute(sql)
data = curs.fetchall()
for row in data:
@@ -376,6 +377,7 @@
ajrec['endtime'] = row['endtime']
ajrec['arch'] = row['arch']
ajrec['builder_addr'] = row['builder_addr']
+ ajrec['builder_port'] = row['builder_port']
ajrec['status'] = row['status']
ajrec['builder_status'] = row['builder_status']
for job in jobs:
@@ -428,8 +430,8 @@
jobrec['archjobs'] = []
# Get all archjobs for this job
- sql = "SELECT jobid, parent_uid, starttime, endtime, arch, builder_addr, status, " \
- "builder_status FROM archjobs WHERE parent_uid=%d " % uid
+ sql = "SELECT jobid, parent_uid, starttime, endtime, arch, builder_addr, builder_port, " \
+ "status, builder_status FROM archjobs WHERE parent_uid=%d " % uid
curs.execute(sql)
data = curs.fetchall()
for row in data:
@@ -440,6 +442,7 @@
ajrec['endtime'] = row['endtime']
ajrec['arch'] = row['arch']
ajrec['builder_addr'] = row['builder_addr']
+ ajrec['builder_port'] = row['builder_port']
ajrec['status'] = row['status']
ajrec['builder_status'] = row['builder_status']
jobrec['archjobs'].append(ajrec)
More information about the scm-commits
mailing list