Zato 3.0: [Errno 13] Permission denied on server startup

We’ve been having problems for a few days now. We have Zato deployed on a Ubuntu 18.04.2 LTS server, and it has almost always worked without problems. However, recently we had to restart the server, and by doing so Zato has stopped working. When starting it, it runs until step 6/7 without problem, that is, the scheduler, but after that, we get the following message:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/opt/zato/3.0/code/zato-scheduler/src/zato/scheduler/main.py", line 77, in <module>
    main()
  File "/opt/zato/3.0/code/zato-scheduler/src/zato/scheduler/main.py", line 47, in main
    dictConfig(yaml.load(f))
  File "/usr/lib/python2.7/logging/config.py", line 794, in dictConfig
    dictConfigClass(config).configure()
  File "/usr/lib/python2.7/logging/config.py", line 576, in configure
    '%r: %s' % (name, e))
ValueError: Unable to configure handler 'default': [Errno 13] Permission denied: '/opt/zato/env/SP2-0/scheduler/logs/server.log

We believe this is because, although it seems to start servers 1 and 2, these are not active (they appear as DOWN on the web-admin) and therefore we cannot use the services or access the list of services.

We have tried to start the servers individually with zato start /opt/zato/env/SP2-0/server1, and although it appears OK it does not seem to be running, because if we use zato stop /opt/zato/env/SP2-0/server2, the following message appears: OSError: (3, ‘No such process’) (Hint: re-run with --verbose for full traceback).

Sometimes when starting Zato it does not complete the 7 steps, but it appears an error in step 4, appearing the following message:

[4/7] server1 started
No handlers could be found for logger “zato.common.util.proc”

If you knew why it could be happening we would appreciate it, we are a little desperate

Hello @Bolsiser,

I have just realised that you use Zato 3.0.

There is no free support for this version anymore, please check the release policy below:

https://zato.io/docs/3.0/release/policy.html

What ownership and permissions does the file /opt/zato/env/SP2-0/scheduler/logs/server.log have?

Also, before starting the services, have you checked none of them are running?

Finally, you should upgrade to a newer version of Zato, as 3.0 is not supported anymore as per its release policy.

Thank you! Is there an easy way to upgrade to 3.1? I prefer to update and check that the errors persist in the new version.

In order to upgrade from 3.0 to 3.1, all you need to do is:

  1. Create a new installation of Zato 3.1, separate from the 3.0 one you already have.
  2. Export definitions using enmasse in the 3.0 installation.
  3. Deploy your application or services into the new installation.
  4. Import definitions using enmasse into the new environment.

Thank you very much for the answer. At the moment I have solved the problem in a quick way since we had to present our design this week, and after a year it stopped working. The solution has been to create a new cluster with quickstart in the same installation we had done. Once it happens this week we will update to 3.1.

Once again thank you very much for the answer and for Zato, we are working a lot with it and I hope to keep active around here!

Hi again! I think there’s a bug in the Ubuntu installation documentation for Python 3, the link to package signing key doesn’t exist. I checked the Ubuntu installation documentation for both Python 2.x and Python 3.x just in case, in Python 2.x it is operational.