ESGF / esgf-installer

ESGF P2P Node Installer
https://esgf.llnl.gov/
Other
20 stars 21 forks source link

index-node only installation fails in esgf-dashboard during install #458

Open alaniwi opened 6 years ago

alaniwi commented 6 years ago

2.6.8c

SQL script /usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/esgf_dashboard-0.0.2-py2.7.egg/esgf-dashboard/schema_migration/versions/008_postgresql_upgrade.sql failed: (ProgrammingError) schema "esgf_node_manager" does not exist
 'drop trigger if exists store_new_entry on esgf_node_manager.access_logging;' {}
Traceback (most recent call last):
  File "/usr/local/conda/envs/esgf-pub/bin/esgf_dashboard_initialize", line 4, in <module>
    __import__('pkg_resources').run_script('esgf-dashboard==0.0.2', 'esgf_dashboard_initialize')
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/pkg_resources/__init__.py", line 657, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1437, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/esgf_dashboard-0.0.2-py2.7.egg/EGG-INFO/scripts/esgf_dashboard_initialize", line 100, in <module>
    main(sys.argv[1:])
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/esgf_dashboard-0.0.2-py2.7.egg/EGG-INFO/scripts/esgf_dashboard_initialize", line 90, in main
    versioning_main(['upgrade'], url=dburl, repository=repo_path, preview_sql=previewSql)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/sqlalchemy_migrate-0.11.0-py2.7.egg/migrate/versioning/shell.py", line 209, in main
    ret = command_func(**kwargs)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/sqlalchemy_migrate-0.11.0-py2.7.egg/migrate/versioning/api.py", line 186, in upgrade
    return _migrate(url, repository, version, upgrade=True, err=err, **opts)
  File "<decorator-gen-15>", line 2, in _migrate
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/sqlalchemy_migrate-0.11.0-py2.7.egg/migrate/versioning/util/__init__.py", line 167, in with_engine
    return f(*a, **kw)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/sqlalchemy_migrate-0.11.0-py2.7.egg/migrate/versioning/api.py", line 366, in _migrate
    schema.runchange(ver, change, changeset.step)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/sqlalchemy_migrate-0.11.0-py2.7.egg/migrate/versioning/schema.py", line 93, in runchange
    change.run(self.engine, step)
  File "/usr/local/conda/envs/esgf-pub/lib/python2.7/site-packages/sqlalchemy_migrate-0.11.0-py2.7.egg/migrate/versioning/script/sql.py", line 63, in run
    conn.execute(statement)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1449, in execute
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1628, in _execute_text
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1698, in _execute_context
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1691, in _execute_context
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/default.py", line 331, in do_execute
sqlalchemy.exc.ProgrammingError: (ProgrammingError) schema "esgf_node_manager" does not exist
 'drop trigger if exists store_new_entry on esgf_node_manager.access_logging;' {}
ERROR: Could not create esgf dashboard database tables in esgcet

Sorry...
This action did not complete successfully
Please re-run this task until successful before continuing further

Maybe this explains the need for the esgf-pub conda environment (#457), but it is clearly relying on some content in the db that does not get set up in the index-only case.

# psql -U dbsuper esgcet

esgcet=# \dn
        List of schemas
        Name        |  Owner   
--------------------+----------
 esgf_dashboard     | dbsuper
 information_schema | postgres
 pg_catalog         | postgres
 pg_toast           | postgres
 pg_toast_temp_1    | postgres
 public             | postgres
(6 rows)

(For my deployment, I will work around by using --type index idp data instead, although this will deploy components which are not needed.)

sashakames commented 6 years ago

Installing the dashboard for anything non-datanode is a mistake and that should be corrected.