Running buildout but getting errors

I'm using Plone-in-a-Box on a DigitalOcean Ubuntu instance. It's a fresh install and everything works fine. However, I changed the buildout.cfg file slightly (changed the initial username and password) and I run the following:

/opt/plone/zeocluster# sudo -u plone_buildout bin/buildout

But I get the following output:

Updating zeoserver.
Updating client1.
Updating client2.
Updating backup.
Updating zopepy.
Updating unifiedinstaller.
Updating precompiler.
Compiling Python files.
/opt/plone/buildout-cache/eggs/plone.app.contenttypes-2.1.10-py3.8.egg/plone/app/contenttypes/migration/utils.py:482: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if source_type is 'DX':
/opt/plone/buildout-cache/eggs/plone.app.contenttypes-2.1.10-py3.8.egg/plone/app/contenttypes/migration/utils.py:483: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if target_type is 'AT' and not is_referenceable(source_obj):
  File "/opt/plone/buildout-cache/eggs/repoze.catalog-0.9.0-py3.8.egg/benchmark/intersection.py", line 229
    print "Cost of algorithm 1 / Cost of algorithm 2"
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Cost of algorithm 1 / Cost of algorithm 2")?

  File "/opt/plone/buildout-cache/eggs/repoze.catalog-0.9.0-py3.8.egg/benchmark/sortbench.py", line 81
    print msg
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(msg)?

  File "/opt/plone/buildout-cache/eggs/plone.staticresources-1.3.2-py3.8.egg/plone/staticresources/static/components/jqtree/_entries/insert.py", line 44
    print 'rename %s to %s' % (old_filename, new_filename)
          ^
SyntaxError: invalid syntax

  File "/opt/plone/buildout-cache/eggs/plone.staticresources-1.3.2-py3.8.egg/plone/staticresources/static/components/jqtree/_entries/renumber.py", line 36
    print 'rename %s to %s' % (old_filename, new_filename)
          ^
SyntaxError: invalid syntax

/opt/plone/buildout-cache/eggs/python_memcached-1.59-py3.8.egg/memcache.py:1303: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if key is '':
/opt/plone/buildout-cache/eggs/python_memcached-1.59-py3.8.egg/memcache.py:1304: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if key_extra_len is 0:
  File "/opt/plone/buildout-cache/eggs/zodbpickle-2.0.0-py3.8-linux-x86_64.egg/zodbpickle/pickletools_2.py", line 1803
    print "skipping %r: it doesn't look like an opcode name" % name
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("skipping %r: it doesn't look like an opcode name" % name)?

  File "/opt/plone/buildout-cache/eggs/zodbpickle-2.0.0-py3.8-linux-x86_64.egg/zodbpickle/pickle_2.py", line 882
    except _Stop, stopinst:
                ^
SyntaxError: invalid syntax

  File "/opt/plone/buildout-cache/eggs/zodbpickle-2.0.0-py3.8-linux-x86_64.egg/zodbpickle/tests/pickletester_2.py", line 433
    x = [0, 1L, 2.0, 3.0+0j]
             ^
SyntaxError: invalid syntax

