Debian 8 Install. Unable to locate package zato

Hi Folks
I am trying to install zato on Debian 8 and as you can see from the terminal text everything seems to be ok except for the final install. All the previous steps in the install went ok. The key installed correctly, the repository was added.
I have no idea where to go from here? Thanks in advance

root@debian:~# apt-get update
Hit http://security.debian.org jessie/updates InRelease
Ign http://ftp.iinet.net.au jessie InRelease
Hit http://ftp.iinet.net.au jessie-updates InRelease
Hit http://ftp.iinet.net.au jessie Release.gpg
Hit http://ftp.iinet.net.au jessie Release
Hit http://ftp.is.debian.org wheezy-backports InRelease
Hit http://security.debian.org jessie/updates/main Sources
Hit https://zato.io jessie InRelease
Hit http://ftp.iinet.net.au jessie-updates/main Sources
Hit http://security.debian.org jessie/updates/main i386 Packages
Get:1 http://ftp.iinet.net.au jessie-updates/main i386 Packages/DiffIndex [4,456 B]
Hit http://security.debian.org jessie/updates/main Translation-en
Get:2 http://ftp.iinet.net.au jessie-updates/main Translation-en/DiffIndex [2,704 B]
Hit http://ftp.iinet.net.au jessie/main Sources
Hit http://ftp.iinet.net.au jessie/main i386 Packages
Hit http://ftp.iinet.net.au jessie/main Translation-en
Get:3 http://ftp.is.debian.org wheezy-backports/main i386 Packages/DiffIndex [16.1 kB]
Get:4 http://ftp.is.debian.org wheezy-backports/main Translation-en/DiffIndex [5,440 B]
Hit https://zato.io jessie/main i386 Packages
Get:5 https://zato.io jessie/main Translation-en_AU [162 B]
Get:6 https://zato.io jessie/main Translation-en [162 B]
Get:7 https://zato.io jessie/main Translation-en_AU [162 B]
Get:8 https://zato.io jessie/main Translation-en [162 B]
Get:9 https://zato.io jessie/main Translation-en_AU [162 B]
Get:10 https://zato.io jessie/main Translation-en [162 B]
Get:11 https://zato.io jessie/main Translation-en_AU [162 B]
Get:12 https://zato.io jessie/main Translation-en [162 B]
Get:13 https://zato.io jessie/main Translation-en_AU [162 B]
Ign https://zato.io jessie/main Translation-en_AU
Get:14 https://zato.io jessie/main Translation-en [162 B]
Ign https://zato.io jessie/main Translation-en
Fetched 28.7 kB in 15s (1,840 B/s)
Reading package lists… Done
root@debian:~# apt-get install zato
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package zato
root@debian:~#

Thank You Rafal

I am installing it now.

My final objective is to try and get zato running on a Raspberry Pi 3. From what I have read there are currently no binaries for an ARM processor?
I am trying to get RabbitMQ to send messages to WebsphereMQ V 7.5 (that does not support AMQP) and would like to run zato on the Pi to do this. Do you think that it might be possible?
I am reasonably new to Linux but am learning a lot :-).
Regards Simon

Hi Rafal

I have installed zato and Redis without too many problems :-), but when I try to do a “zato quickstart create” I get a permission denied error when it tries to create the “ca” directory!

zato@debian:~$ zato quickstart create qs-1 sqlite localhost 6379 --verbose

Key/value database password (will not be echoed):
Enter the kvdb_password again (will not be echoed):
Traceback (most recent call last):
File “/opt/zato/current/bin/zato”, line 183, in
sys.exit(zato.cli.zato_command.main())
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/zato_command.py”, line 262, in main
return run_command(get_parser().parse_args())
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 266, in run_command
command_classargs.command.run(args)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 483, in run
return_code = self.execute(args)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/quickstart.py”, line 247, in execute
os.mkdir(ca_path)
OSError: [Errno 13] Permission denied: ‘/opt/zato/qs-1/ca’

zato@debian:~$

