extras-buildsys/builder builder.py,1.31.2.3,1.31.2.4

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Fri Sep 9 15:48:26 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/builder
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5643/builder

Modified Files:
      Tag: STABLE_0_3
	builder.py 
Log Message:
2005-09-09  Dan Williams  <dcbw at redhat.com>

    * builder/builder.py
        - Fix hostname handling to allow binding to all addresses
            _and_ returning correct URL to server




Index: builder.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/builder/builder.py,v
retrieving revision 1.31.2.3
retrieving revision 1.31.2.4
diff -u -r1.31.2.3 -r1.31.2.4
--- builder.py	31 Aug 2005 18:28:59 -0000	1.31.2.3
+++ builder.py	9 Sep 2005 15:48:24 -0000	1.31.2.4
@@ -40,6 +40,14 @@
 from optparse import OptionParser
 
 
+def get_hostname(bind_all):
+    cfg_hostname = config_opts['hostname']
+    if cfg_hostname and len(cfg_hostname):
+        return cfg_hostname
+    elif bind_all:
+        return ''
+    return socket.gethostname()
+
 certs = {}
 
 def get_url_for_file(file_path):
@@ -54,7 +62,7 @@
         method = "https://"
     else:
         method = "http://"
-    full_url = method + config_opts['hostname'] + ":" + port + "/" + file_part
+    full_url = method + get_hostname(False) + ":" + port + "/" + file_part
     return urllib.quote(full_url)
 
 
@@ -773,8 +781,9 @@
 
     # Start up the HTTP server thread which the build server
     # pulls completed RPMs from
+    bind_hostname = get_hostname(True)
     port = config_opts['fileserver_port']
-    http_server = HTTPServer.PlgHTTPServerManager((config_opts['hostname'], port), work_dir, certs)
+    http_server = HTTPServer.PlgHTTPServerManager((bind_hostname, port), work_dir, certs)
     http_server.start()
 
     # Stop running as root
@@ -786,16 +795,16 @@
             pass
         os._exit(1)
 
-    print "Binding to address '%s' with arches: [%s]" % (config_opts['hostname'], string.join(config_opts['arches']))
+    print "Binding to address '%s' with arches: [%s]" % (bind_hostname, string.join(config_opts['arches']))
     xmlrpc_port = config_opts['xmlrpc_port']
     try:
         if config_opts['ssl_buildserver']:
-            xmlserver = AuthedXMLRPCServer.AuthedSSLXMLRPCServer((config_opts['hostname'], xmlrpc_port), None, certs)
+            xmlserver = AuthedXMLRPCServer.AuthedSSLXMLRPCServer((bind_hostname, xmlrpc_port), None, certs)
         else:
-            xmlserver = AuthedXMLRPCServer.AuthedXMLRPCServer((config_opts['hostname'], xmlrpc_port), None)
+            xmlserver = AuthedXMLRPCServer.AuthedXMLRPCServer((bind_hostname, xmlrpc_port), None)
     except socket.error, e:
         if e[0] == 98:
-            print "Error: couldn't bind to address '%s:%s'.  Is the builder already running?" % (config_opts['hostname'], xmlrpc_port)
+            print "Error: couldn't bind to address '%s:%s'.  Is the builder already running?" % (bind_hostname, xmlrpc_port)
             os._exit(1)
 
     bcs = XMLRPCBuilderServer(target_arch_dict)




More information about the fedora-extras-commits mailing list