[CalendarServer-users] Port issue

Douglas O'Connor business at dougoconnor.com
Mon Oct 29 11:02:51 PDT 2007


Hi Cyrus, Emil, et. al,

Thank-you for your explanation of how some of the different pieces  
work together with the server(s)/processors and whatnot. I found the  
PyDirector service you're looking for, and it cat's the way you would  
expect: "four services setup in that config file - two of which  
listen on localhost and two of which listen on the external address  
on the ports you have specified." Ex:

<pdconfig>

     <service name="http">
         <listen ip="127.0.0.1:8008" />
         <group name="main" scheduler="leastconns">
           <host name="caldav-8009" ip="127.0.0.1:8009" />
<host name="caldav-8010" ip="127.0.0.1:8010" />
         </group>
         <enable group="main" />
     </service>


     <service name="https">
         <listen ip="127.0.0.1:8443" />
         <group name="main" scheduler="leastconns">
           <host name="caldav-8444" ip="127.0.0.1:8444" />
<host name="caldav-8445" ip="127.0.0.1:8445" />
         </group>
         <enable group="main" />
     </service>

(I've only listed the localhost params for privacy purposes) I assume  
that what's listed above is quite normal, although I don't quite  
understand why it assigns hostnames on ports 8009 and 8010 for http,  
or on 8444 and 8445 for the https, especially when it's listening on  
8008 and 8443 respectively. As long as it works, right? :)

On the other box, a single-processor G4, I have DCS running with no  
problems, and it doesn't do this. It doesn't load PyDirector at all,  
I assume because it doesn't need to balance loads between multiple  
processors, and perhaps this is the key difference? PyDirector is the  
problem on my newer duocore machine? If so, still, how do I address  
this?

And on both boxes, I get the lines:

2007-10-29 13:53:18-0400 [-] [caldav-8008]  [startup] Setting up  
scheme: kerberos
2007-10-29 13:53:18-0400 [-] [caldav-8008]   
[KerberosCredentialFactoryBase] getServerPrincipalDetails: ('Cannot  
get sequence cursor from keytab', 2)
2007-10-29 13:53:18-0400 [-] [caldav-8008]  [startup] Could not start  
Kerberos

I thought this might have been the stumbling block on my MacBookPro,  
the machine I'm having problems with, but since it happens on the G4  
too maybe it doesn't matter. Or perhaps I just haven't gotten to the  
point on the G4 where it does matter. Anyhow, any advice on this one?

Many thanks,

-Doug


On Oct 29, 2007, at 11:44 AM, Cyrus Daboo wrote:

> Hi Douglas,
>
> --On October 29, 2007 3:04:07 AM -0400 Douglas O'Connor  
> <business at dougoconnor.com> wrote:
>
>> 1.) Double-checked all the file names and port numbers: as far as  
>> I can
>> still, it's all good.
>> 2.) I'm using OSX 10.4.10 Tiger, Python 2.4, Subversion 1.4.5, Apache
>> 2.2.6, APR 1.2.11, and APR-UTIL 1.2.10. The firewall is down for the
>> ports that I've configured DCS to listen on (8008 and 8443).
>> 3.) No error logs come through, the only logfiles I can actually open
>> don't contain much (access.log).
>> 4.) DCS works on the localhost, but not on the port that I assign  
>> it in
>> the caldavd-dev.plist. In fact, it always assigns to one or two ports
>> higher than what I tell it, and it ignores my serverhostname and IP
>> address that I give to it. (See the verbose run script below to
>> understand more clearly). I don't know why it changes the port, but
>> whichever one it chooses I can access on localhost just fine.
>> 5.) The collection listing is solid, no problems there, it  
>> reflects my
>> plist and xml arrangements.
>>
>> Here below is the run script readout:
>>
>
> Some things to note: the server architecture we have allows for the  
> "server" to actual spawn multiple server processes for handling  
> requests. By default we spawn one server instance per cpu/core.  
> When we do that, each server instance listens only on 127.0.0.1 and  
> on a port that is different from the main one configured in  
> the .plist (we increase the port numbers by one for each instance).  
> We then also start a load balancer process (pydirector) that should  
> be listening on all the interfaces/ports specified in the .plist,  
> and that will redirect incoming requests to each server instance in  
> an appropriate fashion. The error.log file (or stdout) will show  
> the localhost and instance port numbers, not the interface/port of  
> the load balancer. So you need to ignore those and just attempt to  
> connect on the interfaces/ports in the caldavd.plist.
>
> Can you start the server again and look for the 'Adding pydirector  
> service with configuration: XXX' line in the log output, and then  
> in another terminal window cat the XXX file listed there. You  
> should see four services setup in that config file - two of which  
> listen on localhost and two of which listen on the external address  
> on the ports you have specified. Can you double-check that?
>
> -- 
> Cyrus Daboo
>



More information about the calendarserver-users mailing list