[Framework-Team] Testing for PLIP 209: Unified Installer Plus Buildout

Martijn Pieters mj at zopatista.com
Sun Feb 10 16:54:40 UTC 2008


On Jan 17, 2008 2:00 AM, Steve McMahon <steve at dcn.org> wrote:
> An implementation of PLIP 209: "Unified Installer Plus Buildout" is
> available for testing at:
>
> https://launchpad.net/plone/3.0/3.0.5/+download/Plone-3.0.5-UnifiedInstallerBuildout-beta1.tar.gz

You have since created a beta2:

  https://launchpad.net/plone/3.0/3.0.5/+download/Plone-3.0.5-UnifiedInstallerBuildout-beta2.tar.gz

:-)

As there is no review bundle possible for this, I'll give my review
notes in this reply:

I tested the full download and tested the different installation
options on both Mac OS X and Linux (Debian Etch). Everything worked
absolutely beautifully. In short, my verdict can be summed up as
'absolutely ruddy brilliant!'. I am very impressed with the execution
and the polish on the buildout-version of the unified installer, and
I'll certainly be reusing the precompile recipe in production
buildouts.

One remark about the as-root install using the effective user setup.
There is a problem with that setup which lies outside of the scope of
the Unified Installer, but which will perhaps come up in support
requests. Currently, zope2instance sets CLIENT_HOME as
$INSTANCE_HOME/var, which means on that this variable points to a
subdirectory of the part directory (usually parts/instance). This
means that this directory will get wiped and re-created when updating
the buildout settings for that recipe.

That wouldn't be so big a problem if it weren't for the fact that
various things get written to the CLIENT_HOME, such as the zopectl
daemon PID (at least at some point, it may be that Florian Schulze has
fixed that one). Any files written there are of course written by the
effective user, meaning that a buildout update can perhaps not delete
these files, and/or that the effective user cannot write in the
directory afterwards.

The solution is to create subdirectories of the buildout var/
directory (where filestorage and log live) for each Zope client and
for a zeo server, and setting these directories as the CLIENT_HOME for
each Zope instance. This is something that needs to be fixed in
zope2instance. Once that's done, PlacelessTranslationService has to be
fixed to use CLIENT_HOME instead of INSTANCE_HOME/var to write it's
translation files, as it does currently.

So, in summary, this PLIP has my big thumbs up. Just be aware of
potential problems around the instance home part and the effective
user due to a misconfigured CLIENT_HOME.

-- 
Martijn Pieters




More information about the Framework-Team mailing list