Quickstart create error

Hi,
after a long break from toying with Zato I am trying to set up another quickstart cluster.

Running two VMs on this attempt, one of them holds the postgresql database the other the zato installation.

When running this command I get an error about something I believe is missing in the ODB:

zato@ZatoTest:~/esb/qs1$ zato quickstart create ~/esb/qs1 postgresql localhost 6379 --verbose --odb_host 10.47.12.145 --odb_port 5432 --postgresql_schema zato --odb_user zato --odb_db_name zatoODBTest --postgresql_schema zato

I get to step 7(I assume) and errors start showing up:

ODB database password (will not be echoed): 
Enter the odb_password again (will not be echoed): 

Key/value database password (will not be echoed): 
Enter the kvdb_password again (will not be echoed): 
[1/8] Certificate authority created
[2/8] ODB schema created
[3/8] ODB initial data created
[4/8] server1 created
[5/8] server2 created
[6/8] Load-balancer created
Traceback (most recent call last):
  File "/opt/zato/current/bin/zato", line 183, in <module>
    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_class[args.command](args).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 347, in execute
    create_web_admin_args, False, password, True)
  File "/opt/zato/2.0.7/zato-cli/src/zato/cli/create_web_admin.py", line 147, in execute
    call_command('migrate', run_syncdb=True, interactive=False, verbosity=0)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/__init__.py", line 119, in call_command
    return command.execute(*args, **defaults)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/commands/migrate.py", line 172, in handle
    self.sync_apps(connection, executor.loader.unmigrated_apps)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/commands/migrate.py", line 293, in sync_apps
    cursor.execute(statement)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/utils.py", line 95, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 62, in execute
    return self.cursor.execute(sql)
ProgrammingError: relation "django_content_type" does not exist

65 tables have popped up in the zato schema in the database so I know quickstart is able to manipulate the database with the given db user(zato).

Anyone got a tip or two for me?
Thanks

I set it up on xubuntu 16.04 LTS using the ubuntu guide from the docs

zato@ZatoTest:~/esb/qs1$ zato --version
Zato 2.0.7.rev-b4239b81
zato@ZatoTest:~/esb/qs1$ 

Error creating quickstart using postgre ODB on another VM:

zato@ZatoTest:~/esb$ cd qs1/
zato@ZatoTest:~/esb/qs1$ zato quickstart create ~/esb/qs1 postgresql localhost 6379 --verbose --odb_host 10.47.12.145 --odb_port 5432 --postgresql_schema zato --odb_user zato --odb_db_name zatoODBTest --postgresql_schema zato

ODB database password (will not be echoed): 
Enter the odb_password again (will not be echoed): 

Key/value database password (will not be echoed): 
Enter the kvdb_password again (will not be echoed): 
[1/8] Certificate authority created
[2/8] ODB schema created
[3/8] ODB initial data created
[4/8] server1 created
[5/8] server2 created
[6/8] Load-balancer created
Traceback (most recent call last):
  File "/opt/zato/current/bin/zato", line 183, in <module>
    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_class[args.command](args).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 347, in execute
    create_web_admin_args, False, password, True)
  File "/opt/zato/2.0.7/zato-cli/src/zato/cli/create_web_admin.py", line 149, in execute
    call_command('migrate', run_syncdb=True, interactive=False, verbosity=0)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/__init__.py", line 119, in call_command
    return command.execute(*args, **defaults)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/commands/migrate.py", line 204, in handle
    emit_post_migrate_signal(self.verbosity, self.interactive, connection.alias)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/sql.py", line 50, in emit_post_migrate_signal
    using=db)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/dispatch/dispatcher.py", line 192, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/contrib/contenttypes/management.py", line 37, in update_contenttypes
    for ct in ContentType.objects.using(using).filter(app_label=app_label)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/query.py", line 258, in __iter__
    self._fetch_all()
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/query.py", line 1074, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/query.py", line 52, in __iter__
    results = compiler.execute_sql()
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/sql/compiler.py", line 848, in execute_sql
    cursor.execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/utils.py", line 95, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
ProgrammingError: relation "django_content_type" does not exist
LINE 1: ..."."app_label", "django_content_type"."model" FROM "django_co...
                                                             ^

Clean enough I believe…

Before the second attempt I did a DROP SCHEMA zato CASCADE; on the database. Then CREATE SCHEMA zato and ran the same quickstart command.

I will try again as soon as time allows.

No duplicate schema parameter on my end this time . Same result, though… Have dropped the relevant schema in the database before trying again

zato@ZatoTest:~/esb/qs1$ zato quickstart create ~/esb/qs1 postgresql localhost 6379 --verbose --odb_host 10.47.12.145 --odb_port 5432 --postgresql_schema zato --odb_user zato --odb_db_name zatoODBTest

ODB database password (will not be echoed): 
Enter the odb_password again (will not be echoed): 

Key/value database password (will not be echoed): 
Enter the kvdb_password again (will not be echoed): 
[1/8] Certificate authority created
[2/8] ODB schema created
[3/8] ODB initial data created
[4/8] server1 created
[5/8] server2 created
[6/8] Load-balancer created
Traceback (most recent call last):
  File "/opt/zato/current/bin/zato", line 183, in <module>
    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_class[args.command](args).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 347, in execute
    create_web_admin_args, False, password, True)
  File "/opt/zato/2.0.7/zato-cli/src/zato/cli/create_web_admin.py", line 149, in execute
    call_command('migrate', run_syncdb=True, interactive=False, verbosity=0)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/__init__.py", line 119, in call_command
    return command.execute(*args, **defaults)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/commands/migrate.py", line 204, in handle
    emit_post_migrate_signal(self.verbosity, self.interactive, connection.alias)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/core/management/sql.py", line 50, in emit_post_migrate_signal
    using=db)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/dispatch/dispatcher.py", line 192, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/contrib/contenttypes/management.py", line 37, in update_contenttypes
    for ct in ContentType.objects.using(using).filter(app_label=app_label)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/query.py", line 258, in __iter__
    self._fetch_all()
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/query.py", line 1074, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/query.py", line 52, in __iter__
    results = compiler.execute_sql()
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/models/sql/compiler.py", line 848, in execute_sql
    cursor.execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/utils.py", line 95, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/opt/zato/2.0.7/eggs/Django-1.9.3-py2.7.egg/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
ProgrammingError: relation "django_content_type" does not exist
LINE 1: ..."."app_label", "django_content_type"."model" FROM "django_co...
                                                             ^

Hello @badsequel ,

just to double check it I spun up a new Ubuntu 16.04 64-bit VM, installed Zato 2.0.7.rev-b4239b81, used the default version of PostgreSQL that 16.04 ships with and set up a new Zato cluster.

There have been no issues of whatsoever and everything works fine.

@dsuch I will attempt to do the same on my end.

@dr-allcome, did you get past this or still having problems?

Works now. Have no idea on what resolved the issue… :rolling_eyes: