How to use supervisor in the unified installer buildout?

4 messages Options
Embed this post
Permalink
Mirto Silvio Busico-2 () How to use supervisor in the unified installer buildout?
Reply Threaded More More options
Print post
Permalink
Hi all,

I'm trying to add varnish, pound and supervisor in the buildout
generated by the unified installer.

While all seems to work If I launch manually startcluster.sh varnish and
pound generated scripts, I'm not able to setup a valid supervisor
definition.

In buildout.cfg I have:
______________________________________________________
...
# This recipe installs the plonectl script and a few other convenience
# items.
# For options see http://pypi.python.org/pypi/plone.recipe.unifiedinstaller
[unifiedinstaller]
recipe = plone.recipe.unifiedinstaller
user = ${client1:user}
primary-port = ${client1:http-address}
sudo-command =sudo

[pound-build]
recipe = plone.recipe.pound:build
# before do:
# apt-get install libssl-dev
url = http://www.apsis.ch/pound/Pound-2.3.2.tgz

[pound]
recipe = plone.recipe.pound:config
daemon = 0
timeout = 90
balancers =
    QuiPlone 127.0.0.1:8001 127.0.0.1:8080 127.0.0.1:8081

[supervisor]
recipe = collective.recipe.supervisor

port = localhost:8003
user = admin
password = drillococco

programs =
    10 zeoserver ${buildout:directory}/bin/zeoserver ${zeoserver:location}
    20 client1 ${buildout:directory}/bin/client1 ${client1:location}
    30 client2 ${buildout:directory}/bin/client2 ${client2:location}
    40 varnish ${buildout:directory}/bin/varnish ${buildout:directory}
    50 pound ${buildout:directory}/bin/poundrun ${buildout:directory}

[varnish-build]
recipe = zc.recipe.cmmi
url = http://downloads.sourceforge.net/varnish/varnish-2.0.2.tar.gz

[varnish]
recipe = plone.recipe.varnish
daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
bind = 0.0.0.0:8000
backends = 127.0.0.1:8001
telnet = 127.0.0.1:8002
cache-size = 1G
______________________________________________________

When I start supervisord, supervisorctl says:

_______________________________________________________
mirto@msb02:/usr/local/Plone/zeocluster$ sudo bin/supervisorctl
[sudo] password for mirto:
client1                          RUNNING    pid 10248, uptime 0:00:17
client2                          RUNNING    pid 10253, uptime 0:00:17
pound                            RUNNING    pid 10255, uptime 0:00:17
varnish                          FATAL      Exited too quickly (process
log may have details)
zeoserver                        FATAL      Exited too quickly (process
log may have details)
supervisor> quit
_______________________________________________________

But ps -el says that there are 2 varnish process and a zeoserver process
running.

What I'm doing wrong?

Thanks
    Mirto













[mirtosilvio_busico.vcf]

begin:vcard
fn:Mirto Silvio Busico
n:Busico;Mirto Silvio
org:Busico Mirto Silvio
adr:;;Via Casiglion De' Pepoli 84;Roma;RM;00127;Italia
email;internet:[hidden email]
title:Dr.
tel;work:+39 333 4562651
tel;cell:+39 333 4562651
x-mozilla-html:TRUE
version:2.1
end:vcard



_______________________________________________
Setup mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/setup
Raphael Ritz () Re: How to use supervisor in the unified installer buildout?
Reply Threaded More More options
Print post
Permalink
Mirto Silvio Busico wrote:
> Hi all,

Hi Mirto,

I'll comment inline below what I think you are missing.

>
[..]


>
> programs =
>    10 zeoserver ${buildout:directory}/bin/zeoserver ${zeoserver:location}

Change the above to use 'runzeo' instead

>    20 client1 ${buildout:directory}/bin/client1 ${client1:location}
>    30 client2 ${buildout:directory}/bin/client2 ${client2:location}
>    40 varnish ${buildout:directory}/bin/varnish ${buildout:directory}
>    50 pound ${buildout:directory}/bin/poundrun ${buildout:directory}

To these four above add 'true' to the call

