[Zope-Checkins] SVN: Zope/branches/2.9/ #2318: Allow override of zopectl's control socket in zope.conf

Tres Seaver tseaver at palladion.com
Mon Apr 30 13:11:04 EDT 2007


Log message for revision 74937:
  #2318: Allow override of zopectl's control socket in zope.conf
  

Changed:
  U   Zope/branches/2.9/doc/CHANGES.txt
  U   Zope/branches/2.9/lib/python/Zope2/Startup/zopectl.py
  U   Zope/branches/2.9/lib/python/Zope2/Startup/zopeschema.xml

-=-
Modified: Zope/branches/2.9/doc/CHANGES.txt
===================================================================
--- Zope/branches/2.9/doc/CHANGES.txt	2007-04-30 17:08:16 UTC (rev 74936)
+++ Zope/branches/2.9/doc/CHANGES.txt	2007-04-30 17:11:03 UTC (rev 74937)
@@ -8,6 +8,9 @@
 
    Bugs fixed
 
+      - Collector #2318: Allow override of zopectl's control socket in
+        zope.conf
+
       - Collector #2316: correctly unpack DateTimeIndex dates when browsing the
         index.
 

Modified: Zope/branches/2.9/lib/python/Zope2/Startup/zopectl.py
===================================================================
--- Zope/branches/2.9/lib/python/Zope2/Startup/zopectl.py	2007-04-30 17:08:16 UTC (rev 74936)
+++ Zope/branches/2.9/lib/python/Zope2/Startup/zopectl.py	2007-04-30 17:11:03 UTC (rev 74937)
@@ -26,6 +26,7 @@
 -l/--logfile -- log file to be read by logtail command
 -u/--user -- run the daemon manager program as this user (or numeric id)
 -m/--umask -- provide octal umask for files created by the managed process
+-s/--socket-name -- socket between zopectl and zdrun
 action [arguments] -- see below
 
 Actions are commands like "start", "stop" and "status".  If -i is
@@ -45,6 +46,7 @@
 from zdaemon.zdctl import ZDCmd
 from zdaemon.zdoptions import ZDOptions
 from ZConfig.components.logger.handlers import FileHandlerFactory
+from ZConfig.datatypes import existing_dirpath
 
 
 def string_list(arg):
@@ -86,6 +88,8 @@
         self.add("user", "runner.user", "u:", "user=")
         self.add("prompt", "runner.prompt", default="zopectl>")
         self.add("umask", "runner.umask", "m:", "umask=")
+        self.add("sockname", "runner.socket_name", "s:", "socket-name=",
+                 existing_dirpath, default=None)
 
     def realize(self, *args, **kw):
         ZDOptions.realize(self, *args, **kw)
@@ -116,7 +120,10 @@
             self.program = config.runner.program
         else:
             self.program = [os.path.join(self.directory, "bin", "runzope")]
-        self.sockname = os.path.join(self.clienthome, "zopectlsock")
+        if config.runner and config.runner.socket_name:
+            self.sockname = config.runner.socket_name
+        else:
+            self.sockname = os.path.join(self.clienthome, "zopectlsock")
         self.python = sys.executable
         self.zdrun = os.path.join(os.path.dirname(zdaemon.__file__),
                                   "zdrun.py")

Modified: Zope/branches/2.9/lib/python/Zope2/Startup/zopeschema.xml
===================================================================
--- Zope/branches/2.9/lib/python/Zope2/Startup/zopeschema.xml	2007-04-30 17:08:16 UTC (rev 74936)
+++ Zope/branches/2.9/lib/python/Zope2/Startup/zopeschema.xml	2007-04-30 17:11:03 UTC (rev 74937)
@@ -187,6 +187,17 @@
        </description>
     </key>
 
+    <key name="socket-name" datatype="existing-dirpath" required="no">
+      <description>
+        Command-line option: -s or --socket-name.
+
+        The pathname of the Unix domain socket used for communication
+        between zopectl.py and zdrun.py.  The default is relative to the
+        current directory in which zdctl.py and zdrun.py are started.
+        You want to specify an absolute pathname here.
+      </description>
+    </key>
+
   </sectiontype>
 
   <sectiontype name="zodb_db" datatype=".ZopeDatabase"



More information about the Zope-Checkins mailing list