Creating a new presto database view, pasting in
presto://an-coord1001.eqiad.wmnet:8281/analytics_hive?protocol=https
Testing connection yields
ERROR: (builtins.NoneType) None
(Background on this error at: http://sqlalche.me/e/13/dbapi)
This makes sense because we haven't configured security.
Here's the config from production:
{
"metadata_params": {},
"engine_params": {
"connect_args": {
"KerberosConfigPath": "/etc/krb5.conf",
"KerberosKeytabPath": "/etc/security/keytabs/superset/superset.keytab",
"KerberosPrincipal": "superset/an-tool1010.eqiad.wmnet@WIKIMEDIA",
"KerberosRemoteServiceName": "presto",
"requests_kwargs": {
"verify": "/etc/ssl/certs/Puppet_Internal_CA.pem"
}
}
},
"metadata_cache_timeout": {},
"schemas_allowed_for_csv_upload": []
}
Adding the metadata_params and engine_params to their respective fields in the ui WITHOUT updating the principal yield:
An error occurred while creating databases: Connection failed, please check your connection settings
So we change it to "KerberosPrincipal": "superset/an-tool1005.eqiad.wmnet@WIKIMEDIA", and it saves the datasource.
However, checking the box named "Impersonate logged in user (Presto, Trino, Hive, and GSheets)"
yields
ERROR: (builtins.NoneType) None
(Background on this error at: http://sqlalche.me/e/13/dbapi)
Annoying generic error. Let's look on the box to see what it is.
Oct 19 15:33:13 an-tool1005 superset[4687]: 2021-10-19 15:33:13,284:WARNING:superset.views.base:[SupersetError(message='(builtins.NoneType) None\n(Background on this error at: http://sqlalche.me/e/13/dbapi)', error_type=<SupersetErrorType.GENERIC_DB_ENGINE_ERROR: 'GENERIC_DB_ENGINE_ERROR'>, level=<ErrorLevel.ERROR: 'error'>, extra={'engine_name': 'Presto', 'issue_codes': [{'code': 1002, 'message': 'Issue 1002 - The database returned an unexpected error.'}]})]
Still just a totally generic error...