>
> [varnish-build]
> recipe = zc.recipe.cmmi
> url = http://downloads.sourceforge.net/varnish/varnish-2.0.2.tar.gz
>
> [varnish]
> recipe = plone.recipe.varnish
> daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
> bind = 0.0.0.0:8000
> backends = 127.0.0.1:8001
> telnet = 127.0.0.1:8002
> cache-size = 1G

add: mode = foreground

Does this make a difference?

BTW: all these changes are to make sure that the processes managed
by supervisor are run in foreground mode to enable supervisor to
take care of the daemonizing itself.

HTH

        Raphael


> ______________________________________________________
>
> When I start supervisord, supervisorctl says:
>
> _______________________________________________________
> mirto@msb02:/usr/local/Plone/zeocluster$ sudo bin/supervisorctl
> [sudo] password for mirto:
> client1                          RUNNING    pid 10248, uptime 0:00:17
> client2                          RUNNING    pid 10253, uptime 0:00:17
> pound                            RUNNING    pid 10255, uptime 0:00:17
> varnish                          FATAL      Exited too quickly (process
> log may have details)
> zeoserver                        FATAL      Exited too quickly (process
> log may have details)
> supervisor> quit
> _______________________________________________________
>
> But ps -el says that there are 2 varnish process and a zeoserver process
> running.
>
> What I'm doing wrong?
>
> Thanks
>    Mirto
>
>
>
>
>
>
>
>
>
>
>
>


_______________________________________________
Setup mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/setup
Mirto Silvio Busico-2 () Re: Re: How to use supervisor in the unified installer buildout?
Reply Threaded More More options
Print post
Permalink
Raphael Ritz ha scritto:
> Mirto Silvio Busico wrote:
>> Hi all,
>
> Hi Mirto,
>
> I'll comment inline below what I think you are missing.
Hi Raphael,
I tried and, see below.

>
>>
> [..]
>
>
>>
>> programs =
>>    10 zeoserver ${buildout:directory}/bin/zeoserver
>> ${zeoserver:location}
>
> Change the above to use 'runzeo' instead
Well the unified installe buildout doesn't generate any runzeo
In the bin directory I have:
buildout  clusterstatus.sh  pound-build   poundrun          
restartcluster.sh   supervisorctl  zeopack
client1   paster            poundcontrol  repozo            
shutdowncluster.sh  supervisord    zeoserver
client2   plonectl          poundctl      restartclients.sh  
startcluster.sh     varnish        zopepy

Which one I have to use? Or I have to change the buildout.cfg?
>
>>    20 client1 ${buildout:directory}/bin/client1 ${client1:location}
>>    30 client2 ${buildout:directory}/bin/client2 ${client2:location}
>>    40 varnish ${buildout:directory}/bin/varnish ${buildout:directory}
>>    50 pound ${buildout:directory}/bin/poundrun ${buildout:directory}
>
> To these four above add 'true' to the call
Done
now I have:
programs =
    10 zeoserver ${buildout:directory}/bin/zeoserver
