Reputation: 83438
On a server there are several independent Plone buildout installations, running under different UNIX accounts.
Is there any reliable mean to share buildout-cache folder on this server across all these different UNIX users? As one Plone eggs/ installation is 250 - 500 MB this would be a small win.
All UNIX users accessing the shared folder would still be able to run buildout, which adds in new eggs
New eggs would be available on the disk to other users, without need to re-pull, copy them around
The users are trusted; there is no fear them going to eggs/ and corrupting for other users
Currently the issue is that eggs/ pulled in by buildout of one UNIX users becomes not writeable by another.
My guess is that there could be some custom sudo script fixing eggs rights after each buildout run.
Any other suggested method for egg sharing?
Upvotes: 4
Views: 275
Reputation: 1058
We use collective.hostout for all production deployments esp where each install is owned by a different user. Hostout creates a shared group for the global eggs cache. It ensures any egg is group readable after buildout is run.
Upvotes: 2
Reputation: 2254
It occurs to me that another solution (not as good as the chmod recipe, imo, but maybe somebody will see some value) is to only share the download-cache - now other users will still not need to "re-pull" but keep their own eggs directory. The files in the download cache aren't writable by other users either, but who would be writing to them? [but then I'm not sure why we care that the eggs are writable, either - who is writing to egg directories?]
Upvotes: 1
Reputation: 4496
You can share all your eggs by putting them in a single directory, as you said, and you can then resolve the permission issue by adding this at your buildouts:
[buildout]
parts +=
chmod
[chmod]
recipe = plone.recipe.command
command =
chmod -R ugo+rw ${buildout:eggs-directory}
Upvotes: 5