OpenSIPS / opensips-cli

OpenSIPS CLI tool - an interactive command line tool that can be used to control and monitor OpenSIPS servers.
GNU General Public License v3.0
87 stars 48 forks source link

opensips-cli fails to run with sqlite #128

Open ryankurte opened 1 month ago

ryankurte commented 1 month ago

howdy, i'm trying to configure an sqlite database but struggling to find documentation / running into an error.

attempting to configure an sqlite database reports: sqlalchemy.exc.ArgumentError: Could not parse SQLAlchemy URL from string '"sqlite://', and single or double (triple or quadruple) slashes doesn't appear to make a difference.

.opensips-cli.cfg:

[default]
database_url="sqlite:////var/lib/opensips/opensips.sqlite"
database_admin_url="sqlite:////var/lib/opensips/opensips.sqlite"
database_modules="ALL"
full backtrace:

``` opensips-cli -d -x database create DEBUG: using config file /home/ryan/.opensips-cli.cfg Traceback (most recent call last): File "/usr/bin/opensips-cli", line 9, in run_console() File "/usr/bin/opensips-cli", line 6, in run_console main.main() File "/usr/lib/python3/dist-packages/opensipscli/main.py", line 77, in main shell = cli.OpenSIPSCLI(args) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/opensipscli/cli.py", line 90, in __init__ self.update_instance(cfg.current_instance) File "/usr/lib/python3/dist-packages/opensipscli/cli.py", line 166, in update_instance excl_mod = mod.__exclude__(mod) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/opensipscli/modules/database.py", line 469, in __exclude__ return (not osdb.has_dialect(osdb.get_dialect(db_url)), None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/opensipscli/db.py", line 767, in has_dialect sqlalchemy.create_engine('{}://'.format(dialect)) File "", line 2, in create_engine File "/usr/lib/python3/dist-packages/sqlalchemy/util/deprecations.py", line 375, in warned return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/sqlalchemy/engine/create.py", line 518, in create_engine u = _url.make_url(url) ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/sqlalchemy/engine/url.py", line 738, in make_url return _parse_url(name_or_url) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/sqlalchemy/engine/url.py", line 799, in _parse_url raise exc.ArgumentError( sqlalchemy.exc.ArgumentError: Could not parse SQLAlchemy URL from string '"sqlite://' ```

there's also a possibly related issue on the mailing list: https://opensips.org/pipermail/users/2020-August/043637.html, and appears similar to but distinct from https://github.com/OpenSIPS/opensips-cli/issues/66.

i was also wondering if there is any documentation on the expected configuration for the db_sqlite module in the main opensips config? the module page doesn't provide many clues.