[CalendarServer-changes] [14095] CalendarServer/trunk/txdav/base/datastore/subpostgres.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Oct 21 10:38:32 PDT 2014


Revision: 14095
          http://trac.calendarserver.org//changeset/14095
Author:   sagen at apple.com
Date:     2014-10-21 10:38:32 -0700 (Tue, 21 Oct 2014)
Log Message:
-----------
Run initdb whenever there is no cluster.pg (even if Database.xpg already exists)

Modified Paths:
--------------
    CalendarServer/trunk/txdav/base/datastore/subpostgres.py

Modified: CalendarServer/trunk/txdav/base/datastore/subpostgres.py
===================================================================
--- CalendarServer/trunk/txdav/base/datastore/subpostgres.py	2014-10-21 16:51:27 UTC (rev 14094)
+++ CalendarServer/trunk/txdav/base/datastore/subpostgres.py	2014-10-21 17:38:32 UTC (rev 14095)
@@ -557,6 +557,7 @@
 
         if self.socketDir:
             if not self.socketDir.isdir():
+                log.warn("Creating {dir}", dir=self.socketDir.path)
                 self.socketDir.createDirectory()
 
             if self.uid and self.gid:
@@ -564,18 +565,21 @@
 
             os.chmod(self.socketDir.path, 0770)
 
-        if self.dataStoreDirectory.isdir():
-            self.startDatabase()
-        else:
+        if not self.dataStoreDirectory.isdir():
+            log.warn("Creating {dir}", dir=self.dataStoreDirectory.path)
             self.dataStoreDirectory.createDirectory()
 
-            if not self.workingDir.isdir():
-                self.workingDir.createDirectory()
+        if not self.workingDir.isdir():
+            log.warn("Creating {dir}", dir=self.workingDir.path)
+            self.workingDir.createDirectory()
 
-            if self.uid and self.gid:
-                os.chown(self.dataStoreDirectory.path, self.uid, self.gid)
-                os.chown(self.workingDir.path, self.uid, self.gid)
+        if self.uid and self.gid:
+            os.chown(self.dataStoreDirectory.path, self.uid, self.gid)
+            os.chown(self.workingDir.path, self.uid, self.gid)
 
+        if not clusterDir.isdir():
+            # No cluster directory, run initdb
+            log.warn("Running initdb for {dir}", dir=clusterDir.path)
             dbInited = Deferred()
             self.reactor.spawnProcess(
                 CapturingProcessProtocol(dbInited, None),
@@ -595,7 +599,12 @@
 
             dbInited.addCallback(doCreate)
 
+        else:
+            log.warn("Cluster already exists at {dir}", dir=clusterDir.path)
+            self.startDatabase()
 
+
+
     def stopService(self):
         """
         Stop all child services, then stop the subprocess, if it's running.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20141021/b6847812/attachment.html>


More information about the calendarserver-changes mailing list