Plone ansible: Permission denied: '/var/local/plone-5.0/zeoserver/blobstorage

I'm using the stable version (master) of the Plone ansible.playbook

I've created a custom local-configuration.yml file which is similar to this:


admin_email: admin@example.com

plone_initial_password: blahblah
# muninnode_query_ips:
#    - ip.of.munin.monitor
# If you do not have a Munin monitor running, comment out the
# muninnode_query_ips and uncomment the line below:
install_muninnode: no
# Major settings
# --------------

# Plone 4.3.x and 5.0.x are currently tested and working.
# Make sure this setting is quoted so that it's interpreted as a string.
plone_version: '5.0.4'

# 2 clients
plone_client_count: 2

# smallish
plone_zodb_cache_size: 15000

# and enforce that with a memory-monitor
plone_client_max_memory: 750MB

plone_additional_eggs:
    - Products.QuickImporter

When I run:

ansible-playbook -i mysite_host playbook.yml 

I eventually get an error containing "Permission denied: '/var/local/plone-5.0/zeoserver/blobstorage"
See traceback below:

TASK [plone.plone_server : Install site creation run script] *******************
ok: [mysite.example.com]

TASK [plone.plone_server : Create initial Plone site] **************************
fatal: [mysite.example.com]: FAILED! => {"changed": true, "cmd": ["bin/client_reserved", "run", "scripts/addPloneSite.py"], "delta": "0:00:07.704353", "end": "2016-04-29 11:02:06.432948", "failed": true, "rc": 1, "start": "2016-04-29 11:01:58.728595", "stderr": "Traceback (most recent call last):\n  File \"/usr/local/plone-5.0/zeoserver/parts/client_reserved/bin/interpreter\", line 266, in <module>\n    exec(_val)\n  File \"<string>\", line 1, in <module>\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/Zope2/__init__.py\", line 51, in app\n    startup()\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/Zope2/__init__.py\", line 47, in startup\n    _startup()\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/Zope2/App/startup.py\", line 81, in startup\n    DB = dbtab.getDatabase('/', is_root=1)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/Zope2/Startup/datatypes.py\", line 287, in getDatabase\n    db = factory.open(name, self.databases)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/Zope2/Startup/datatypes.py\", line 185, in open\n    DB = self.createDB(database_name, databases)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/Zope2/Startup/datatypes.py\", line 182, in createDB\n    return ZODBDatabase.open(self, databases)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/config.py\", line 101, in open\n    storage = section.storage.open()\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/config.py\", line 220, in open\n    **options)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZEO/ClientStorage.py\", line 387, in __init__\n    self.fshelper = ZODB.blob.FilesystemHelper(blob_dir)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/blob.py\", line 330, in __init__\n    layout_name = auto_layout_select(base_dir)\n  File \"/usr/local/plone-5.0/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/blob.py\", line 516, in auto_layout_select\n    for name in os.listdir(path):\nOSError: [Errno 13] Permission denied: '/var/local/plone-5.0/zeoserver/blobstorage'", "stdout": "", "stdout_lines": [], "warnings": []}

Just a guess - it could be permissions on directories from a previous run are not favourable.

IF you can without damaging anything, you could try wiping out /var/local/plone-5.0/zeoserver and re-running, otherwise you'll need to examine permissions more carefully.

1 Like

Try changing the permissions of all your files to the user and group that runs plone:

chmod -R plone.plone /path/to/the/plone-root-folder

That command must be run as root. Be careful to specify the right user, group and folder or you could end with a lot of trobules.

@djowett this has helped. There's another issue but it most likely relates to a badly configured custom buildout.

@pigeonflight good to hear