Compiling locale files.
Updating setpermissions.
setpermissions: Running # Dummy references to force this to execute after referenced parts
echo /opt/plone/zeocluster/var/backups yes > /dev/null
chmod 600 .installed.cfg
# Make sure anything we've created in var is r/w by our group
find /opt/plone/zeocluster/var -type d -exec chmod 770 {} \; 2> /dev/null
find /opt/plone/zeocluster/var -type f -exec chmod 660 {} \; 2> /dev/null
find /opt/plone/zeocluster/var -type d -exec chmod 770 {} \; 2> /dev/null
find /opt/plone/zeocluster/var -type f -exec chmod 660 {} \; 2> /dev/null
chmod 754 /opt/plone/zeocluster/bin/*

What am I doing wrong? What are all these errors?

You don't need to worry about those errors. Buildout is trying to pre-compile all Python files, but some of the packages contain Python files with old code that is not used at runtime (or used only on Python 2).

Thanks @davisagli

But now how do I restart Plone? I try this:

sudo -u plone_buildout /opt/plone/zeocluster/bin/plonectl restart

But it says:

PermissionError: [Errno 13] Permission denied: '/opt/plone/zeocluster/var/zeoserver/zeoserver.log'
. . . . . . . . . .
daemon manager not running
client1: .
daemon process started, pid=172580
client2: .
daemon process restarted, pid=172584

But when I do:

sudo -u plone_buildout /opt/plone/zeocluster/bin/plonectl status

it says:

zeoserver: daemon manager not running

But when I visit it in a browser, it definitely is running. What am I missing? Also, the changes I made in buildout.cfg are not showing up in the version that's running.

But when I visit it in a browser, it definitely is running. What am I missing?

It looks like the Zope application server started successfully, but ZEO (the database server) did not start, because of a permission error when opening the log file. Make sure that /opt/plone/zeocluster/var is owned by the plone_buildout user.

Also, the changes I made in buildout.cfg are not showing up in the version that's running.

Changes to buildout.cfg will not have any effect until you run bin/buildout again, and then restart the processes.

Thanks @davisagli

I found out that the log file is owned by plone_daemon, so I ran this instead:

sudo -u plone_daemon /opt/plone/zeocluster/bin/plonectl restart

But I get this output:

zeoserver: . . . . . . . . . . .
daemon manager not running
client1: .
daemon process started, pid=173728
client2: . . . . . . . . . . .
daemon manager not running
root@ploneinabox-test:/opt/plone/zeocluster# Unlinking stale socket /opt/plone/zeocluster/var/client2/zopectlsock; sleep 1
/opt/plone/buildout-cache/eggs/zdaemon-4.3-py3.8.egg/zdaemon/zdrun.py:267: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
  self.logger.warn(msg)
Unlinking stale socket /opt/plone/zeocluster/var/client2/zopectlsock; sleep 1

When I visit the Plone site in a browser it now says " This site can’t be reached [IP address here] refused to connect."

When I type

sudo -u plone_daemon /opt/plone/zeocluster/bin/plonectl status

I am getting "zeoserver: daemon manager not running" and when I try again with "sudo -u plone_daemon /opt/plone/zeocluster/bin/plonectl start" instead of "restart" this time, I get:

zeoserver: .
daemon process started, pid=173980
client1: daemon process already running; pid=173931
client2: daemon process already running; pid=173961

Which looks like no errors. But again, when I go to the web address, the site is unavailable. What did I do wrong?

Umm.. it worked for a second but now it's down again. I don't know what is going on! Status still says "not running"

I'm not sure what is wrong. Check the logs.

Check that the zeoserver process has write access to the data folder. I usually need to run sudo chown -R 500 /path/to/data, but it depends on the system user that the plone instance is configured to run with.

The processes got stuck. Kill them and then run start again.

Thanks everyone! I got it working again. Basically I had to kill off all the plone processes, then restart, and it worked.

One problem, I still can't get the buildout to work. When I run buildout, it gave me all those errors (which I pasted in my original post up there). David said not to worry about those errors, but I don't know if it's because of those errors or not, but when I run plone, the changes I made in my buildout.cfg file are not showing up. For instance, I changed the initial user from admin:admin to a custom user. But after I run buildout (and get all those errors, which I ignore), then I restart Plone, the user is still admin:admin instead of my new custom user. Any ideas?

@dcplebranch The initial user is only created once when the Zope database is first created. That's what initial means. If you want to add another admin user, there is a command for that, which I think is plonectl client1 adduser <name> <password> when you are using plonectl.

@davisagli OK, but what if I want to delete the initial user? I can't find it under my users or anything. admin/admin is not a secure login/password, and I need to get rid of it somehow! Thanks,

Go to youplonesite/manage -> acl_users -> source_users -> there you can add/delete/change password to Zope users and you can change the admin password.

The account is in the database, buildout usually don't change the db but create the environment to run plone.

@yurj Hey Yuri, I went there already and the initial user is not listed there. All the other users are listed, but not the initial one.

Sorry, I mean you've to go to the zope root (usually the ip:8080/manage) -> acl_users -> users

the admin user is there.

I did... I'm in the Zope root. The initial user is not there. All the other users are.

does the acl_users object contains users or source_users? The former is the Zope root, and you will see a Control Panel in the left side, while the latter is Plone ZMI.

Plone root:
plone_root

Zope root:
zope_root

users at Zope root:

@yurj Oh that worked! Thanks, yeah I was at the Plone ZMI instead of the Zope root, that was the problem. Thank you so much!

1 Like