${zeoserver:location} (I'll correct later)
    20 client1 ${buildout:directory}/bin/client1 ${client1:location} true
    30 client2 ${buildout:directory}/bin/client2 ${client2:location} true
    40 varnish ${buildout:directory}/bin/varnish ${buildout:directory} true
    50 pound ${buildout:directory}/bin/poundrun ${buildout:directory} true

>
>>
>> [varnish-build]
>> recipe = zc.recipe.cmmi
>> url = http://downloads.sourceforge.net/varnish/varnish-2.0.2.tar.gz
>>
>> [varnish]
>> recipe = plone.recipe.varnish
>> daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
>> bind = 0.0.0.0:8000
>> backends = 127.0.0.1:8001
>> telnet = 127.0.0.1:8002
>> cache-size = 1G
>
> add: mode = foreground
Done
>
> Does this make a difference?
Well, seems that now varnish starts correctly, but there are a lot of
other problems: pound doesn't start and client1 client2 seems started
but the instances doesn't respond.
I'll start another tread because the problem is: the scripts generated
by the unified installers are not usable as supervisor commands.
>
> BTW: all these changes are to make sure that the processes managed
> by supervisor are run in foreground mode to enable supervisor to
> take care of the daemonizing itself.
>
> HTH
>
>     Raphael
Thanks
    Mirto


[mirtosilvio_busico.vcf]

begin:vcard
fn:Mirto Silvio Busico
n:Busico;Mirto Silvio
org:Busico Mirto Silvio
adr:;;Via Casiglion De' Pepoli 84;Roma;RM;00127;Italia
email;internet:[hidden email]
title:Dr.
tel;work:+39 333 4562651
tel;cell:+39 333 4562651
x-mozilla-html:TRUE
version:2.1
end:vcard



_______________________________________________
Setup mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/setup
Mirto Silvio Busico-2 () [SOLVED] Re: Re: How to use supervisor in the unified installer buildout?
Reply Threaded More More options
Print post
Permalink
In reply to this post by Raphael Ritz
No need to start another thread.
The solution is to set the supervisor lines to:
__________________________________________________________________________________________

[supervisor]
recipe = collective.recipe.supervisor

port = localhost:9001
user = admin
password = drillococco

programs =
    10 zeoserver ${zeoserver:location}/bin/runzeo ${zeoserver:location}
    20 client1 ${client1:location}/bin/runzope ${client1:location} true
    30 client2 ${client2:location}/bin/runzope ${client2:location} true
    40 varnish ${buildout:directory}/bin/varnish ${buildout:directory} true
    50 pound ${buildout:directory}/bin/poundrun ${buildout:directory} true

__________________________________________________________________________________________________


Thanks a lot Raphael
    Mirto


Raphael Ritz ha scritto:

> Mirto Silvio Busico wrote:
>> Hi all,
>
> Hi Mirto,
>
> I'll comment inline below what I think you are missing.
>
>>
> [..]
>
>
>>
>> programs =
>>    10 zeoserver ${buildout:directory}/bin/zeoserver
>> ${zeoserver:location}
>
> Change the above to use 'runzeo' instead
>
>>    20 client1 ${buildout:directory}/bin/client1 ${client1:location}
>>    30 client2 ${buildout:directory}/bin/client2 ${client2:location}
>>    40 varnish ${buildout:directory}/bin/varnish ${buildout:directory}
>>    50 pound ${buildout:directory}/bin/poundrun ${buildout:directory}
>
> To these four above add 'true' to the call
>
>>
>> [varnish-build]
>> recipe = zc.recipe.cmmi
>> url = http://downloads.sourceforge.net/varnish/varnish-2.0.2.tar.gz
>>
>> [varnish]
>> recipe = plone.recipe.varnish
>> daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
>> bind = 0.0.0.0:8000
>> backends = 127.0.0.1:8001
>> telnet = 127.0.0.1:8002
>> cache-size = 1G
>
> add: mode = foreground
>
> Does this make a difference?
>
> BTW: all these changes are to make sure that the processes managed
> by supervisor are run in foreground mode to enable supervisor to
> take care of the daemonizing itself.
>
> HTH
>
>     Raphael
>
>
>> ______________________________________________________
>>
>> When I start supervisord, supervisorctl says:
>>
>> _______________________________________________________
>> mirto@msb02:/usr/local/Plone/zeocluster$ sudo bin/supervisorctl
>> [sudo] password for mirto:
>> client1                          RUNNING    pid 10248, uptime 0:00:17
>> client2                          RUNNING    pid 10253, uptime 0:00:17
>> pound                            RUNNING    pid 10255, uptime 0:00:17
>> varnish                          FATAL      Exited too quickly
>> (process log may have details)
>> zeoserver                        FATAL      Exited too quickly
>> (process log may have details)
>> supervisor> quit
>> _______________________________________________________
>>
>> But ps -el says that there are 2 varnish process and a zeoserver
>> process running.
>>
>> What I'm doing wrong?
>>
>> Thanks
>>    Mirto
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
> _______________________________________________
> Setup mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/setup
>

[mirtosilvio_busico.vcf]

begin:vcard
fn:Mirto Silvio Busico
n:Busico;Mirto Silvio
org:Busico Mirto Silvio
adr:;;Via Casiglion De' Pepoli 84;Roma;RM;00127;Italia
email;internet:[hidden email]
title:Dr.
tel;work:+39 333 4562651
tel;cell:+39 333 4562651
x-mozilla-html:TRUE
version:2.1
end:vcard



_______________________________________________
Setup mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/setup