Hi @SimonD,

My final objective is to try and get zato running on a Raspberry Pi 3. From what I have read there are currently no binaries for an ARM processor?

Yes, we only build and test Zato on x86 and x86-64 architectures though this is dictated purely by the demand and expectations of users.

I am trying to get RabbitMQ to send messages to WebsphereMQ V 7.5 (that does not support AMQP) and would like to run zato on the Pi to do this. Do you think that it might be possible? I am reasonably new to Linux but am learning a lot :-).

In principle, yes, but you would definitely need to install Zato from source and then confirm if all the C extensions compile under an ARM processor. If anything does not compile please report it either here in the forum or in GitHub:

https://zato.io/docs/admin/guide/install/source.html

Also, there is a lot of work right now to make AMQP, ZeroMQ and WebSphere MQ channels and outgoing connections use much less RAM

https://zato.io/docs/progguide/channels.html
https://zato.io/docs/progguide/outconn/overview.html

This is mostly done for ZeroMQ - AMQP and WebSphere MQ will follow within about two months. Savings can be quite significant - each definition of a channel or outgoing connection for these three protocols will now take no more than several dozen kB instead of (say) 150-200 MB. Might be of interest in your scenario.

Hi Rafal

I have managed to get it up and running :-), it was an issue with login privileges, I created the qs-1 directory under the “root” user instead of “zato”… duhh!!!

So far so good, I’ll let you know how I go from here :slight_smile:

Many thanks
Simon

I had it up and running but since I restarted the machine and tried to start zato again I get an error with the load ballance

zato@debian:~$ ./qs-1/zato-qs-start.sh
Starting the Zato cluster quickstart-144016
Running sanity checks
[1/6] Redis connection OK
[2/6] SQL ODB connection OK
Traceback (most recent call last):
File “/opt/zato/current/bin/zato”, line 183, in
sys.exit(zato.cli.zato_command.main())
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/zato_command.py”, line 262, in main
return run_command(get_parser().parse_args())
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 266, in run_command
command_classargs.command.run(args)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 483, in run
return_code = self.execute(args)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 711, in execute
return self._get_dispatch()json_data[‘component’]
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/start.py”, line 116, in _on_lb
self.run_check_config()
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/start.py”, line 63, in run_check_config
cc.execute(Bunch(path=’.’, ensure_no_pidfile=True, check_server_port_available=True))
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 711, in execute
return self._get_dispatch()json_data[‘component’]
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/check_config.py”, line 139, in _on_lb
self.ensure_no_pidfile()
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/check_config.py”, line 103, in ensure_no_pidfile
raise Exception('Cannot proceed, found pidfile {}'.format(pidfile))
Exception: Cannot proceed, found pidfile /opt/zato/qs-1/load-balancer/pidfile

zato@debian:~$

Hi,

This happens when zato is not stopped with the provided stop script. It is a bit annoying.
What I usually do to remove the left-over pid files:

From the Zato instance directory (where the start/stop scripts are):

rm find -name pidfile
rm find -name *.pid

Regards, Jan

oops, the backticks got removed, the find command need to be surrounded with backticks (but the markdown parser eats them away).

``rm `find -name pidfile```

``rm `find -name *.pid```

Thanks jjmurre

I had to run this command to clean up the pid files:
$ find . -type f -name “pidfile” -exec rm -f {} ;

Cheers Simon

Ok, I can start and stop zato no problems, I then add a service by copying the my_service.py file into the pickup directory of Server1. When I log into the web-admin and try to view the get-client service I get the following error:

Traceback (most recent call last):
File
"/opt/zato/2.0.7/zato-web-admin/src/zato/admin/web/views/init.py",
line 299, in call
response = self.invoke_admin_service()
File
"/opt/zato/2.0.7/zato-web-admin/src/zato/admin/web/views/init.py",
line 262, in invoke_admin_service
return func(self.service_name, self.input)
File “/opt/zato/2.0.7/zato-web-admin/src/zato/admin/middleware.py”,
line 69, in invoke
response = super(Client, self).invoke(*args,
headers={‘X-Zato-Forwarded-For’: self.forwarder_for}, **kwargs)
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
400, in invoke
return self._invoke(async=False, *args, **kwargs)
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
397, in _invoke
return super(AnyServiceInvoker, self).invoke(dumps(request),
ServiceInvokeResponse, async, headers, output_repeated)
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
334, in invoke
return self.inner_invoke(request, response_class, async, headers)
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
322, in inner_invoke
self.max_cid_repr, self.logger, output_repeated)
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
243, in init
super(ServiceInvokeResponse, self).init(*args, **kwargs)
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
82, in init
self.init()
File “/opt/zato/2.0.7/zato-client/src/zato/client/init.py”, line
181, in init
raise ValueError(msg)
ValueError: inner.status_code 404, JSON parsing error
[K06DP7MS5H55WDN8D9QZSSJBJ8YH] Unknown URL:[/zato/admin/invoke] or SOAP action:[]

This is a section out of the server log, it looks like the my-service starts up ok!

2016-07-07 10:51:04,166 - e[1;37mINFOe[0m - 1313:Dummy-26 - zato.hot-deploy.create:22 - Uploaded package id:[3], payload_name:[my-service.py]
2016-07-07 10:51:51,563 - e[1;31mERRORe[0m - 1312:Dummy-8 - zato.server.connection.http_soap.channel:22 - [K05NXKG50WNE01EK1FZABDE0Q60W] Unknown URL:[/zato/admin/invoke] or SOAP action:[]

I have managed to view the service previously so I believe the script is ok! any ideas please?

Thanks Simon

Hi Rafal
I can no longer get into the web-admin to check.
When I start zato everything looks ok

zato@debian:~/qs-1$ ./zato-qs-start.sh
Starting the Zato cluster quickstart-340947
Running sanity checks
[1/6] Redis connection OK
[2/6] SQL ODB connection OK
[3/6] Load-balancer started
[4/6] server1 started
[5/6] server2 started
[6/6] Web admin started
Zato cluster quickstart-340947 started
Visit https://zato.io/support for more information and support options
zato@debian:~/qs-1$ dir

From here I can copy the my-service.py script into the pickup directory and the log shows it ok but I can not log into the web-admin at all anymore!

When I try to stop or restart it I get this error:

zato@debian:~/qs-1$ ./zato-qs-restart.sh
Stopping the Zato cluster quickstart-340947
Load-balancer /opt/zato/qs-1/load-balancer shutting down
Load-balancer’s agent /opt/zato/qs-1/load-balancer shutting down
[1/4] Load-balancer stopped
Server /opt/zato/qs-1/server1 shutting down
[2/4] server1 stopped
Server /opt/zato/qs-1/server2 shutting down
[3/4] server2 stopped
Traceback (most recent call last):
File “/opt/zato/current/bin/zato”, line 183, in
sys.exit(zato.cli.zato_command.main())
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/zato_command.py”, line 262, in main
return run_command(get_parser().parse_args())
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 266, in run_command
command_classargs.command.run(args)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 483, in run
return_code = self.execute(args)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/init.py”, line 711, in execute
return self._get_dispatch()json_data[‘component’]
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/stop.py”, line 54, in _on_web_admin
self.signal(‘Web admin’, ‘SIGTERM’, signal.SIGTERM)
File “/opt/zato/2.0.7/zato-cli/src/zato/cli/stop.py”, line 38, in signal
os.kill(pid, signal_code)
OSError: [Errno 3] No such process

[4/4] Web admin stopped
Zato cluster quickstart-340947 stopped

Hi Rafal
I have rolled back to an older backup of my virtual machine and can now get back online to web-admin. I don’t seem to have the admin.invoke.jason channel. How can I re-install it please?

Thanks S

Thank you Rafal
I think you are correct, I am building a new VBox machine and will start again from the beginning.
Thank you for you patience, it is greatly appreciated.
Regards Simon